A company is designing a new portal that will experience highly variable read traffic to its relational database. The database tier must scale horizontally and automatically to handle peak read loads while maintaining high availability. Which configuration should a solutions architect recommend to scale the database's read capacity?
- Deploy Amazon Aurora MySQL with Aurora Replicas and configure an Application Auto Scaling policy to dynamically scale the number of replicas based on CPU utilization.Answer
- BDeploy Amazon Aurora MySQL in a Multi-AZ configuration and configure the application to send read queries to the standby writer instance in the secondary Availability Zone during peak hours.
- CDeploy an Application Load Balancer in front of the database and request AWS Support to pre-warm it before peak hours to handle the increased read query volume.
- DConfigure Aurora Auto Scaling to add Aurora Replicas, setting the scale-out cooldown period to 10 seconds so that the cluster launches multiple replicas immediately during a traffic spike before the first replica finishes provisioning.
Answer
Deploy Amazon Aurora MySQL with Aurora Replicas and configure an Application Auto Scaling policy to dynamically scale the number of replicas based on CPU utilization.
Deploying Amazon Aurora MySQL with Aurora Replicas and configuring an Application Auto Scaling policy based on CPU utilization is the standard AWS best practice for handling highly variable read workloads. Aurora Replicas share the same underlying storage volume as the writer instance, resulting in sub-10ms replication lag, and can be dynamically scaled up and down based on target tracking policies.
Step-by-Step Solution
Key Concept
Horizontal read scaling in Amazon Aurora using reader replicas and Application Auto Scaling.