Amazon Aurora

AWS-built MySQL- and PostgreSQL-compatible relational database with self-healing storage spread across three AZs.

Verified against AWS documentation · 2026-09-09

Key facts

  1. 01An engine choice inside RDS — same console, backups, and patching, with AWS's own storage layer underneath
  2. 02Shared cluster volume: 6 copies across 3 AZs, auto-grows to 256 TiB, no disk to provision
  3. 03One writer, up to 15 readers; failover promotes a reader in under 60s — with no reader, expect ~10 minutes
  4. 04Serverless bills per second in ACUs (~2 GiB each, 0–256) and pauses at 0 when idle; Global Database adds up to 10 read-only Regions

Exam triggers

Phrases and scenarios that point here.

  • "MySQL or PostgreSQL" + "highest availability" or "best performance" → Aurora, not RDS
  • Must survive an AZ outage with no failover code written by the customer → Aurora cluster with readers in other AZs
  • Global users need local read latency, or recovery from a Region-wide outage → Aurora Global Database
  • Spiky, unpredictable, or idle-most-of-the-day database → Aurora Serverless

Not this service

  • Oracle, SQL Server, MariaDB, or the cheapest managed SQL → RDS
  • Key-value or document data, single-digit ms at any scale → DynamoDB
  • Dashboards and analytics over billions of rows → Redshift

Use cases

  1. 01Production SaaS backend that must ride out an AZ failure — the cluster endpoint follows the new writer, the app just reconnects
  2. 02Read-heavy catalogs and internal dashboards — add readers and point them at the reader endpoint instead of buying a bigger writer
  3. 03Moving a self-managed MySQL or PostgreSQL app off EC2 with no driver or schema changes, purely to stop hand-managing replication and backups
  4. 04Dev, test, and internal tools that sit idle overnight — Serverless drops to 0 ACUs and wakes on the first connection in roughly 15 seconds
  5. 05Global apps writing in one Region while other Regions serve sub-second-stale local reads and double as a warm DR standby

How it's charged

  1. 01Compute: provisioned instance-hours (On-Demand or Reserved) or Serverless ACU-seconds — every reader is billed like its own instance
  2. 02Storage: per GB-month of space actually used; the volume grows and shrinks on its own, and you pay for one copy despite the six
  3. 03Two cluster configurations — Aurora Standard adds a per-million-I/O charge, Aurora I/O-Optimized drops I/O charges for higher instance and storage rates; AWS's own rule is to switch once I/O passes ~25% of Aurora spend
  4. 04Backups are free up to 100% of your cluster volume size; snapshots kept past the 1–35 day retention window are billed per GB-month
  5. 05Global Database bills replicated write I/Os to every secondary Region on top of the instances and storage running there — a second Region roughly doubles the bill, it doesn't nudge it

Commonly confused with

References