Question

Difficulty: MediumImplementing Auto Scaling and Fault Tolerance

A media company hosts a live video commentating platform on Amazon EC2 instances inside an Auto Scaling Group (ASG) behind an Application Load Balancer (ALB). The instances require 7 minutes to download application dependencies and initialize the service before passing target group health checks. During sudden high-profile broadcasts, traffic surges instantly, causing the ALB to return multiple HTTP 503 Service Unavailable errors. In addition, the ASG launches far more instances than necessary during these spikes, resulting in high resource over-provisioning costs. All outbound traffic from the instances is routed via a single NAT Gateway located in a single public subnet. The architecture must be modified to prevent HTTP 503 errors, prevent instance over-provisioning, and remove any single points of failure for outbound traffic. Which combination of architectural modifications will resolve these issues?

  1. Deploy a NAT Gateway in each Availability Zone where application instances reside, request ALB pre-warming from AWS Support prior to the scheduled live events, and configure the Auto Scaling Group scaling policy cooldown or warm-up period to 480 seconds.Answer
  2. B
    Keep the single NAT Gateway in a single public subnet to reduce operational costs, request ALB pre-warming from AWS Support prior to the scheduled live events, and configure the Auto Scaling Group scaling policy cooldown or warm-up period to 120 seconds.
  3. C
    Deploy a NAT Gateway in each Availability Zone where application instances reside, rely on the default Application Load Balancer auto-scaling behavior to handle the sudden traffic spikes, and configure the Auto Scaling Group scaling policy cooldown or warm-up period to 480 seconds.
  4. D
    Deploy a NAT Gateway in each Availability Zone where application instances reside, request ALB pre-warming from AWS Support prior to the scheduled live events, and configure the Auto Scaling Group scaling policy cooldown or warm-up period to 120 seconds.

Answer

Deploy a NAT Gateway in each Availability Zone where application instances reside, request ALB pre-warming from AWS Support prior to the scheduled live events, and configure the Auto Scaling Group scaling policy cooldown or warm-up period to 480 seconds.
The correct option addresses all design constraints. Deploying a NAT Gateway in each Availability Zone ensures outbound internet routing is redundant across zones. Requesting ALB pre-warming allows the load balancer to handle flash traffic immediately without dropping packets. Configuring a 480-second scaling cooldown/warm-up period allows the new instances up to 8 minutes to boot and start serving traffic before another scaling action is evaluated, preventing capacity over-provisioning.

Step-by-Step Solution

1
Address outbound traffic fault tolerance.
Identify that the single NAT Gateway is a single point of failure, requiring deployment of a NAT Gateway in each Availability Zone.
Outbound traffic must be highly available and resilient to Availability Zone outages.
2
Address flash traffic scaling issues on the load balancer.
Request ALB pre-warming from AWS Support prior to scheduled events.
Default ALB auto-scaling is gradual and cannot cope with instantaneous traffic surges, which leads to HTTP 503 errors.
3
Address Auto Scaling Group over-provisioning due to instance boot latency.
Configure the ASG scaling policy cooldown or warm-up period to 480 seconds.
Setting the cooldown/warm-up period to be longer than the 7-minute (420-second) boot time prevents the ASG from launching additional instances before the previously launched instances become healthy and contribute to CPU reduction.

Key Concept

Configuring resilient multi-AZ architectures with appropriate scaling cooldown thresholds to match instance bootstrap latency, alongside pre-warming load balancers for scheduled traffic spikes.
Rate this question