Question

Difficulty: MediumOptimizing Compute and Storage Performance

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?

  1. 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.Answer
  2. B
    Enable 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.
  3. C
    Reduce the ASG cooldown period to 30 seconds to trigger faster scaling actions, and modify the RDS gp3 volume to provision higher IOPS and throughput.
  4. D
    Contact 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.

Answer

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.

Step-by-Step Solution

1
Analyze the database performance bottleneck.
Identified that RDS PostgreSQL is overwhelmed by read queries and hitting gp3 IOPS limits.
To resolve read capacity limitations on primary RDS instances, read replicas must be introduced to offload the query volume.
2
Analyze the compute scaling lag bottleneck.
Identified that the 8-minute bootstrap time is much longer than the 2-minute cooldown, causing delayed scale-out.
Using an ASG warm pool allows instances to run initialization scripts and remain in a stopped state, allowing them to join the active fleet in seconds rather than minutes.
3
Combine the optimized storage and compute configurations.
Create read replica, update application connection strings, and establish the ASG warm pool.
This dual approach directly addresses both the I/O storage bottleneck and the compute bootstrap latency.

Key Concept

Scaling read capacity using RDS Read Replicas and reducing compute initialization latency using ASG Warm Pools.
Rate this question