Aurora Architecture and Endpoints
coreintermediateAn 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.
Think of it as
Standard RDS Multi-AZ is separate houses each keeping their own furniture in sync. Aurora is many people sharing access to one central warehouse (the cluster volume) — a reader doesn't need its own copy of the furniture, it just has a key to the same warehouse the writer uses.
What we're doing: See why connecting to an instance endpoint directly is riskier than using the cluster/reader endpoints.
- 1
- An instance endpoint always points at one specific physical instance, regardless of its current role in the cluster.
- 3
- The cluster endpoint is specifically designed to always resolve to whichever instance is currently the writer — an instance endpoint has no such guarantee and does not follow failover.
Why this works: The cluster and reader endpoints exist precisely to abstract away which physical instance currently holds which role — bypassing them by hardcoding an instance endpoint reintroduces the exact fragility they were designed to remove.
Using instance endpoints for general application traffic instead of the cluster/reader endpoints
Wrong
Better
What you see: A failover event breaks application connectivity even though Aurora itself completed the failover successfully, because the app was connected to a specific instance rather than a role-following endpoint.
Why: Instance endpoints are meant for diagnosis and tuning of one specific instance, not general application traffic — only the cluster and reader endpoints automatically track which physical instance currently holds the writer or reader role.
- 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
Remember: 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.
See also: postgresql mysql compatibility · multi az vs read replicas

