
Answer-first summary for fast verification
Answer: Use Amazon Aurora with a Multi-AZ deployment. Configure Aurora Auto Scaling with Aurora Replicas.
## Explanation **Correct Answer: C - Use Amazon Aurora with a Multi-AZ deployment. Configure Aurora Auto Scaling with Aurora Replicas.** ### Why Option C is Correct: 1. **Amazon Aurora with Multi-AZ deployment**: - Provides high availability with automatic failover - Aurora is MySQL and PostgreSQL compatible, so it can replace the existing MySQL 8.0 database - Multi-AZ ensures database resilience across Availability Zones 2. **Aurora Auto Scaling with Aurora Replicas**: - Aurora Replicas are designed specifically for read scaling - Aurora Auto Scaling can automatically add or remove read replicas based on workload demands - This addresses the requirement to "automatically scale the database to meet the demand of unpredictable read workloads" - Since the application "handles more read requests than write transactions," read replicas are ideal 3. **Performance Benefits**: - Aurora provides better performance than standard RDS MySQL - Aurora Replicas share the same underlying storage as the primary instance, reducing replication lag - Can handle up to 15 read replicas (compared to 5 for RDS) ### Why Other Options are Incorrect: **A. Amazon Redshift with a single node**: - Redshift is a data warehousing solution, not suitable for transactional ecommerce applications - Single node doesn't provide high availability - Not designed for OLTP workloads like ecommerce transactions **B. Amazon RDS with Single-AZ deployment**: - Single-AZ deployment doesn't provide high availability - While RDS read replicas can help with read scaling, they require manual management - Aurora provides better performance and automatic scaling capabilities **D. Amazon ElastiCache for Memcached with EC2 Spot Instances**: - ElastiCache is a caching service, not a primary database solution - Spot Instances can be terminated, compromising availability - Doesn't solve the database scaling problem, only provides caching layer - Memcached doesn't provide persistence like a database ### Key Requirements Met: - ✅ Automatically scales database for unpredictable read workloads (Aurora Auto Scaling) - ✅ Maintains high availability (Multi-AZ deployment) - ✅ Compatible with existing MySQL 8.0 database - ✅ Handles read-heavy workload efficiently - ✅ Provides better performance than current EC2-hosted MySQL
Author: LeetQuiz Editorial Team
Ultimate access to all questions.
No comments yet.
A company runs an ecommerce application on Amazon EC2 instances behind an Application Load Balancer. The instances run in an Amazon EC2 Auto Scaling group across multiple Availability Zones. The Auto Scaling group scales based on CPU utilization metrics. The ecommerce application stores the transaction data in a MySQL 8.0 database that is hosted on a large EC2 instance. The database's performance degrades quickly as application load increases. The application handles more read requests than write transactions. The company wants a solution that will automatically scale the database to meet the demand of unpredictable read workloads while maintaining high availability.
Which solution will meet these requirements?
A
Use Amazon Redshift with a single node for leader and compute functionality.
B
Use Amazon RDS with a Single-AZ deployment. Configure Amazon RDS to add reader instances in a different Availability Zone.
C
Use Amazon Aurora with a Multi-AZ deployment. Configure Aurora Auto Scaling with Aurora Replicas.
D
Use Amazon ElastiCache for Memcached with EC2 Spot Instances.