Skip to main content
  1. Home
  2. >
  3. AWS
  4. >
  5. SAA-C03
  6. >
  7. AWS SAA-C03 Exam Scenarios
  8. >
  9. RDS Read Replica vs Multi-AZ Choice | SAA-C03

RDS Read Replica vs Multi-AZ Choice | SAA-C03

Jeff Taakey
Author
Jeff Taakey
21+ Year Enterprise Architect | Multi-Cloud Architect & Strategist.

While preparing for the AWS SAA-C03, many candidates get confused by RDS deployment patterns. In the real world, this is fundamentally a decision about Read Scalability vs. High Availability. Let’s drill into a simulated scenario.

The Scenario
#

StreamVault Media operates a publicly accessible movie catalog service. Their metadata database stores information about film releases, directors, ratings, and availability across streaming platforms. Currently, this catalog runs on an Amazon RDS MySQL instance in a single Availability Zone.

Each day, an automated analytics script runs at unpredictable intervals to:

  • Query newly added movie entries from the past 24 hours
  • Aggregate totals by genre, release date, and region
  • Generate reports for the content acquisition team during business hours

The development team has raised concerns: whenever the analytics script executes, the database becomes sluggish, impacting their ability to test new catalog features and API endpoints.

The VP of Engineering has tasked you with resolving this read contention issue while maintaining the lowest operational burden on the small DevOps team.

Key Requirements
#

Eliminate performance degradation caused by analytics queries without introducing significant operational complexity or requiring application code changes.

The Options
#

  • A) Migrate the RDS instance to a Multi-AZ deployment and route all read queries to the primary Availability Zone.
  • B) Migrate the RDS instance to a Multi-AZ deployment and configure the analytics script to query the standby replica in the secondary Availability Zone.
  • C) Provision an RDS Read Replica and reconfigure the analytics script to target the Read Replica endpoint exclusively.
  • D) Deploy Amazon ElastiCache in front of the database and cache the results of frequently executed analytics queries.

Correct Answer
#

C) Provision an RDS Read Replica and reconfigure the analytics script to target the Read Replica endpoint exclusively.

Step-by-Step Winning Logic
#

This solution targets the root cause: read workload contention on a single compute resource.

Why Read Replicas Win:

  1. Read Offloading: The analytics script’s SELECT-heavy queries are diverted to a separate database instance with dedicated CPU/memory.
  2. Asynchronous Replication: RDS automatically replicates data from primary to replica with minimal (<1 second) lag for non-time-critical analytics.
  3. Zero Application Disruption: Developers continue using the primary endpoint; only the script connection string changes.
  4. Low Operational Overhead: AWS manages replication, backups, and patching—no manual synchronization required.

Cost-Benefit Reality:

  • For a db.t3.medium MySQL instance ($62/mo), adding a Read Replica costs ~$62/mo additional.
  • This $62 investment eliminates performance incidents that could delay feature releases worth $10K+ in developer time.

💎 Professional-Level Analysis
#

This section breaks down the scenario from a professional exam perspective, focusing on constraints, trade-offs, and the decision signals used to eliminate incorrect options.

🔐 Expert Deep Dive: Why Options Fail
#

This walkthrough explains how the exam expects you to reason through the scenario step by step, highlighting the constraints and trade-offs that invalidate each incorrect option.

Prefer a quick walkthrough before diving deep?
[Video coming soon] This short walkthrough video explains the core scenario, the key trade-off being tested, and why the correct option stands out, so you can follow the deeper analysis with clarity.

🔐 The Traps (Distractor Analysis)
#

This section explains why each incorrect option looks reasonable at first glance, and the specific assumptions or constraints that ultimately make it fail.

The difference between the correct answer and the distractors comes down to one decision assumption most candidates overlook.

  • Why not Option A (Multi-AZ with primary reads)?
    Multi-AZ creates a synchronous standby for automatic failover, not read distribution. All client connections still hit the primary instance in AZ-A. This adds 2x database cost ($124/mo) while solving zero read contention. Pure waste.

  • Why not Option B (Multi-AZ with standby reads)?
    This is a fundamental misunderstanding of Multi-AZ architecture. AWS does not allow client connections to the standby replica—it exists solely for failover. The endpoint resolves to the primary instance only. Attempting to connect to the standby will fail. This option is technically impossible.

  • Why not Option D (ElastiCache)?
    While caching reduces database load, it introduces complexity:

    • Cache Invalidation Logic: When new movies are added, cache entries must be purged/updated—requires application code changes.
    • Query Variability: Analytics scripts often use dynamic date ranges (WHERE added_date > NOW() - INTERVAL 1 DAY)—these don’t benefit from caching.
    • Operational Overhead: Requires ElastiCache cluster management, TTL tuning, and monitoring.
    • Cost Escalation: A cache.t3.medium node costs ~$50/mo, similar to a Read Replica, but demands more engineering effort.

