Question

Difficulty: MediumModernizing Workloads using Containers (ECS and EKS)

An enterprise is migrating a legacy, stateful Java application to AWS. The application consists of a public-facing web frontend and a background worker that processes messages from an Amazon SQS queue. The migration requires the web frontend to scale dynamically, the background worker to operate with minimum idle compute costs, and the entire deployment to have the lowest possible operational overhead. The enterprise also mandates high availability across multiple Availability Zones and strict network isolation within private subnets, while allowing the background worker to securely poll SQS and download external updates. Which of the following architectures meets these requirements with the least operational overhead?

  1. A
    Deploy both the web application and the background worker as Amazon ECS services on AWS Fargate using the awsvpc network mode across three Availability Zones, and route outbound internet traffic from all private subnets through a single NAT Gateway in one Availability Zone to minimize baseline hourly charges.
  2. Deploy both the web application and the background worker as Amazon ECS services on AWS Fargate using the awsvpc network mode, placing the container tasks in private subnets across multiple Availability Zones with a NAT Gateway deployed in each Availability Zone for outbound internet access.Answer
  3. C
    Deploy both the web application and the background worker as Amazon ECS services on AWS Fargate, configuring the tasks with the host network mode to optimize network throughput and bypass the overhead of Elastic Network Interfaces (ENIs).
  4. D
    Deploy the web application and the background worker in separate member account VPCs on AWS Fargate using the awsvpc network mode, and resolve internal endpoints using a centralized Route 53 Private Hosted Zone that is created in a shared services account but not associated with the member VPCs.

Answer

Deploying the web application and background worker on Amazon ECS using the AWS Fargate launch type with the awsvpc network mode, combined with multi-AZ private subnets and redundant NAT Gateways, meets all operational, security, and high availability requirements.
The correct answer correctly utilizes AWS Fargate to run containers serverlessly, meeting the requirement for low operational overhead. It configures the tasks with the awsvpc network mode, which is the only network mode supported by Fargate, providing network isolation with dedicated Elastic Network Interfaces. Finally, it ensures high availability by distributing the tasks across multiple Availability Zones and deploying a NAT Gateway in each zone, preventing a single point of failure for outbound traffic.

Step-by-Step Solution

1
Identify the compute launch type that minimizes infrastructure management and operational overhead.
Select AWS Fargate, which is a serverless compute engine for containers and removes the need to provision or manage EC2 instances.
The requirement specifies minimizing operational overhead.
2
Identify the required network mode for container security, isolation, and compatibility with AWS Fargate.
Select the awsvpc network mode.
AWS Fargate only supports the awsvpc network mode, which assigns a dedicated Elastic Network Interface (ENI) to each task for secure VPC communication.
3
Design the networking topology to ensure high availability and prevent single points of failure for outbound internet traffic.
Deploy the tasks across multiple Availability Zones and configure route tables to point to a local NAT Gateway in each Availability Zone.
A single NAT Gateway creates a single point of failure for outbound traffic if its host zone becomes unavailable.

Key Concept

Modernizing legacy workloads using Amazon ECS on AWS Fargate with proper VPC network configuration and redundant egress routing.
Estimated Time:2m 0s
Rate this question