AWS Certified Solutions Architect - Professional / Question #1010 of 529

Question #1010

A global web application hosted on a single Amazon EC2 instance experiences frequent outages during traffic surges. The application performs read-heavy operations on an Amazon RDS for PostgreSQL database. Restarting the EC2 instance is currently required to recover from outages. A solutions architect must improve availability with the least development effort. Which solution meets this requirement?

A

Set up an Amazon CloudFront distribution with the EC2 instance as the origin. Configure an RDS Multi-AZ deployment and direct read operations to the standby instance.

B

Deploy the application on EC2 instances in an Auto Scaling group behind an Application Load Balancer. Migrate the database to Amazon Aurora PostgreSQL and use Aurora Replicas for read operations.

C

Implement AWS Global Accelerator for traffic distribution. Use RDS Multi-AZ and route read queries to the standby instance.

D

Migrate the application to AWS Lambda and Amazon API Gateway. Create RDS read replicas to handle read operations.

Explanation

The correct answer is B. Here's why:

- Auto Scaling & ALB: Deploying EC2 instances in an Auto Scaling group behind an Application Load Balancer (ALB) ensures the application scales horizontally during traffic surges, eliminating the single point of failure. The ALB distributes traffic across instances.
- Aurora PostgreSQL with Replicas: Migrating to Amazon Aurora PostgreSQL allows using Aurora Replicas for read-heavy operations, offloading the primary database. Aurora Replicas are natively managed and require minimal code changes compared to RDS read replicas.

Why other options fail:
- A: CloudFront only caches static content and does not address EC2 scaling. RDS Multi-AZ's standby is not designed for read operations.
- C: Global Accelerator optimizes traffic routing but does not resolve EC2 scaling. RDS Multi-AZ standby cannot handle reads.
- D: Migrating to Lambda/API Gateway requires significant re-architecture, conflicting with 'least development effort.'

Key Points:
1. Auto Scaling + ALB ensures compute availability.
2. Aurora Replicas handle read scaling with minimal code changes.
3. Avoid solutions requiring major architectural changes (e.g., serverless).

Answer

The correct answer is: B