A company provides real-time financial market analytics through a multi-tier API hosted on AWS. The application runs on Amazon EC2 instances managed by an Auto Scaling Group (ASG) behind an Application Load Balancer (ALB). The instances must fetch external market data feeds via the internet, which currently routes through a single NAT Gateway deployed in a public subnet of a single Availability Zone (AZ).
During unscheduled economic announcements, the platform experiences sudden traffic surges of up to the baseline within 2 minutes. This leads to HTTP 503 and 504 errors on the ALB, and outbound API calls fail completely if the AZ containing the NAT Gateway suffers an outage.
An audit of the environment reveals the following:
* The EC2 instances require exactly to download configurations, compile proprietary analytical libraries, and fully initialize.
* The ASG uses a Target Tracking scaling policy based on Average CPU Utilization, with the default cooldown set to and the instance warmup set to .
* The ALB health check is configured as a TCP check on port 80, which succeeds within of instance launch (as soon as the web daemon starts), before library compilation is complete.
* During scaling events, the ASG over-provisions instances rapidly, followed by aggressive scale-in actions that terminate instances before they process any traffic.
Which combination of architectural modifications will resolve the availability, scaling, and fault tolerance issues?
- AIncrease the Auto Scaling group's default cooldown to to prevent the group from launching additional instances before bootstrapping completes. Configure the ALB health check grace period to to delay traffic delivery. Deploy a standby NAT Gateway in a secondary Availability Zone and configure Route 53 routing policies to fail over outbound internet traffic from the primary NAT Gateway during an outage.
- BSubmit an AWS Support request to pre-warm the Application Load Balancer to handle the sudden flash traffic. Increase the default cooldown to and configure the ALB health check grace period to to ensure traffic is not sent to instances during bootstrapping. Deploy a single highly available NAT Gateway in a shared services VPC and route all outbound traffic through a Transit Gateway.
- Configure a scale-out lifecycle hook to hold instances in a wait state during bootstrapping, and update the target tracking policy's instance warmup to . Modify the ALB health check to target an HTTP endpoint that returns success only after initialization completes. Deploy one NAT Gateway per Availability Zone, and update the route tables to route outbound traffic through the local NAT Gateway.Cevap
- DConfigure a Step Scaling policy with a cooldown of using a custom CloudWatch metric that measures active application sessions. Configure a NAT Instance fleet in an Auto Scaling group across multiple Availability Zones to replace the NAT Gateway, using Route 53 health checks to update the route tables dynamically during a failure.