Question

Difficulty: MediumImplementing Auto Scaling and Fault Tolerance

A smart home IoT provider runs an ingestion service on Amazon EC2 instances in an Auto Scaling group (ASG) behind a Network Load Balancer (NLB) across two Availability Zones. The EC2 instances reside in private subnets and must access the internet to verify device firmware signatures. Outbound internet traffic is routed through a single NAT Gateway in one of the public subnets. During scheduled device update windows, traffic increases instantly by 400%400\%. The ASG fails to launch new instances quickly enough to handle the sudden load, causing connection timeouts. Additionally, any outage in the Availability Zone hosting the NAT Gateway halts firmware verification for all instances. Which two actions should a solutions architect take to resolve these issues?

  1. Deploy a NAT Gateway in each Availability Zone and update the route tables of the private subnets to route outbound traffic through the NAT Gateway in their respective Availability Zone.Answer
  2. Configure an Auto Scaling group warm pool with instances in the Stopped state to quickly scale out and handle the traffic spikes during updates.Answer
  3. C
    Deploy a secondary NAT Gateway in the second Availability Zone and configure a custom script to dynamically update route tables if the primary NAT Gateway fails.
  4. D
    Configure target tracking scaling policies on the Auto Scaling group and set the instance warmup period to 15 seconds to ensure the group continuously adds new instances during the spike.
  5. E
    Submit a support ticket to AWS to pre-warm the Network Load Balancer (NLB) prior to the scheduled device update windows to prevent dropped requests.

Answer

To resolve these issues, the solutions architect should deploy a NAT Gateway in each Availability Zone and configure the route tables of the private subnets to route outbound traffic through their local NAT Gateway. In addition, they should configure an Auto Scaling group warm pool with instances in the Stopped state to handle the traffic spikes rapidly.
Deploying a NAT Gateway in each Availability Zone ensures that if one zone experiences an outage, instances in the remaining zone can still verify firmware signatures. Configuring an Auto Scaling group warm pool with instances in the Stopped state reduces scale-out latency because the instances are already pre-booted and bootstrapped, allowing them to transition to the running state and start serving traffic within seconds.

Step-by-Step Solution

1
Address the outbound connectivity single point of failure.
Deploy a NAT Gateway in each Availability Zone and update the route tables of the private subnets so that instances in each zone route traffic through their local NAT Gateway.
This configuration removes cross-Availability Zone dependency and ensures that an outage in one Availability Zone does not affect outbound traffic in the other.
2
Address the scaling latency under flash traffic surges.
Implement an Auto Scaling group warm pool with instances in the Stopped state.
A warm pool allows instances to complete their boot and initialization scripts beforehand, so they can transition to the active fleet almost instantly when needed.
3
Evaluate the non-viable configurations.
Rule out custom scripting for route tables, setting invalid warmup periods that cause over-provisioning, and requesting unnecessary pre-warming for the Network Load Balancer.
These alternatives either fail to resolve the root cause of the latency or introduce unnecessary operational complexity and architectural risk.

Key Concept

Deploying multi-AZ NAT Gateway redundancy and using Auto Scaling group warm pools to mitigate boot latency during sudden traffic spikes.
Rate this question