Question

Difficulty: MediumOptimizing Compute and Storage Performance

A company runs a genomic data processing application on Amazon EC2 instances in an Auto Scaling group. The instances process large datasets downloaded from Amazon S3. The input files are written to 200 GiB Amazon EBS gp3 volumes configured with default IOPS and throughput (3,000 IOPS and 125 MiB/s). During peak processing, CloudWatch metrics show that the EBS volumes are constantly throttled at the 125 MiB/s throughput limit, causing high CPU wait times. Additionally, when the queue size increases, the Auto Scaling group launches new instances. However, because it takes 10 minutes to bootstrap the instances (downloading software and reference databases), the scaling metric remains high, causing the Auto Scaling group to continuously launch unnecessary instances during this startup period. Which two actions should the solutions architect take to resolve these performance and scaling issues?

  1. Increase the throughput of the gp3 EBS volumes to 500 MiB/s to eliminate the storage I/O bottleneck.Answer
  2. Create a custom AMI containing the pre-installed software and reference databases, and configure the scaling policy's warm-up timer to match the remaining initialization time.Answer
  3. C
    Decrease the Auto Scaling group's cooldown period to 60 seconds to allow the fleet to scale out more rapidly when the queue size increases.
  4. D
    Deploy an Application Load Balancer in front of the EC2 instances and request AWS Support to pre-warm the load balancer to handle the sudden burst of requests.
  5. E
    Configure Amazon Aurora Auto Scaling on the EBS volumes and enable multi-AZ read replication to scale out storage performance.

Answer

Increase the throughput of the gp3 EBS volumes to 500 MiB/s to eliminate the storage I/O bottleneck, and create a custom AMI containing the pre-installed software and reference databases, while configuring the scaling policy's warm-up timer to match the remaining initialization time.
The correct options identify that gp3 volumes support independent throughput tuning up to 1,000 MiB/s, which resolves the disk bottleneck. Furthermore, reducing EC2 bootstrapping duration by baking software into a custom AMI, and setting a proper warm-up period in the Auto Scaling group scaling policy, prevents the group from over-provisioning instances before they are fully online.

Step-by-Step Solution

1
Analyze the storage bottleneck.
The gp3 EBS volumes are limited to the default 125 MiB/s throughput. This can be resolved by increasing the throughput parameter of the gp3 volume up to 1,000 MiB/s.
Since the CPU cores are waiting on storage I/O, increasing EBS throughput to 500 MiB/s will allow faster read/write operations and eliminate the CPU wait times.
2
Analyze the scaling bottleneck.
Bootstrapping takes 10 minutes, which is longer than the scaling evaluation window, leading to over-provisioning.
By creating a custom AMI with the required dependencies pre-installed, we significantly reduce the startup time. Combining this with a scale-out warm-up period ensures the Auto Scaling group does not launch duplicate instances while the active ones are warming up.

Key Concept

Optimizing compute scaling dynamics and storage performance by tuning EBS throughput and reducing EC2 instance bootstrap times.
Rate this question