Skip to content
Aurora
AWS track · Databases & Caching

Aurora

MySQL- and Postgres-compatible, storage decoupled from compute, and the AWS database most likely to be your default choice by inertia rather than by decision. That storage layer replicates six ways across three Availability Zones automatically, scales to 128 TB with no downtime, and fails over in under 30 seconds — which is also why AWS's throughput claims (up to 5x MySQL, up to 3x PostgreSQL) hold up: replicas read the writer's storage directly instead of replaying a binary log. Provisioned instances or Serverless v2, Aurora Standard or I/O-Optimized — both are real cost decisions covered here, not footnotes. Eight pages, in the order the decisions actually depend on each other — start at one, not wherever looks interesting.

Decision drivers for this product
01
Traffic pattern is read-heavy vs. write-heavy, and whether it is known before launch.
02
Whether workloads can tolerate replica lag on reads.
03
Cross-region requirement (or its absence) for disaster recovery.
04
In-house tolerance for major-version upgrade windows.
Decision sequence
01
Core one-way-door
Choosing MySQL- or PostgreSQL-Compatibility Before Backtrack and Autovacuum Make the Choice for You

This mostly isn't a decision made on Aurora's own merits — match your team's existing engine and tooling. But one specific mechanism is worth knowing before you assume parity: Aurora PostgreSQL doesn't run vanilla vacuum behavior unmodified. Adaptive autovacuum (rds.adaptive_autovacuum, on by default) automatically makes autovacuum more aggressive as a table's transaction age approaches autovacuum_freeze_max_age, which vanilla PostgreSQL doesn't do on its own.

Free
02
Cost & billing mechanics
Running the I/O-Cost Math Before Migrating from RDS to Aurora

Aurora trades per-operation I/O billing (on Standard storage) and a higher instance rate for AZ-level durability and reader scaling that shares the writer's storage layer instead of replaying a binary log. You're not paying for "faster" — you're paying for a different storage architecture, and that architecture has a different cost shape than RDS's flat EBS-backed billing.

Free
03
Cost & billing mechanics
Deciding Between Aurora Standard and I/O-Optimized as Your Bill Changes, Not Once

I/O-Optimized isn't a general upgrade — it's a tax on compute and storage in exchange for removing I/O charges entirely. Storage runs roughly 2.25x (about +125%) the Standard rate, and instance/compute pricing runs roughly 30% higher, in exchange for zero per-operation billing.

Free
04
Connectivity & network identity
Splitting Read Traffic onto Custom Endpoints Before Adding More Replicas — sign in to unlock

An Aurora cluster trades per-replica cost (up to 15 Aurora Replicas) for read scaling that shares the writer's storage layer — but the default reader endpoint trades isolation for simplicity, load-balancing all read traffic across all replicas undifferentiated.

05
Scaling & capacity limits
Sizing Serverless v2's Minimum ACU From Your Working Set, Not Your Idle Bill — sign in to unlock

Serverless v2 trades a per-ACU-hour premium (its rate is set so flexibility costs more than provisioned capacity at comparable steady utilization) for scaling in 0.5 ACU increments instead of whole instance classes — real elasticity for spiky or idle-most-of-the-day workloads.

06
Failure mode & consistency
Planning for Connection Exhaustion Before Aurora's Fast Failover Makes You Complacent — sign in to unlock

Aurora's fast failover trades a same-AZ storage architecture for an application-layer requirement — your connection/retry logic still has to reconnect via the cluster's DNS endpoint, because "fast" at the database layer doesn't automatically mean invisible at the application layer.

07
Operational lifecycle
Deciding on Backtrack at Cluster Creation, Before You Wish You Had It — sign in to unlock

Backtrack (MySQL-compatible only) trades storage cost for change records — billed per million change records per hour — for a fast in-place rewind that avoids a full restore-to-new-instance. It's not a backup; it's a precision undo tool with its own cost and its own limits.

08
Wrong-tool / alternatives
Ruling Out Aurora: When RDS, DynamoDB, or Global Database Is the Right Call Instead — sign in to unlock

Every vendor page assumes you've already decided to buy the product — this section is the one every competitor's content skips.