Aurora Multi-AZ Auto Scaling for Read-Heavy Ecommerce DB

SAA-C03 By islever Editorial Last updated

Short answer

C Run Amazon Aurora Multi-AZ with Aurora Auto Scaling and Aurora Replicas to absorb unpredictable read load while keeping high availability.

Question

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?
  1. Use Amazon Redshift with a single node for leader and compute functionality.
  2. Use Amazon RDS with a Single-AZ deployment Configure Amazon RDS to add reader instances in a different Availability Zone.
  3. Use Amazon Aurora with a Multi-AZ deployment. Configure Aurora Auto Scaling with Aurora Replicas. Correct Answer
  4. Use Amazon ElastiCache for Memcached with EC2 Spot Instances.

Key Takeaways

The test measures whether you can match read-heavy, unpredictable demand plus high availability to Aurora Multi-AZ with Aurora Auto Scaling replicas; the trap is picking read scaling (RDS read replicas) or availability alone without both.

This SAA-C03 scenario asks how to replace a struggling self-managed MySQL EC2 database with a service that scales read capacity automatically and stays highly available. Aurora Multi-AZ (writer plus readable standby) combined with Aurora Auto Scaling of Aurora Replicas is the only option satisfying both the unpredictable read-scaling and high-availability requirements.

Common mistake: Option B is the most tempting wrong answer because it mentions reader instances in another Availability Zone, but it starts from a Single-AZ deployment, so the primary database has no synchronous standby and readers are added manually rather than scaled automatically for unpredictable load.

Expert Analysis

Why the Answer Is Correct

Option C deploys Amazon Aurora in a Multi-AZ configuration, which places a synchronous standby in a second Availability Zone for fast failover, and adds Aurora Auto Scaling with Aurora Replicas so read capacity grows and shrinks with demand. Aurora is MySQL-8.0-compatible, so the existing application and transaction data migrate with minimal change, and Aurora delivers roughly a 5x throughput improvement over stock MySQL on the same hardware. Aurora Replicas share the same cluster volume as the writer instance, add no write overhead, and are targeted by the Multi-AZ reader endpoint for load balancing. Because the ASG scales on CPU, unpredictable read spikes are absorbed by adding replicas instead of vertical instance resizing, directly meeting the stated requirement.

Official Reference

Exam Strategy

Read the requirement pairs: 'unpredictable read workloads' plus 'high availability' means you need both autoscaled read replicas and a Multi-AZ topology, and only Aurora (or RDS Multi-AZ with replicas) can offer both. On SAA-C03, treat 'automatically scale' as a signal for a managed autoscaling feature, not a manually added instance.

Frequently Asked Questions

Why is RDS with reader instances in another AZ (Option B) not correct?

Option B specifies a Single-AZ deployment, so the primary has no synchronous standby for high availability, and readers are added manually rather than autoscaled for unpredictable read demand.

Can Aurora Auto Scaling replicas replace the MySQL database on EC2 for an ecommerce app?

Yes. Aurora is MySQL-compatible, so schema and drivers carry over, and Aurora Replicas share the cluster volume to add read capacity without extra storage or write overhead.

More SAA-C03 FAQ →

Discussion 50 contributions

Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.

From public community threads 30 of 50

  1. D2w 👍 55 Answered C
    C, AURORA is 5x performance improvement over MySQL on RDS and handles more read requests than write,; maintaining high availability = Multi-AZ deployment
  2. Buruguduystunstugudunstuy 👍 29 Answered C
    Option C, using Amazon Aurora with a Multi-AZ deployment and configuring Aurora Auto Scaling with Aurora Replicas, would be the best solution to meet the requirements. Aurora is a fully managed, MySQL-compatible relational database that is designed for high performance and high availability. Aurora Multi-AZ deployments automatically maintain a synchronous standby replica in a different Availability Zone to provide high availability. Additionally, Aurora Auto Scaling allows you to automatically scale the number of Aurora Replicas in response to read workloads, allowing you to meet the demand of unpredictable read workloads while maintaining high availability. This would provide an automated solution for scaling the database to meet the demand of the application while maintaining high availability.
  3. Buruguduystunstugudunstuy 👍 10
    Option A, using Amazon Redshift with a single node for leader and compute functionality, would not provide high availability. Option B, using Amazon RDS with a Single-AZ deployment and configuring RDS to add reader instances in a different Availability Zone, would not provide high availability and would not automatically scale the number of reader instances in response to read workloads. Option D, using Amazon ElastiCache for Memcached with EC2 Spot Instances, would not provide a database solution and would not meet the requirements.
  4. PhucVuu 👍 6 Answered C
    Keywords: - The database's performance degrades quickly as application load increases. - The application handles more read requests than write transactions. - Automatically scale the database to meet the demand of unpredictable read workloads - Maintaining high availability. A: Incorrect - Amazon Redshift is used columnar block storage which useful Data Analytic and warehouse. It also have the issue when migrate from MySql to Redshift: storage procedure, trigger,.. Single node for leader don't maintaining high availability. B: Incorrect - The requirement said that: "Automatically scale the database to meet the demand of unpredictable read workloads" -> missing auto scaling. C: Correct - it's resolved the issue high availability and auto scaling. D: Incorrect - Stop instance don't maintaining high availability.
  5. big0007 👍 4
    Key words: - Must support MySQL - High Availability (must be mulit-az) - Auto Scaling
