How should the company migrate the application to AWS to meet these requirements?
Migrate the containers that run the application to Amazon Elastic Kubernetes Service (Amazon EKS). Use Amazon S3 to store the transaction data that the containers share.
Migrate the containers that run the application to AWS Fargate for Amazon Elastic Container Service (Amazon ECS). Create an Amazon Elastic File System (Amazon EFS) file system. Create a Fargate task definition. Add a volume to the task definition to point to the EFS file system.
Migrate the containers that run the application to AWS Fargate for Amazon Elastic Container Service (Amazon ECS). Create an Amazon Elastic Block Store (Amazon EBS) volume. Create a Fargate task definition. Attach the EBS volume to each running task.
Launch Amazon EC2 instances. Install Docker on the EC2 instances. Migrate the containers to the EC2 instances. Create an Amazon Elastic File System (Amazon EFS) file system. Add a mount point to the EC2 instances for the EFS file system.
Explanations:
Amazon S3 is not suitable for shared, low-latency, file-based storage, as it is designed for object storage and does not support mounting for containerized applications in real-time transactional workloads.
AWS Fargate with Amazon ECS eliminates the need to manage container infrastructure, and Amazon EFS provides scalable, shared file storage with low latency, making it ideal for unpredictable transaction volumes in the application.
Amazon EBS volumes cannot be shared between multiple containers or tasks, making them unsuitable for shared storage requirements across containers within AWS Fargate.
Running containers on EC2 instances with Docker would require continued infrastructure management, which the company wants to avoid, and EFS could be managed more easily using AWS Fargate.