A media broadcasting platform operates a real-time interactive audience response system on Amazon EC2 instances in an Auto Scaling Group (ASG) behind an Application Load Balancer (ALB). The instances run in private subnets across two Availability Zones (AZ-A and AZ-B). A single NAT Gateway is deployed in AZ-A to enable outbound internet access for API integrations.
During a scheduled live broadcast, traffic spikes instantly from 500 requests per second to over 80,000 requests per second within 90 seconds. The application experiences elevated latencies, HTTP 503 Service Unavailable errors, and connection timeouts. A review of CloudWatch metrics shows:
1. The ALB drops connections immediately at the start of the traffic surge due to capacity constraints before it can scale.
2. The ASG launches new instances in response to CPU utilization metrics, but because the custom application initialization script takes 150 seconds to complete, the ASG continues to launch additional, unnecessary instances every 60 seconds.
3. An infrastructure outage in AZ-A causes outbound API calls on instances in AZ-B to fail.
Which combination of actions will resolve the scalability and fault-tolerance issues while preventing the provisioning of unnecessary instances?
- Submit a request to AWS Support to pre-warm the Application Load Balancer prior to the scheduled broadcast. Deploy a NAT Gateway in AZ-B, and update the route table of the private subnets in AZ-B to route outbound traffic to the local NAT Gateway. Configure the Auto Scaling Group's scaling policy with an instance warmup period of 180 seconds.Answer
- BRely on the Application Load Balancer's automatic scaling behavior to handle the traffic surge. Deploy a NAT Gateway in AZ-B, and update the route table of the private subnets in AZ-B to route outbound traffic to the local NAT Gateway. Configure the Auto Scaling Group's scaling policy with an instance warmup period of 180 seconds.
- CSubmit a request to AWS Support to pre-warm the Application Load Balancer prior to the scheduled broadcast. Deploy a NAT Gateway in AZ-B, and update the route table of the private subnets in AZ-B to route outbound traffic to the local NAT Gateway. Configure the Auto Scaling Group to use simple scaling policies with a cooldown period of 60 seconds to rapidly provision resources.
- DSubmit a request to AWS Support to pre-warm the Application Load Balancer prior to the scheduled broadcast. Retain the single NAT Gateway in AZ-A to optimize costs, and establish a cross-AZ route from the private subnets in AZ-B to the NAT Gateway in AZ-A. Configure the Auto Scaling Group's scaling policy with an instance warmup period of 180 seconds.