The SAA-C03 Keyword Pattern:
When you see “read-heavy workloads” + “minimal operational overhead” + “scripts/batch jobs”, default to Read Replicas over caching or vertical scaling.

💎 Professional Decision Matrix

This SAA-C03 professional section is locked.
Free beta access reveals the exam logic.

100% Free Beta Access

🔐 The Solution Blueprint
#

This blueprint visualizes the expected solution, showing how services interact and which architectural pattern the exam is testing.

Seeing the full solution end to end often makes the trade-offs—and the failure points of simpler options—immediately clear.

graph TD
    DevTeam([Development Team
API Testing]) -->|Write/Read| Primary[RDS MySQL Primary
db.t3.medium
us-east-1a] Script([Analytics Script
Daily Reports]) -->|Read Only| Replica[RDS Read Replica
db.t3.medium
us-east-1b] Primary -.->|Async Replication
< 1 sec lag| Replica style Primary fill:#FF9900,stroke:#232F3E,stroke-width:3px,color:#fff style Replica fill:#3F8624,stroke:#232F3E,stroke-width:3px,color:#fff style Script fill:#5294CF,stroke:#232F3E,stroke-width:2px

Diagram Note: The primary instance handles transactional workloads while the Read Replica isolates analytical queries, eliminating resource contention through horizontal read scaling.

💎 Professional Decision Matrix

This SAA-C03 professional section is locked.
Free beta access reveals the exam logic.

100% Free Beta Access

🔐 The Decision Matrix
#

This matrix compares all options across cost, complexity, and operational impact, making the trade-offs explicit and the correct choice logically defensible.

At the professional level, the exam expects you to justify your choice by explicitly comparing cost, complexity, and operational impact.

Option Est. Complexity Est. Monthly Cost Pros Cons
A: Multi-AZ (Primary Reads) Low (AWS-managed) ~$124 (2x instance cost) Automated failover, enhanced durability Does NOT offload reads; wastes 50% of spend on unused standby
B: Multi-AZ (Standby Reads) N/A ~$124 None—this is architecturally invalid Technically impossible: AWS blocks standby connections
C: Read Replica Low (change script endpoint) ~$124 ($62 primary + $62 replica) Offloads reads, scalable to multiple replicas, independent scaling Eventual consistency (~1s lag); requires endpoint management
D: ElastiCache Medium (cache logic + invalidation) ~$112 ($62 DB + $50 cache.t3.medium) Sub-millisecond latency for cached queries Requires code changes, cache warming, invalidation strategy; poor fit for dynamic analytics

FinOps Insight:
Options A and C cost the same ($124/mo), but only C delivers value. This highlights a critical exam principle: cost alone doesn’t determine “best”—ROI does. Option C’s $62 incremental spend yields measurable performance improvements, while A’s $62 buys unused infrastructure.

💎 Professional Decision Matrix

This SAA-C03 professional section is locked.
Free beta access reveals the exam logic.

100% Free Beta Access

🔐 Real-World Practitioner Insight
#

This section connects the exam scenario to real production environments, highlighting how similar decisions are made—and often misjudged—in practice.

This is the kind of decision that frequently looks correct on paper, but creates long-term friction once deployed in production.

Exam Rule
#

For the SAA-C03 exam, when you see “read performance issues” + “minimal operational overhead”, immediately evaluate RDS Read Replicas. Multi-AZ is a distractor for read scalability questions—it’s exclusively for high availability.

Real World
#

In production, we’d layer additional optimizations:

  1. CloudWatch RDS Performance Insights: Before adding replicas, validate the bottleneck is CPU/memory (not slow queries needing indexing).
  2. Aurora MySQL Alternative: For $10-20/mo more, Aurora offers:
    • Up to 15 Read Replicas (vs. 5 for RDS MySQL)
    • Reader endpoint with automatic load balancing
    • Faster replication (< 100ms lag)
  3. Scheduled Reserved Instances: If analytics run daily, purchase a 1-year RI for the Read Replica (~35% savings = $40/mo instead of $62).
  4. Cross-Region Replicas: For global teams, replicas in eu-west-1 reduce latency for European analysts (though this adds data transfer costs ~$0.02/GB).

The Hidden Constraint:
The question states scripts run at “random times”—this actually strengthens the Read Replica argument. If analytics were scheduled (e.g., nightly), you could use RDS Stop/Start or Aurora Serverless v2 to reduce costs. Unpredictability demands always-on infrastructure, making Read Replicas the pragmatic choice.

💎 Professional Decision Matrix

This SAA-C03 professional section is locked.
Free beta access reveals the exam logic.

100% Free Beta Access