Filter concepts by levelShowing all levels.

AWS · Aurora — Working Knowledge

Aurora — Working Knowledge

Shared-storage architecture and endpoints, PostgreSQL/MySQL compatibility, and when Aurora fits over standard RDS

  • One shared cluster volumewriter + up to 15 readers, no per-instance copy
  • Cluster + reader endpoints follow failoverinstance endpoints do not
  • PostgreSQL- or MySQL-Compatiblechosen at creation, not switchable
  • Aurora vs standard RDSread scaling/auto-scaling storage vs simpler/cheaper/other engines

1.Aurora Architecture and Endpoints

An Aurora DB cluster separates compute from storage — one shared cluster volume spans multiple AZs, and every instance (the one writer, up to 15 readers) reads from that same volume rather than each holding its own copy. The cluster endpoint always points at the current writer; the reader endpoint load-balances across all readers and automatically re-points on failover.

Key features

  • A cluster volume spans multiple AZs and is shared by every instance in the cluster — even a single-instance Aurora setup is still technically a cluster
  • One primary (writer) instance handles all writes; up to 15 Aurora Replicas (readers) share the same storage and serve read-only queries
  • Cluster endpoint: always the current writer — use for DDL/DML/general-purpose connections
  • Reader endpoint: load-balances across all readers, automatically re-points if a reader is promoted during failover
  • On primary failure, Aurora promotes an existing replica (or creates a new primary) — the cluster endpoint automatically follows
Aurora: compute separated from shared storage

Writer instance

cluster endpoint — all writes

Reader instances (up to 15)

reader endpoint — load-balanced reads

Shared cluster volume

spans multiple AZs, one copy of the data

  1. Writer instance — cluster endpoint — all writes
  2. Reader instances (up to 15) — reader endpoint — load-balanced reads
  3. Shared cluster volume — spans multiple AZs, one copy of the data

Signature

Cluster endpoint (writer) · reader endpoint (readers) · shared cluster volume

Aurora separates compute from storage — one shared cluster volume across AZs, up to 15 readers sharing it with the one writer. Use the cluster endpoint (always the writer) and reader endpoint (load-balanced readers) — both automatically follow failover; instance endpoints do not.

2.Aurora PostgreSQL/MySQL Compatibility

Aurora is offered as two separate, engine-compatible flavors — Aurora PostgreSQL-Compatible and Aurora MySQL-Compatible — each targeting wire/SQL compatibility with a specific upstream version of that engine. They are not one universal database; picking one is picking which engine's ecosystem, extensions, and version support you get.

Key features

  • Aurora PostgreSQL-Compatible and Aurora MySQL-Compatible are separate offerings — a cluster is created as one or the other, not both
  • Compatibility targets a specific upstream engine version — feature/extension availability tracks that version, not necessarily the newest upstream release
  • Application drivers, ORMs, and tooling written for standard PostgreSQL/MySQL generally work unmodified against the matching Aurora flavor
  • Migrating between Aurora's PostgreSQL and MySQL flavors is a cross-engine migration, not a configuration change — same effort as migrating between standard RDS PostgreSQL and MySQL

Command

text
Aurora PostgreSQL-Compatible ≠ Aurora MySQL-Compatible — chosen at cluster creation, not switchable

Aurora PostgreSQL-Compatible and Aurora MySQL-Compatible are separate, non-interchangeable offerings chosen at cluster creation — switching later is a full cross-engine migration, not a configuration change.

3.When Aurora Fits Over Standard RDS

Aurora's shared-storage architecture pays off when read scaling (up to 15 low-lag readers), storage auto-scaling, or fast failover matter most. Standard RDS is often simpler and cheaper for smaller, steady workloads, or when a specific engine (SQL Server, Oracle, Db2 — none of which Aurora supports) is required.

Key features

  • Aurora supports only PostgreSQL- and MySQL-compatible flavors — SQL Server, Oracle, Db2, and MariaDB require standard RDS
  • Aurora storage auto-scales up to its architecture's limit without a manual resize operation
  • Aurora's shared-storage design gives readers lower replication lag than standard RDS's asynchronous read replicas
  • Standard RDS is often more cost-effective for small, steady workloads that don't need Aurora's read-scaling or fast-failover advantages

Command

text
Need many low-lag readers, auto-scaling storage, fast failover, PostgreSQL/MySQL compatible → Aurora
Small/steady workload, or need SQL Server/Oracle/Db2 → standard RDS

Choose Aurora for PostgreSQL/MySQL workloads needing many low-lag readers, auto-scaling storage, or fast failover. Choose standard RDS for other engines (SQL Server, Oracle, Db2) or small, steady workloads where Aurora's advantages go unused.

Remember

  • Aurora separates compute from storage — every instance in the cluster shares one volume, so a reader is not a full separate copy.
  • Use the cluster endpoint (writer) and reader endpoint (readers) for application traffic — both automatically follow failover; instance endpoints do not.
  • Aurora PostgreSQL-Compatible and Aurora MySQL-Compatible are separate offerings — switching later is a full cross-engine migration.
  • Aurora does not support SQL Server, Oracle, or Db2 — those require standard RDS regardless of any other preference.

Pro tip

  • Aurora's shared-storage design gives readers lower replication lag than standard RDS's asynchronous read replicas.
  • For a small, steady workload that never needs Aurora's read-scaling or fast-failover advantages, standard RDS is often simpler and cheaper.

Next up

  • DynamoDB
  • ElastiCache / Managed Caching
  • Messaging — SQS

Sources

  • Amazon Aurora DB clusters — docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.html
  • Amazon Aurora endpoint connections — docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.Endpoints.html
  • Checked against official AWS documentation 2026-08-21

Spotted a mistake on this page? Tell us.