Question #1556
A company operates a three-tier e-commerce platform on AWS spanning three Availability Zones. The architecture includes an Application Load Balancer, Amazon EC2 instances for web servers that manage user session states, and a MySQL database hosted on an EC2 instance. The company anticipates unpredictable traffic surges and wants to ensure the platform can scale efficiently while maintaining high availability across all three AZs. Which solution meets these requirements?
Migrate the MySQL database to Amazon RDS for MySQL with a Multi-AZ DB cluster deployment. Use Amazon ElastiCache for Redis with high availability to store session data and to cache reads. Migrate the web servers to an Auto Scaling group spanning three Availability Zones.
Migrate the MySQL database to Amazon RDS for MySQL with a Multi-AZ DB cluster deployment. Use Amazon ElastiCache for Memcached with high availability to store session data and to cache reads. Migrate the web servers to an Auto Scaling group spanning three Availability Zones.
Migrate the MySQL database to Amazon DynamoDB. Use DynamoDB Accelerator (DAX) to cache reads. Store the session data in DynamoDB. Migrate the web servers to an Auto Scaling group spanning three Availability Zones.
Migrate the MySQL database to Amazon RDS for MySQL in a single Availability Zone. Use Amazon ElastiCache for Redis with high availability to store session data and to cache reads. Migrate the web servers to an Auto Scaling group spanning three Availability Zones.
Explanation
The correct answer is A because:
1. RDS Multi-AZ: Ensures high availability for the MySQL database with automatic failover.
2. ElastiCache Redis (HA): Redis supports replication and persistence, making it suitable for storing session data reliably and caching reads.
3. Auto Scaling across three AZs: Distributes EC2 instances to handle traffic surges while maintaining availability.
Other options fail because:
- B: Memcached lacks native replication, risking session data loss.
- C: Migrating to DynamoDB may require application changes, and DynamoDB isn't ideal for session storage compared to Redis.
- D: Single-AZ RDS lacks automatic failover, violating high availability requirements.
Key Points:
- Use Multi-AZ RDS for HA databases.
- ElastiCache Redis (with HA) is optimal for session management.
- Auto Scaling across AZs ensures scalable and resilient web tier.
Answer
The correct answer is: A