Which solution will meet these requirements?
Deploy the application containers by using Amazon Elastic Container Service (Amazon ECS) with the Fargate launch type. Use Amazon Elastic File System (Amazon EFS) for shared storage. Reference the EFS file system ID, container mount point, and EFS authorization IAM role in the ECS task definition.
Deploy the application containers by using Amazon Elastic Container Service (Amazon ECS) with the Fargate launch type. Use Amazon FSx for Lustre for shared storage. Reference the FSx for Lustre file system ID, container mount point, and FSx for Lustre authorization IAM role in the ECS task definition.
Deploy the application containers by using Amazon Elastic Container Service (Amazon ECS) with the Amazon EC2 launch type and auto scaling turned on. Use Amazon Elastic File System (Amazon EFS) for shared storage. Mount the EFS file system on the ECS container instances. Add the EFS authorization IAM role to the EC2 instance profile.
Deploy the application containers by using Amazon Elastic Container Service (Amazon ECS) with the Amazon EC2 launch type and auto scaling turned on. Use Amazon Elastic Block Store (Amazon EBS) volumes with Multi-Attach enabled for shared storage. Attach the EBS volumes to ECS container instances. Add the EBS authorization IAM role to an EC2 instance profile.
Explanations:
Amazon ECS with Fargate allows for serverless container deployment, eliminating the need for infrastructure management. Amazon EFS provides a fully managed, scalable file storage solution that supports NFSv4, making it a suitable choice for shared storage across containers. The task definition can easily include the EFS file system ID and necessary IAM roles, aligning with the requirements for a secure and scalable solution.
While Amazon ECS with Fargate is suitable, Amazon FSx for Lustre is primarily optimized for high-performance workloads and is not a fully managed NFS solution like EFS. FSx for Lustre is also more complex to manage and configure, which does not meet the requirement for minimal infrastructure management.
Although using ECS with the EC2 launch type and EFS for shared storage is viable, it requires management of EC2 instances, which contradicts the requirement for a solution that does not need provisioning or management of underlying infrastructure. This approach involves more complexity due to the need to manage the EC2 instances and scaling.
Using Amazon ECS with the EC2 launch type and EBS volumes requires provisioning and managing EC2 instances, which goes against the need for a serverless architecture. EBS is not designed for shared access among multiple instances like EFS or FSx, and it does not support NFSv4, making it unsuitable for this application architecture.