A company operates a legacy web application on Amazon EC2 instances within an Auto Scaling Group (ASG) behind an Application Load Balancer (ALB). The application queries a single Amazon RDS for PostgreSQL database instance. During a recent marketing campaign, the application suffered from severe performance degradation. Monitoring reveals that the EC2 fleet experiences delayed scale-out responses because new instances take 8 minutes to bootstrap, while the scaling cooldown is set to 2 minutes. Additionally, the RDS database is overwhelmed by read queries, and its gp3 storage volume is hitting its IOPS limit.
Which set of actions should a solutions architect recommend to optimize both compute and storage performance under these conditions?
- Create an Amazon RDS PostgreSQL Read Replica to offload read traffic, update the application to route reads to the replica, and configure an Auto Scaling Group warm pool with pre-warmed instances.Cevap
- BEnable Multi-AZ deployment for the Amazon RDS PostgreSQL database to distribute read queries to the standby instance, and increase the gp3 volume size to scale the storage throughput.
- CReduce the ASG cooldown period to 30 seconds to trigger faster scaling actions, and modify the RDS gp3 volume to provision higher IOPS and throughput.
- DContact AWS Support to pre-warm the Application Load Balancer to handle the scale-out load, and enable RDS Storage Autoscaling to automatically scale the database storage.
Cevap
Create an Amazon RDS PostgreSQL Read Replica to offload read traffic, update the application to route reads to the replica, and configure an Auto Scaling Group warm pool with pre-warmed instances.
The correct option addresses the storage bottleneck by offloading read queries to an RDS Read Replica, which is the standard design pattern for scaling database reads. It addresses the compute performance bottleneck by using an Auto Scaling Group warm pool to keep pre-initialized instances ready, bypassing the 8-minute bootstrap delay during scale-out events.
Adım Adım Çözüm
Anahtar Kavram
Scaling read capacity using RDS Read Replicas and reducing compute initialization latency using ASG Warm Pools.