Which combination of steps should the solutions architect take to meet these requirements?
(Choose two.)
Modify the application deployment by building a Docker image that contains the application code. Publish the image to Amazon Elastic Container Registry (Amazon ECR).
Create a new Amazon Elastic Container Service (Amazon ECS) task definition with a compatibility type of AWS Fargate. Configure the task definition to use the new image in Amazon Elastic Container Registry (Amazon ECR). Adjust the Lambda function to invoke an ECS task by using the ECS task definition when a new file arrives in Amazon S3.
Create an AWS Step Functions state machine with a Parallel state to invoke the Lambda function. Increase the provisioned concurrency of the Lambda function.
Create a new Amazon Elastic Container Service (Amazon ECS) task definition with a compatibility type of Amazon EC2. Configure the task definition to use the new image in Amazon Elastic Container Registry (Amazon ECR). Adjust the Lambda function to invoke an ECS task by using the ECS task definition when a new file arrives in Amazon S3.
Modify the application to store images on Amazon Elastic File System (Amazon EFS) and to store metadata on an Amazon RDS DB instance. Adjust the Lambda function to mount the EFS file share.
Explanations:
Building a Docker image and publishing it to Amazon ECR allows the application to run in a containerized environment with custom dependencies. This setup supports larger processing tasks and is compatible with ECS, allowing scalable processing without infrastructure management.
Creating an ECS task definition with Fargate allows the application to run without underlying infrastructure management, and invoking the task via Lambda reduces load and timeout issues. Fargate is serverless, enabling it to handle larger image processing workloads seamlessly without manual scaling.
Increasing provisioned concurrency for the Lambda function does not address the issue of exceeding maximum runtime, which is a core limitation with the larger image sizes. AWS Step Functions would not mitigate Lambda’s runtime limit, as the Lambda execution would still face timeout issues on large tasks.
Using Amazon ECS with EC2 rather than Fargate does not meet the requirement to avoid managing underlying infrastructure, as EC2 instances would require management for scaling and maintenance, which is undesirable for the company. Fargate is a better fit for a serverless approach that requires no infrastructure management.
Storing images on Amazon EFS and metadata on RDS adds unnecessary complexity to the architecture and does not address the runtime limitation issue of Lambda. Additionally, using EFS and RDS would require infrastructure management, which is against the company’s requirements to avoid managing underlying infrastructure.