Question

Difficulty: MediumImplementing Auto Scaling and Fault Tolerance

An application is hosted on Amazon EC2 instances in an Auto Scaling group behind an Application Load Balancer. The application performs external payment verification by sending outbound API requests over the internet. Currently, all outbound internet traffic is routed through a single NAT Gateway in a single Availability Zone. The application experiences sudden, brief traffic spikes. During these spikes, the application suffers from performance degradation because new instances take 10 minutes to bootstrap, while the Auto Scaling group scale-out cooldown is configured to 300 seconds. Additionally, a recent localized outage in one Availability Zone caused all outbound payment verification requests to fail.

Which of the following actions should the Solutions Architect take to improve the auto-scaling responsiveness and fault tolerance of the architecture? (Select TWO.)

  1. Deploy a NAT Gateway in each Availability Zone utilized by the Auto Scaling group, and update the private subnet route tables to direct outbound traffic to the local NAT Gateway.Answer
  2. Configure an Auto Scaling group warm pool to maintain pre-initialized instances in a Stopped state, and increase the scale-out cooldown period to exceed the bootstrap time.Answer
  3. C
    Decrease the Auto Scaling group scale-out cooldown period to 60 seconds to allow the group to respond more rapidly to subsequent traffic spikes.
  4. D
    Keep the single NAT Gateway in its current Availability Zone and add a route in all private subnet route tables pointing to the NAT Gateway to ensure high availability.
  5. E
    Contact AWS Support to pre-warm the Application Load Balancer to handle the bootstrap delay of the EC2 instances.

Answer

Deploy a NAT Gateway in each Availability Zone and update the route tables, and configure an Auto Scaling group warm pool with an increased scale-out cooldown period.
To ensure fault tolerance for outbound internet traffic, a NAT Gateway must be deployed in each Availability Zone. This ensures that a failure in one zone does not disrupt internet access for instances in other zones. Additionally, configuring a warm pool allows instances to be pre-initialized, which drastically reduces the time required to handle sudden traffic spikes. Adjusting the scale-out cooldown period to be longer than the bootstrap time prevents the Auto Scaling group from launching extra, unnecessary instances before the initial scaling action takes effect.

Step-by-Step Solution

1
Address the outbound connectivity fault tolerance.
NAT Gateways are deployed in each active Availability Zone, and private subnet route tables are updated to point to the NAT Gateway in the same zone.
This removes the single point of failure for outbound payment verification requests.
2
Address the instance boot latency.
A warm pool is configured with instances in a stopped state.
This allows instances to be pre-initialized (bootstrapped) and quickly brought into service during scale-out events, reducing the scaling delay.
3
Correct the cooldown thrashing.
The scale-out cooldown period is increased to match or exceed the bootstrap time.
This ensures the Auto Scaling group waits for the newly launched instances to begin sending metrics before evaluating if further scaling is needed.

Key Concept

Implementing Auto Scaling and Fault Tolerance
Rate this question