Question

Difficulty: MediumImplementing Auto Scaling and Fault Tolerance

A logistics company runs its delivery dispatch application on Amazon EC2 instances in an Auto Scaling group (ASG) behind an Application Load Balancer (ALB) across three Availability Zones. The instances download a 1.5 GB1.5\text{ GB} application package and perform database schema checks during bootstrapping, which takes approximately 8 minutes8\text{ minutes} (480 seconds480\text{ seconds}) to complete. The company experiences a predictable daily surge in API requests at 8:00 AM. During this surge, users experience connection failures, and the ALB returns HTTP 503 Service Unavailable errors. The ASG launches a large number of unnecessary instances during scale-out, resulting in high compute costs. Additionally, the outbound traffic to third-party maps APIs fails entirely if Availability Zone us-east-1a experiences an outage, as all subnets currently route outbound traffic through a single NAT Gateway in us-east-1a.

Which two actions should the Solutions Architect take to improve the application's fault tolerance and address the scaling issues? (Select TWO.)

  1. Configure the Auto Scaling group's target tracking policy with an estimated instance warmup of 540 seconds540\text{ seconds} to prevent premature subsequent scale-out activities during bootstrapping.Answer
  2. Deploy a NAT Gateway in each of the three Availability Zones, and update the route tables of the private subnets in each zone to route internet-bound traffic through their respective local NAT Gateway.Answer
  3. C
    Decrease the Auto Scaling group's default cooldown period to 120 seconds120\text{ seconds} to force the scaling policy to evaluate metrics more frequently and terminate redundant instances faster.
  4. D
    Request that AWS Support permanently pre-warm the Application Load Balancer to its maximum anticipated capacity, avoiding the need to scale out the EC2 instance tier.
  5. E
    Create a backup NAT Gateway in Availability Zone us-east-1b, configure a Route 53 active-passive failover routing policy, and update the route tables to point outbound traffic to a Route 53 alias record.

Answer

To resolve the scaling and fault tolerance issues, the Solutions Architect should set the Auto Scaling group's estimated instance warmup to 540 seconds to cover the bootstrapping period and deploy a dedicated NAT Gateway in each Availability Zone with updated subnet routing tables.
The correct answer combines modifying the scaling metrics warmup parameter and updating the outbound routing structure. Setting the estimated instance warmup to 540 seconds prevents premature scale-out events by allowing the full 8-minute bootstrapping process to complete before checking metrics again. Deploying local NAT Gateways per Availability Zone and updating the route tables ensures outbound internet availability is isolated within each zone, achieving high availability.

Step-by-Step Solution

1
Analyze the bootstrapping timeline against scaling policy parameters.
The bootstrapping duration is 8 minutes (480 seconds), while the current scaling triggers do not account for this, causing premature launches.
Adjusting the estimated instance warmup to a value higher than 480 seconds (such as 540 seconds) tells the target tracking policy to wait until the new instance has warmed up before including it in metrics calculations or triggering further scaling actions.
2
Evaluate outbound routing architecture for external dependencies.
A single NAT Gateway in us-east-1a creates a single point of failure for all three Availability Zones.
By deploying a NAT Gateway in each of the three zones and modifying the respective private subnets' route tables to use their local NAT Gateway, Availability Zone fault isolation is achieved.

Key Concept

Configuring appropriate warmup/cooldown settings for Auto Scaling Groups to match bootstrapping durations, and implementing Multi-AZ NAT Gateway redundancy to prevent single points of failure.

Alternative Method

A complementary approach would be to build a custom AMI that pre-packages the 1.5 GB application package, thereby reducing the bootstrapping time to under 1 minute. Combining this custom AMI with an Auto Scaling warm pool allows instances to launch almost instantly, eliminating both the over-scaling and connection failures during the 8:00 AM surge.
Estimated Time:2m 30s
Rate this question