Which solution will meet these requirements?
Create an AMI of the existing EC2 instance. Create an Auto Scaling group of EC2 instances behind an Application Load Balancer. Configure the Auto Scaling group to have a minimum of three instances.
Use AWS Transfer Family to create an FTP server that places the files in Amazon Elastic File System (Amazon EFS). Mount the EFS volume to the existing EC2 instance. Point the EC2 instance to the new path for file processing.
Use AWS Transfer Family to create an FTP server that places the files in Amazon S3. Use an S3 event notification through Amazon Simple Notification Service (Amazon SNS) to invoke an AWS Lambda function. Configure the Lambda function to add the metadata and update the delivery system.
Update the handheld devices to place the files directly in Amazon S3. Use an S3 event notification through Amazon Simple Queue Service (Amazon SQS) to invoke an AWS Lambda function. Configure the Lambda function to add the metadata and update the delivery system.
Explanations:
While creating an Auto Scaling group of EC2 instances can improve availability and distribute load, it does not address the issue of files not being archived or the central system being updated. The use of FTP still remains a bottleneck, and without changing the upload mechanism, the existing connection issues will persist.
Using AWS Transfer Family with Amazon EFS may improve file storage, but it does not resolve the core issues of reliability and scalability. The EC2 instance would still depend on FTP, and rebooting it every 30 minutes will not ensure that files are consistently archived or that the central system is updated reliably.
This option utilizes AWS Transfer Family to handle FTP uploads directly to Amazon S3, removing the need for a single EC2 instance that can fail. The integration of S3 event notifications to trigger a Lambda function ensures that metadata is added and the delivery system is updated in real-time, significantly enhancing reliability and scalability.
Although this option suggests a direct upload to Amazon S3, it requires modifications to the handheld devices, which is not permissible. Therefore, this option cannot be implemented as specified in the scenario.