Show 25 more comments
  1. OBIOHAnze 👍 3 Answered C
    Here's why C is the best solution: Amazon Aurora: A managed, high-performance MySQL-compatible relational database engine. Multi-AZ deployment: Ensures high availability in case of an AZ failure. Aurora Auto Scaling with Aurora Replicas: Automatically scales read replicas based on traffic, improving read performance.
  2. Tjazz04 👍 3 Answered C
    Keyword: High Availability Only letter C has multi-AZ deployment. Also, it automatically scales replicas for unpredictable read workload
  3. KVK16 👍 3 Answered C
    1. Migration from My SQL, Postgres SQL to Aurora is 5x and 3x times improves performance . Also provision for Read replicas
  4. cookieMr 👍 2 Answered C
    Option C: Using Amazon Aurora with a Multi-AZ deployment and configuring Aurora Auto Scaling with Aurora Replicas is the most appropriate solution. Aurora is a MySQL-compatible relational database engine that provides high performance and scalability. With Multi-AZ deployment, the database is automatically replicated across multiple Availability Zones for high availability. Aurora Auto Scaling allows the database to automatically add or remove Aurora Replicas based on the workload, ensuring that read requests can be distributed effectively and the database can scale to meet demand. This provides both high availability and automatic scaling to handle unpredictable read workloads.
  5. Abrar2022 👍 2
    To automatically scale the database to meet the demand of unpredictable read workloads while maintaining high availability, you can use Amazon Aurora with a Multi-AZ deployment. Aurora is a fully managed, MySQL-compatible database service that can automatically scale up or down based on workload demands. With a Multi-AZ deployment, Aurora maintains a synchronous standby replica in a different Availability Zone (AZ) to provide high availability in the event of an outage.
  6. Guru4Cloud 👍 2 Answered C
    As the application handles more read requests than write transactions, using read replicas with Aurora is an ideal choice as it allows read scaling without sacrificing write performance on the primary instance.
  7. melvis8 👍 2 Answered C
    Using aurora is the best answer for this issue since aurora is ideal for upredictable workloads and we can manage read heavy workloads by deploying the database with aurora replicas
  8. Ndlesty 👍 2 Answered C
    key statement: "...will automatically scale the database to meet the demand of unpredictable read workloads while maintaining high availability.
  9. keezbadger 👍 2
    C is the answer. Aurora is fast, and for this case will support unpredictable workloads through its read replicas. Simple!
  10. Abrar2022 👍 2
    It's Aurora with Multi-AZ deployment - Keywords > "unpredictable read workloads while maintaining high availability"
  11. PaulGa 👍 2 Answered C
    Ans C. Its the only one that offers right level of scaling and availability
  12. ukwafabian 👍 2 Answered C
    "Read workloads" "Maintaining high availability" = Read replica's
  13. NikaCZ 👍 2 Answered C
    Aurora 5x faster and 3x improves performance
  14. 17Master 👍 2 Answered C
    Ans is Aurora
  15. gx2222 👍 1 Answered C
    Amazon Aurora is a relational database engine that is compatible with MySQL and PostgreSQL. It is designed for high performance, scalability, and availability. With a Multi-AZ deployment, Aurora automatically replicates the database to a standby instance in a different Availability Zone. This provides high availability and fast failover in case of a primary instance failure. Aurora Auto Scaling allows you to add or remove Aurora Replicas based on CPU utilization, connections, or custom metrics. This enables you to automatically scale the read capacity of the database in response to application load. Aurora Replicas are read-only instances that can offload read traffic from the primary instance. They are kept in sync with the primary instance using Aurora's distributed storage architecture, which enables low-latency updates across the replicas.
  16. linux_admin 👍 1 Answered C
    Option C: Using Amazon Aurora with a Multi-AZ deployment and configuring Aurora Auto Scaling with Aurora Replicas will provide both read scalability and high availability. Aurora is a MySQL-compatible database that is designed to handle high read workloads. With Aurora's Multi-AZ deployment, a replica will be created in a different Availability Zone for disaster recovery purposes. Aurora Replicas can also be used to scale read workloads by adding read replicas.
  17. Clouddon 👍 1 Answered C
    Use Amazon Aurora with Multi-AZ deployment and Auto Scaling Aurora Replicas to meet unpredictable read demand with high availability, performance, and minimal operational overhead.
  18. suhan_14 👍 1 Answered C
    C is correct. By configuring Aurora with Multi-AZ deployment and auto scaling we can ensure that we can handle the traffic optimally without any downtime.
  19. TariqKipkemei 👍 1 Answered C
    Unpredictable read workloads while maintaining high availability = Amazon Aurora with a Multi-AZ deployment, Auto Scaling with Aurora read replicas.
  20. MichaelCarrasco 👍 1
    The instances run in an Amazon EC2 Auto Scaling group across multiple Availability Zones so you need you database work with Multi AZ too.
  21. Abdel42 👍 1 Answered C
    C because other answers are not a good-fit for the question
  22. nesyto 👍 1 Answered D
    amazon elastic cache would be perfect solution answer is D
  23. javicia 👍 1 Answered D
    D: D: For me, it would be a Redis of reading.
  24. S_K_han 👍 1 Answered C
    C is right as Aurora works well with MySQL
  25. cheese929 👍 1 Answered C
    C is correct since cost is not a concern.

Reader comments & corrections

No reader corrections yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

Practice All SAA-C03 Questions

Access 120 questions with complete answers and detailed explanations.

View Full SAA-C03 Practice Test →

← Back to SAA-C03 Study Guide