Question

Difficulty: HardImplementing Auto Scaling and Fault Tolerance

A financial technology firm operates an algorithmic trading data collection service on Amazon EC2 instances in an Auto Scaling group (ASG) across three Availability Zones. The instances reside in private subnets and send real-time market telemetry to external API endpoints. The instances require a 6-minute bootstrapping process to download and compile trading configurations before they can begin collecting data. Every day at 09:30 UTC, when markets open, telemetry traffic surges by 400% in under 1 minute, causing the Application Load Balancer (ALB) to return HTTP 503 errors for the first 10 minutes. During this surge, the ASG launches excessive instances that end up idle and inflate costs. Furthermore, a failure in Availability Zone A disrupts all outbound telemetry from instances in other zones. Which two actions should a solutions architect take to resolve these issues and optimize scalability and fault tolerance? (Select TWO.)

  1. Deploy a NAT Gateway in each of the three Availability Zones, and configure the route tables of the private subnets in each zone to route internet-bound traffic through the local NAT Gateway in that specific zone.Answer
  2. Change the Auto Scaling group scaling policy to target tracking, and set the instance warmup period to 420 seconds to ensure the system waits for new instances to complete bootstrapping before launching more.Answer
  3. C
    Configure a single NAT Gateway in Availability Zone A, and create a cross-AZ route in the route tables of the other Availability Zones pointing to a secondary standby NAT Gateway in Availability Zone B.
  4. D
    Configure a step scaling policy for the Auto Scaling group, and reduce the default cooldown period to 180 seconds to allow the group to react more rapidly to the sudden scale-out signals during market open.
  5. E
    Submit a request to AWS Support to pre-warm the Application Load Balancer to handle the daily morning spike, and rely on the Application Load Balancer's automatic scaling for the rest of the day.

Answer

To resolve these issues, deploy a NAT Gateway in each of the three Availability Zones with localized route tables, and change the Auto Scaling group scaling policy to target tracking with an instance warmup period set to 420 seconds.
Deploying a NAT Gateway in each Availability Zone provides high availability and fault tolerance for outbound internet-bound traffic, removing the single point of failure associated with a single NAT Gateway. In addition, setting the Auto Scaling group instance warmup period to 420 seconds (which is longer than the 6-minute bootstrapping time) ensures that the scaling policy does not continuously launch unnecessary instances during the boot phase, as it allows the newly launched instances to begin processing requests and lower the average metric before another scaling decision is made.

Step-by-Step Solution

1
Address the single point of failure in outbound traffic routing.
Deploying a dedicated NAT Gateway in each of the three Availability Zones and pointing each private subnet's route table to its local NAT Gateway ensures that an outage in one zone does not impact outbound telemetry from the remaining active zones.
This establishes Availability Zone independence and high availability for outbound traffic.
2
Address the instance over-provisioning and scaling latency during bootstrapping.
Transition to a target tracking policy and configure the instance warmup to 420 seconds (7 minutes).
Since the bootstrapping process takes 6 minutes (360 seconds), the warmup period must be longer than this boot duration. This tells the Auto Scaling group to wait until the new instances are fully operational and contributing metrics before evaluating if additional instances are required, preventing excessive scale-out.

Key Concept

Configuring Multi-AZ NAT Gateways for fault tolerance and optimizing Auto Scaling group warmup periods to match instance bootstrapping times to prevent metric lag issues.
Rate this question