A digital sports media company is preparing for a live-streamed championship event that is expected to attract millions of concurrent viewers within a -minute window. The application runs on Amazon EC2 instances in an Auto Scaling group (ASG) behind an Application Load Balancer (ALB). The application reads and writes user profile and viewing state data to an Amazon Aurora PostgreSQL DB cluster consisting of one writer instance in Availability Zone (AZ) A and one reader instance in AZ B.
During load testing, the following performance issues are observed:
- A sudden, massive flood of requests at the start of the event causes the ALB to drop connections and return HTTP 503 (Service Unavailable) errors before the ASG or ALB can scale out.
- The reporting and leaderboard dashboard queries, which are read-heavy, cause significant CPU utilization spikes on the primary writer instance because the application is currently configured to connect to the DB cluster endpoint for all operations.
Which combination of architectural modifications will optimize the compute and storage layers to handle the event's performance requirements?
- Submit a support ticket to AWS to pre-warm the Application Load Balancer based on the expected traffic profile. Update the dashboard application configuration to use the reader endpoint of the Aurora DB cluster to distribute the read queries across the available Aurora Replicas.Answer
- BConfigure a target tracking scaling policy for the Application Load Balancer based on the ALBRequestCountPerTarget metric. Update the dashboard application configuration to use the reader endpoint of the Aurora DB cluster to distribute the read queries across the available Aurora Replicas.
- CSubmit a support ticket to AWS to pre-warm the Application Load Balancer based on the expected traffic profile. Modify the Aurora DB cluster to enable Multi-AZ deployment with a standby instance, and configure the dashboard application to use the standby instance IP address to serve read queries.
- DConfigure a target tracking scaling policy for the Application Load Balancer based on the ALBRequestCountPerTarget metric. Modify the Aurora DB cluster to enable Multi-AZ deployment with a standby instance, and configure the dashboard application to use the standby instance IP address to serve read queries.