Question

Difficulty: MediumImplementing Auto Scaling and Fault Tolerance

An enterprise runs a data processing application on Amazon EC2 instances within an Auto Scaling Group (ASG) deployed across three Availability Zones (AZs) behind an Application Load Balancer. The application instances take approximately 8 minutes to download a large proprietary dataset, bootstrap services, and pass load balancer health checks. During sudden workload spikes, the ASG scales out based on a target tracking policy, but it consistently launches far more EC2 instances than necessary, leading to underutilized resources and high costs. Additionally, all outbound internet traffic from the private subnets in all three AZs is routed through a single NAT Gateway located in the first AZ.

Which combination of changes should a Solutions Architect implement to optimize the auto-scaling behavior and ensure high availability for outbound traffic?

  1. Configure the instance warmup time in the target tracking scaling policy to 600 seconds. Deploy a NAT Gateway in each of the three Availability Zones, and update the private subnet route tables to direct outbound traffic to the local NAT Gateway in its respective Availability Zone.Answer
  2. B
    Configure the instance warmup time in the target tracking scaling policy to 180 seconds. Deploy a NAT Gateway in each of the three Availability Zones, and update the private subnet route tables to direct outbound traffic to the local NAT Gateway in its respective Availability Zone.
  3. C
    Configure the instance warmup time in the target tracking scaling policy to 600 seconds. Keep the single NAT Gateway in the first Availability Zone, and add a secondary Elastic IP address to it to handle the traffic load from all three Availability Zones.
  4. D
    Submit a request to AWS Support to pre-warm the Application Load Balancer to handle the traffic spikes. Keep the single NAT Gateway in the first Availability Zone, and configure cross-zone load balancing to distribute outbound traffic equally.

Answer

Configure the instance warmup time in the target tracking scaling policy to 600 seconds. Deploy a NAT Gateway in each of the three Availability Zones, and update the private subnet route tables to direct outbound traffic to the local NAT Gateway in its respective Availability Zone.
The correct option addresses the bootstrapping delay by setting the scaling policy's instance warmup time to 600 seconds (longer than the 8-minute bootstrapping time), preventing premature scale-out. It also ensures fault tolerance by deploying a dedicated NAT Gateway in each Availability Zone, removing the single point of failure for outbound internet traffic.

Step-by-Step Solution

1
Analyze the instance bootstrapping time and configure the target tracking scaling policy.
Set the instance warmup to 600 seconds, which is greater than the 8 minutes (480 seconds) required for an instance to become ready.
This prevents the scaling policy from launching additional instances prematurely while the initial scaling action is still bootstrapping.
2
Analyze the outbound routing architecture for the private subnets.
Deploy a NAT Gateway in each of the three Availability Zones.
Having a NAT Gateway in each Availability Zone ensures that if one zone fails, outbound connectivity for the remaining zones is not interrupted.
3
Update route tables for the private subnets in each Availability Zone.
Point the 0.0.0.0/0 route in each private subnet's route table to the NAT Gateway in its respective Availability Zone.
This creates a localized, fault-tolerant path to the internet for each zone.

Key Concept

Optimizing Auto Scaling policies for long bootstrapping times and ensuring high availability for outbound traffic via NAT Gateways.
Estimated Time:2m 0s
Rate this question