Question

Difficulty: HardImplementing Auto Scaling and Fault Tolerance

A collaborative real-time whiteboarding SaaS platform runs its synchronization and rendering service on Amazon EC2 instances in an Auto Scaling Group (ASG) behind an Application Load Balancer (ALB). The application requires a complex 4-minute bootstrapping process to download large canvas asset libraries and initialize cache connections before it can accept active WebSocket connections.

During unexpected viral collaboration events, the platform experiences significant latency spikes and dropped WebSocket connections. Analysis reveals the following:
* When traffic surges, new EC2 instances are launched, but before they complete their 4-minute bootstrap and cache warm-up, the ASG launches additional instances because CPU utilization remains high. This results in severe over-provisioning and subsequent thrashing.
* The outbound connection requests from the application instances to external third-party collaboration APIs fail completely if a single Availability Zone (AZ) encounters an outage, even though the instances are distributed across three AZs. A single NAT Gateway is currently deployed in one public subnet.
* Sudden bursts of flash traffic at the start of scheduled corporate workshops cause HTTP 503 Service Unavailable errors on the ALB for the first 5 minutes of the burst.

Which two actions should the solutions architect take to meet these requirements? (Select two.)

  1. Configure a NAT Gateway in a public subnet within each Availability Zone where the application instances are deployed, and update the private route tables to route outbound traffic to the local NAT Gateway within their respective zone.Answer
  2. Configure the Auto Scaling Group's scaling policies to use an instance warmup time of 300 seconds to allow instance bootstrapping to complete before adding metrics to the group's aggregate.Answer
  3. C
    Deploy a Route 53 active-active failover policy targeting a single NAT Gateway, and update all private route tables to utilize the Route 53 endpoint for transitive outbound routing.
  4. D
    Set the Auto Scaling Group's scaling policy cooldown period to 120 seconds to allow the group to quickly launch additional instances if CPU utilization remains high during the initial traffic spike.
  5. E
    Configure the Application Load Balancer to automatically trigger pre-warming requests via an AWS Lambda function triggered by Application Load Balancer target group metric alarms.

Answer

Deploy a NAT Gateway in a public subnet within each Availability Zone where the application instances are deployed, and update the private route tables to route outbound traffic to the local NAT Gateway within their respective zone. In addition, configure the Auto Scaling Group's scaling policies to use an instance warmup time of 300 seconds to allow instance bootstrapping to complete before adding metrics to the group's aggregate.
Deploying a NAT Gateway in each Availability Zone and mapping it to local route tables isolates outbound routing to individual zones, removing the single point of failure. Setting the instance warmup period to 300 seconds ensures that newly launched instances do not contribute to scaling metrics until they are fully bootstrapped (taking 4 minutes), which prevents premature and excessive scaling.

Step-by-Step Solution

1
Analyze the bootstrap latency issue.
Identify that the 4-minute bootstrap process causes a delay in instances reporting nominal load, meaning scaling metrics remain artificially high.
This shows that the instance warmup time must be configured to be greater than 240 seconds to prevent metric aggregation overlap.
2
Address the outbound routing failure during an Availability Zone outage.
Identify that routing traffic from all subnets through a single NAT Gateway creates a single point of failure.
Deploying a NAT Gateway in each Availability Zone creates a zone-redundant routing architecture for outbound API traffic.
3
Verify correct configurations for both scaling metrics and network redundancy.
Confirm that configuring a 300-second warmup time and deploying three NAT Gateways matches the application's performance and availability goals.
This directly resolves the scaling thrashing and the outbound API communication issues.

Key Concept

Auto Scaling warmup settings must exceed instance boot times to prevent premature scaling, and multi-AZ NAT Gateways must be used to ensure fault-tolerant outbound connectivity.
Rate this question