Question #1940
A company operates a monolithic application hosted on an Amazon EC2 instance with Amazon RDS. The application's tightly coupled architecture restricts it to running on a single EC2 instance. During peak traffic periods, the EC2 instance exhibits high CPU utilization, which correlates with slower read query performance on RDS. The company aims to mitigate the CPU overload and enhance read operation efficiency.
Which solution addresses these requirements?
Resize the EC2 instance to a larger instance type. Set up an Auto Scaling group with min/max size of 1. Create an RDS read replica and redirect read requests to it while keeping write traffic on the primary instance.
Resize the EC2 instance to a larger instance type. Configure an Auto Scaling group with min/max size of 1. Add an RDS read replica and redirect all read/write traffic to the replica.
Configure an Auto Scaling group with min size 1 and max size 3. Resize the RDS instance to a larger instance type and enable Multi-AZ deployment.
Resize both the EC2 and RDS instances to larger instance types. Configure an Auto Scaling group with min/max size of 1.
Explanation
Option A is correct because resizing the EC2 instance to a larger type reduces CPU utilization, addressing the overload. Creating an RDS read replica allows read queries to be redirected, reducing load on the primary RDS and improving read efficiency. The Auto Scaling group with min/max size 1 ensures high availability without violating the application's single-instance constraint.
Option B is incorrect because redirecting write traffic to a read replica is invalid—RDS read replicas are read-only. Option C suggests scaling EC2 instances, which the application's architecture prohibits, and Multi-AZ deployment does not improve read performance. Option D does not address read query offloading, leaving RDS read performance unimproved.
Key Points:
- Tightly coupled applications may require vertical scaling (resizing) instead of horizontal scaling.
- RDS read replicas handle read traffic, reducing load on the primary instance.
- Auto Scaling groups with min/max size 1 ensure instance replacement without scaling beyond one instance.
Answer
The correct answer is: B