
Answer-first summary for fast verification
Answer: Use AWS Transfer Family to create an FTP server to store incoming files in Amazon S3 Standard. Create an AWS Lambda function to process the files and to delete the files after they are processed. Use an S3 event notification to invoke the Lambda function when the files arrive.
## Explanation **Option D is the correct answer** because it meets all requirements in the most operationally efficient way: ### Key Requirements Analysis: 1. **Process files as soon as possible** - The company wants near-real-time processing, not overnight batch processing 2. **Minimal changes to FTP clients** - AWS Transfer Family provides a managed FTP service that's compatible with existing FTP clients 3. **Delete files after successful processing** - Lambda function can handle this automatically 4. **Processing time 3-8 minutes per file** - Lambda functions can run up to 15 minutes, which fits the requirement 5. **Operational efficiency** - Managed services reduce operational overhead ### Why Option D is Best: - **AWS Transfer Family**: Managed FTP service that requires no EC2 management - **Amazon S3 Standard**: Scalable, durable storage with event notifications - **AWS Lambda**: Serverless compute that processes files immediately upon arrival via S3 event notifications - **Automatic deletion**: Lambda can delete files after processing - **Cost-effective**: Pay-per-use model with no idle resources ### Why Other Options Are Incorrect: **Option A**: - Uses S3 Glacier Flexible Retrieval (cold storage) which has retrieval delays - Processes files nightly (not "as soon as possible") - Requires EC2 management for FTP server **Option B**: - Processes files nightly (not "as soon as possible") - Uses EBS volume which has scalability limitations - Requires EC2 management for FTP server **Option C**: - Uses AWS Transfer Family (good), but stores files on EBS volume - EBS has scalability limitations compared to S3 - Uses AWS Batch which is better for longer-running jobs, not 3-8 minute processing - S3 event notification wouldn't work with EBS storage ### Architecture Benefits of Option D: 1. **Immediate processing**: S3 event notifications trigger Lambda within seconds 2. **Scalability**: S3 scales automatically, Lambda handles concurrent file processing 3. **Managed services**: No server management required 4. **Cost optimization**: Only pay for actual processing time 5. **Reliability**: S3 provides 99.999999999% durability This solution provides the most operationally efficient approach by leveraging fully managed AWS services that require minimal operational overhead while meeting all business requirements.
Author: LeetQuiz Editorial Team
Ultimate access to all questions.
No comments yet.
A data analytics company wants to migrate its batch processing system to AWS. The company receives thousands of small data files periodically during the day through FTP. An on-premises batch job processes the data files overnight. However, the batch job takes hours to finish running.
The company wants the AWS solution to process incoming data files as soon as possible with minimal changes to the FTP clients that send the files. The solution must delete the incoming data files after the files have been processed successfully. Processing for each file needs to take 3-8 minutes.
Which solution will meet these requirements in the MOST operationally efficient way?
A
Use an Amazon EC2 instance that runs an FTP server to store incoming files as objects in Amazon S3 Glacier Flexible Retrieval. Configure a job queue in AWS Batch. Use Amazon EventBridge rules to invoke the job to process the objects nightly from S3 Glacier Flexible Retrieval. Delete the objects after the job has processed the objects.
B
Use an Amazon EC2 instance that runs an FTP server to store incoming files on an Amazon Elastic Block Store (Amazon EBS) volume. Configure a job queue in AWS Batch. Use Amazon EventBridge rules to invoke the job to process the files nightly from the EBS volume. Delete the files after the job has processed the files.
C
Use AWS Transfer Family to create an FTP server to store incoming files on an Amazon Elastic Block Store (Amazon EBS) volume. Configure a job queue in AWS Batch. Use an Amazon S3 event notification when each file arrives to invoke the job in AWS Batch. Delete the files after the job has processed the files.
D
Use AWS Transfer Family to create an FTP server to store incoming files in Amazon S3 Standard. Create an AWS Lambda function to process the files and to delete the files after they are processed. Use an S3 event notification to invoke the Lambda function when the files arrive.