
Ultimate access to all questions.
Answer-first summary for fast verification
Answer: 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 server to an Auto Scaling group that is in three Availability Zones.
## Explanation **Correct Answer: A** This solution meets all requirements: 1. **High Availability across three Availability Zones**: - Multi-AZ RDS for MySQL provides automatic failover and high availability - Auto Scaling group in three AZs ensures web tier resilience - ElastiCache for Redis with high availability provides fault-tolerant caching 2. **Scalability for sudden traffic increases**: - Auto Scaling group can automatically scale web servers based on demand - ElastiCache for Redis can scale to handle increased session data and caching needs - Multi-AZ RDS can handle increased database load 3. **Session state management**: - ElastiCache for Redis is ideal for storing session data as it provides persistence and high availability - Redis supports data structures and persistence features that are well-suited for session storage **Why other options are incorrect**: **Option B**: ElastiCache for Memcached doesn't have built-in high availability features like Redis. Memcached is an in-memory cache without persistence, making it less suitable for critical session data storage. **Option C**: Migrating to DynamoDB changes the database type from relational to NoSQL, which may require significant application changes. While DynamoDB is scalable, it may not be the best choice if the application relies on MySQL-specific features or complex queries. **Option D**: RDS in a single Availability Zone doesn't provide high availability. If that AZ fails, the database becomes unavailable, violating the high availability requirement across three AZs. **Key AWS Services Used**: - **Amazon RDS Multi-AZ**: Provides high availability with automatic failover - **Amazon ElastiCache for Redis**: Offers high availability with replication and automatic failover, suitable for session storage - **Auto Scaling Groups**: Enables automatic scaling of web servers across multiple AZs - **Application Load Balancer**: Distributes traffic across multiple instances in different AZs
Author: LeetQuiz Editorial Team
No comments yet.
A company runs a three-tier web application in the AWS Cloud that operates across three Availability Zones. The application architecture has an Application Load Balancer, an Amazon EC2 web server that hosts user session states, and a MySQL database that runs on an EC2 instance. The company expects sudden increases in application traffic. The company wants to be able to scale to meet future application capacity demands and to ensure high availability across all three Availability Zones.
Which solution will meet these requirements?
A
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 server to an Auto Scaling group that is in three Availability Zones.
B
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 server to an Auto Scaling group that is in three Availability Zones.
C
Migrate the MySQL database to Amazon DynamoDB. Use DynamoDB Accelerator (DAX) to cache reads. Store the session data in DynamoDB. Migrate the web server to an Auto Scaling group that is in three Availability Zones.
D
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 server to an Auto Scaling group that is in three Availability Zones.