AWS Cloud Architect & Developer · AWS Cloud Architecture
RDS and Aurora Databases
Managed relational databases with RDS and Aurora including replicas and high availability.
Eight concepts on RDS and Aurora: Multi-AZ versus read replicas, engines and backups, Aurora's shared storage, failover, endpoints, and the storage/IOPS choices that show up on architect exams.
- AWS Cloud Architect & Developer
- Medium level
- 8 concepts
- 5 practice questions
1Multi-AZ versus Read Replicas
Multi-AZ and Read Replicas solve different problems. Multi-AZ keeps a synchronous standby in another Availability Zone for high availability and automatic failover — RPO to that standby is effectively zero because writes are confirmed on both. Read Replicas are asynchronous copies used to scale read traffic; they can lag and they are not the Multi-AZ failover mechanism. If the stem says "survive an AZ outage with no data loss," pick Multi-AZ. If it says "improve read performance," pick Read Replicas.
Figure. Multi-AZ: synchronous standby in a second AZ. Read Replicas are a separate async path for scaling reads.
How the exam sorts the two
- HA / no data loss?Multi-AZ synchronous standby and automatic failover.
- Read scaling?Read Replicas (async); point reporting queries at replica endpoints.
- Need both?Enable Multi-AZ for HA and add replicas separately for reads — one does not replace the other.
| Feature | Multi-AZ | Read Replica |
|---|---|---|
| Purpose | High availability | Read scalability |
| Replication | Synchronous | Asynchronous |
| Failover | Automatic (same endpoint) | Manual promote (becomes standalone) |
| Serves reads (RDS) | Standby does not serve reads | Yes — that is the point |
| RPO to copy | Effectively 0 | Can lag (ReplicaLag) |
PostgreSQL on RDS is CPU-bound from heavy reporting; writes are light. First move to improve read performance without downtime?
- Enable Multi-AZ only
- Create Read Replicas and send reporting queries there
- Disable automated backups
Read Replicas scale read traffic. Multi-AZ improves availability, not read throughput (the RDS standby does not serve reads). Disabling backups does not help CPU.
2RDS engines and managed ops
RDS offers managed MySQL, PostgreSQL, MariaDB, Oracle and SQL Server, plus Amazon Aurora as a MySQL- and PostgreSQL-compatible engine on different storage. AWS handles automated backups, patching and point-in-time recovery so you are not running database OS chores on EC2. The exam distinction is managed relational service versus self-managed DB on an instance — not which SQL dialect you prefer.
RDS is the managed-ops checklist — patching, backups, Multi-AZ — across supported engines (MySQL, PostgreSQL, MariaDB, Oracle, SQL Server). Engine logos in boxes would violate the no-service-glyph rule and add no topology.
| Capability | RDS / Aurora |
|---|---|
| Engines | MySQL, PostgreSQL, MariaDB, Oracle, SQL Server, Aurora |
| Backups | Automated + point-in-time restore |
| Patching | Managed maintenance windows |
| HA building block | Multi-AZ (and Aurora's own topology) |
You want a managed PostgreSQL with automated backups and patching, not a database you administer on EC2. Choose
- RDS (or Aurora PostgreSQL)
- S3 Select
- Only DynamoDB, because RDS cannot run PostgreSQL
RDS/Aurora are the managed relational options and include PostgreSQL. S3 Select is not a database engine; DynamoDB is NoSQL, not a PostgreSQL substitute here.
4Failover and the stable endpoint
On Multi-AZ failure, RDS promotes the standby and updates the DNS CNAME for the DB endpoint so applications keep the same hostname. Failover typically completes in about 60–120 seconds; the important exam claim is "same endpoint, AWS repoints it," not "rewrite every connection string." Combine Multi-AZ with automated backups when you also need point-in-time recovery from logical mistakes — failover does not undo a bad DELETE.
Figure. Clients keep one DNS name; failover repoints that name to the new primary — reconnect, do not hardcode IPs.
What happens on primary failure
- DetectRDS decides the primary in AZ-a is unhealthy.
- PromoteThe synchronous standby in AZ-b becomes the writer.
- Repoint DNSThe existing DB endpoint's CNAME moves to the new primary; clients reconnect.
After Multi-AZ failover, applications should
- Keep using the same DB endpoint hostname; DNS now targets the new primary
- Hard-code the standby's private IP forever
- Switch to S3 because RDS endpoints die permanently
RDS updates the endpoint's DNS to the promoted standby. Clients reuse the hostname; baking in a standby IP fights the design.
5Aurora cluster and reader endpoints
An Aurora cluster exposes a cluster (writer) endpoint that always points at the current primary for writes, and a reader endpoint that load-balances across Aurora Replicas. Send transactional writes to the writer endpoint; send read-only reporting to the reader endpoint. After failover the writer endpoint moves with the new primary — same stable-name idea as RDS Multi-AZ, specialised into two roles.
Figure. Aurora writer endpoint always targets the primary; reader endpoint load-balances across read replicas.
Where each query goes
- WritesApplication uses the cluster/writer endpoint.
- ReadsReporting and read-only traffic use the reader endpoint.
- FailoverWriter endpoint follows the new primary; readers continue against remaining replicas.
| Endpoint | Routes to | Use for |
|---|---|---|
| Cluster / writer | Current primary | INSERT/UPDATE/DDL |
| Reader | Load-balanced replicas | Read-only queries |
To offload analytics SELECTs from the Aurora primary, point them at
- The cluster writer endpoint only
- The reader endpoint
- The Multi-AZ standby IP of a non-Aurora instance
The reader endpoint load-balances across Aurora Replicas. The writer endpoint is for the primary; a classic RDS standby IP is the wrong mental model for Aurora readers.
6Backups and retention
Automated backup retention on RDS/Aurora ranges from 0 (disabled) to 35 days and enables point-in-time recovery inside that window. Manual snapshots persist until you delete them and are the cue for long-term keep-forever copies or pre-change safety snaps. Failover protects against instance/AZ loss; backups protect against logical errors and regional restore stories.
Figure. Automated backup retention is a day count (0 disables); snapshots are separate and persist until you delete them.
| Type | Retention | Role |
|---|---|---|
| Automated backups | 0–35 days | Point-in-time restore |
| Manual snapshots | Until deleted | Long-lived restore points |
Maximum automated backup retention for RDS is
- 7 days
- 35 days
- 365 days
Automated retention tops out at 35 days (0 disables). Manual snapshots are the keep-until-deleted mechanism beyond that.
7RDS storage types
General Purpose SSD (gp3) is the default balanced choice: baseline IOPS and throughput scale with size (and gp3 lets you provision some performance independently of size). Provisioned IOPS (io1/io2) is the latency-sensitive OLTP cue when you must guarantee high IOPS regardless of a modest volume size. Pick gp3 unless the stem stresses consistent high IOPS / low latency under heavy OLTP.
Figure. OLTP latency-sensitive workloads pick provisioned IOPS; gp3 covers most general cases.
How to choose storage
- Ordinary loadStart with gp3; size for capacity and acceptable baseline I/O.
- Hard IOPS SLAIf the exam demands sustained high IOPS independent of size, move to io1/io2.
- Don't confuse with Multi-AZStorage type is performance; Multi-AZ is availability.
| Type | Exam cue |
|---|---|
| gp3 (General Purpose) | Balanced cost/performance; default SSD |
| io1 / io2 (Provisioned IOPS) | Latency-sensitive OLTP; guaranteed IOPS |
A latency-sensitive OLTP database must sustain high IOPS on a modest volume size. Prefer
- gp3 only, because provisioned IOPS does not exist on RDS
- io1/io2 Provisioned IOPS
- Magnetic HDD for lower latency
Provisioned IOPS (io1/io2) is the OLTP/guaranteed-IOPS choice. gp3 is the balanced default; magnetic is not the low-latency answer.
8Replica counts and Global Database
RDS MySQL/PostgreSQL support up to 15 read replicas; Aurora allows up to 15 Aurora Replicas per cluster with typically sub-10 ms lag on the shared volume. For a global low-latency read footprint plus disaster recovery, Aurora Global Database replicates across Regions with sub-second lag — the cue when one Region's replicas are not enough. Promoting a Read Replica to a standalone DB is the migration / regional-DR escape hatch on classic RDS.
Figure. RDS and Aurora allow up to 15 same-cluster / same-Region read replicas. Aurora Global Database adds a cross-Region secondary with sub-second lag for global reads and DR — a different scope from the 15-replica cap.
| Option | Scope | Cue |
|---|---|---|
| RDS Read Replicas | Usually same Region (up to 15) | Scale reads; can promote |
| Aurora Replicas | Same cluster (up to 15) | Fast lag on shared storage |
| Aurora Global Database | Cross-Region | Global reads + DR, sub-second lag |
You need low-latency reads on another continent and a DR posture with sub-second cross-Region replication. Prefer
- A single-AZ RDS instance with no replicas
- Aurora Global Database
- Disabling Multi-AZ to free quota for snapshots
Aurora Global Database is the cross-Region, sub-second replication feature. Single-AZ with no replicas fails both HA and global reads; disabling Multi-AZ moves the wrong knob.
Notes
- Multi-AZ vs Read Replicas: Multi-AZ provides synchronous standby in another AZ for high availability and automatic failover; Read Replicas provide asynchronous copies to scale read traffic.
- RDS Engines: Supports MySQL, PostgreSQL, MariaDB, Oracle, SQL Server, plus Amazon Aurora, with automated backups, patching, and point-in-time recovery.
- Aurora Architecture: Aurora separates compute from a shared, distributed storage layer that replicates data six ways across three AZs and auto-scales up to 128 TB.
- Failover Behavior: Multi-AZ failover updates the DNS CNAME to the standby and typically completes within 60-120 seconds; the endpoint stays the same.
- Aurora Endpoints: A cluster (writer) endpoint routes writes to the primary and a reader endpoint load-balances read traffic across replicas.
Formulas
- RDS backup retention: automated backups from 0 (disabled) to 35 days; manual snapshots retained until deleted.
- Aurora replicas: up to 15 Aurora Replicas per cluster with sub-10 ms replication lag; RDS supports up to 15 (MySQL/PostgreSQL) read replicas.
- Aurora storage: auto-grows in 10 GB increments up to 128 TB with 6 copies across 3 AZs.
- Multi-AZ writes: synchronous replication to standby, so RPO is effectively 0 for the standby copy.
- RDS storage types: General Purpose (gp3) baseline scaling with size, or Provisioned IOPS (io1/io2) for latency-sensitive OLTP.
Exam traps & shortcuts
- Multi-AZ = availability, Read Replicas = scalability - if a question says 'improve read performance,' pick Read Replicas, not Multi-AZ.
- To offload analytics/reporting from the primary, point read-only queries at a Read Replica or the Aurora reader endpoint.
- If the requirement is near-zero downtime failover and no data loss, choose Multi-AZ; a single-AZ instance cannot meet HA needs.
- For a global low-latency read footprint with disaster recovery, use Aurora Global Database (sub-second cross-region replication).
Reference tables
| Requirement | Feature |
|---|---|
| AZ outage, automatic failover, no data loss | Multi-AZ |
| Scale read/reporting load | Read Replicas / Aurora reader endpoint |
| Cross-Region low-latency reads + DR | Aurora Global Database |
| Point-in-time undo of bad writes | Automated backups (≤ 35 days) |
| Guaranteed high IOPS OLTP | io1/io2 storage |
Recap
Read only this the night before.
- Multi-AZ vs RR
- Multi-AZ = sync HA/failover; Read Replicas = async read scale. Need both? Configure both.
- Aurora storage
- Shared volume, 6 copies / 3 AZs, grows by 10 GB to 128 TB; up to 15 fast replicas.
- Failover
- DNS CNAME on the same endpoint; typically ~60–120 s.
- Endpoints
- Aurora writer for writes; reader endpoint for read-only traffic.
- Backups
- Automated 0–35 days; manual snapshots until deleted.
- Global
- Aurora Global Database for cross-Region sub-second lag.
Practise RDS and Aurora Databases
Reading is free and needs no account. Practice, mocks and progress live in the app.
- 5 exam-style questions on this topic, with explanations
- A 5-question practice set that ends the chapter
- Timed mocks scored with the real marking scheme
- Readiness tracked per topic, kept on your device