Question

Difficulty: Very hardImplementing Auto Scaling and Fault Tolerance

A high-throughput API ingestion service runs on Amazon EC2 instances inside an Auto Scaling group (ASG) deployed across 33 Availability Zones (AZAAZ-A, AZBAZ-B, and AZCAZ-C). The instances reside in private subnets, and the ASG is placed behind an Application Load Balancer (ALB). The application instances require custom configuration scripts during launch, resulting in a total initialization and bootstrapping time of 360360 seconds before they can register as healthy targets. The platform experiences two major operational issues: first, every day at exactly 08:0008:00 UTC, a scheduled partner integration triggers a massive, instantaneous influx of API requests, causing immediate HTTP 503503 (Service Unavailable) errors on the ALB for the first 1010 minutes; second, during scaling activities, the ASG frequently launches more instances than required, leading to unnecessary costs. Furthermore, a recent outage in AZAAZ-A prevented instances in AZBAZ-B and AZCAZ-C from making outbound licensing API calls, which are routed through a single NAT Gateway located in AZAAZ-A. Which combination of actions should a Solutions Architect implement to address these scaling, reliability, and cost issues?

  1. A
    Deploy a secondary NAT Gateway in AZBAZ-B and update the route tables of the private subnets in AZBAZ-B and AZCAZ-C to use the new NAT Gateway. Configure a scheduled scaling action to scale out the Auto Scaling group 1515 minutes before 08:0008:00 UTC, and request AWS Support to pre-warm the Application Load Balancer for the anticipated daily spike. Set the default cooldown and instance warmup periods on the Auto Scaling group to 400400 seconds.
  2. Deploy a NAT Gateway in each Availability Zone and update the route tables of each private subnet to direct outbound internet traffic to the NAT Gateway in its own zone. Configure a scheduled scaling action to scale out the Auto Scaling group 1515 minutes before 08:0008:00 UTC, and request AWS Support to pre-warm the Application Load Balancer for the anticipated daily spike. Set the default cooldown and instance warmup periods on the Auto Scaling group to 400400 seconds.Answer
  3. C
    Deploy a NAT Gateway in each Availability Zone and update the route tables of each private subnet to direct outbound internet traffic to the NAT Gateway in its own zone. Configure a scheduled scaling action to scale out the Auto Scaling group 1515 minutes before 08:0008:00 UTC, and request AWS Support to pre-warm the Application Load Balancer for the anticipated daily spike. Set the default cooldown and instance warmup periods on the Auto Scaling group to 180180 seconds.
  4. D
    Deploy a NAT Gateway in each Availability Zone and update the route tables of each private subnet to direct outbound internet traffic to the NAT Gateway in its own zone. Configure a target tracking scaling policy based on the average CPU utilization metric with a target value of 60%60\%, and set the instance warmup time to 400400 seconds. Set the default cooldown period to 400400 seconds.

Answer

Deploy a NAT Gateway in each Availability Zone and update the route tables of each private subnet to direct outbound internet traffic to the NAT Gateway in its own zone. Configure a scheduled scaling action to scale out the Auto Scaling group 1515 minutes before 08:0008:00 UTC, and request AWS Support to pre-warm the Application Load Balancer for the anticipated daily spike. Set the default cooldown and instance warmup periods on the Auto Scaling group to 400400 seconds.
The correct response resolves all specified requirements. By deploying a NAT Gateway in each of the three Availability Zones, egress traffic is fully isolated at the zone level, ensuring that an outage in one zone does not disrupt licensing API calls in the others. Requesting AWS Support to pre-warm the Application Load Balancer and configuring a scheduled scaling policy to scale out the Auto Scaling group 1515 minutes before 08:0008:00 UTC ensures that both the load balancer and the targets (which take 360360 seconds to bootstrap) are ready before the predictable spike occurs, eliminating HTTP 503503 errors. Finally, adjusting the cooldown and instance warmup periods to 400400 seconds (which is greater than the 360360-second initialization duration) ensures the Auto Scaling group waits for newly launched instances to become healthy and start reporting metrics before evaluating further scaling actions, preventing over-provisioning.

Step-by-Step Solution

1
Configure egress redundancy by provisioning a NAT Gateway in each of the three Availability Zones (AZAAZ-A, AZBAZ-B, and AZCAZ-C).
Three separate NAT Gateways are active across the three zones.
This removes the single point of failure by ensuring that an outage in one zone does not affect internet-bound traffic from instances in other zones.
2
Configure route tables in each zone to point internet-bound traffic (0.0.0.0/00.0.0.0/0) to the NAT Gateway residing within the corresponding Availability Zone.
Outbound traffic from each subnet is localized to its respective Availability Zone.
This establishes fault isolation and eliminates cross-zone routing dependencies.
3
Submit a support ticket to AWS to pre-warm the Application Load Balancer in preparation for the daily 08:0008:00 UTC traffic burst.
The Application Load Balancer is pre-scaled to handle the sudden, massive volume of requests.
Application Load Balancers scale gradually; a massive, instantaneous surge will result in HTTP 503503 errors unless the load balancer is pre-warmed.
4
Establish a scheduled scaling policy to scale out the Auto Scaling group 1515 minutes prior to the 08:0008:00 UTC surge, and set the default cooldown and instance warmup to 400400 seconds.
Instances are launched, fully bootstrapped, and healthy before the spike begins, and the Auto Scaling group does not launch redundant instances.
A 1515-minute buffer allows the 360360-second bootstrapping process to finish. Ensuring the warmup and cooldown periods exceed 360360 seconds prevents metric lag from triggering unnecessary secondary scale-out actions.

Key Concept

Configuring resilient egress architecture, pre-warming load balancers for flash traffic, and aligning Auto Scaling cooldown periods with instance initialization times.
Estimated Time:3m 0s
Rate this question