Ref: https://learn.cantrill.io/courses/1820301/lectures/41301428
Amazon Aurora - Overview
- 🔧 DB engine designed by AWS
- Officially part of Amazon RDS…
- 💡 …but better to consider Aurora as its own, distinct product, different from RDS
- Features and architecture are radically different from RDS
- Architecture:
- Two compute paradigms:
- Aurora Provisioned → customer deploys cluster of instances
- Aurora Serverless → cluster and capacity managed by AWS, customer sets ACUs
- Storage: shared cluster volume → high performance, improved availability
Amazon Aurora - Architecture
Aurora Provisioned DB Instances Architecture - DB Instance Cluster
- 🔧 Aurora Cluster = 1 primary & 0+ (read) replicas
- Up to 15 replicas
- DB instances (primary & replicas) can be in same or different AZs
- Replicas can be used for reads → 👍 read scalability
- Replicas can replace primary in failovers → 👍 improved availability
- 💡 Like RDS Multi-AZ cluster deployments, Aurora grants both scalability & availability benefits (but better!). Other RDS modes require addition of separate RRs.
- ❗ RDS Multi-AZ cluster deployments only have 2 RRs natively!
Aurora Storage Architecture - Cluster Volume

- ‼️ NO local storage!! (unlike RDS)
- 🔧 An Aurora cluster uses a cluster volume
- Shared storage → 👍 faster provisioning
- Available to all instances (primary & replicas) within a cluster
- Replicas added/removed without provisioning/removing storage → fast & efficient
- Very fast failovers (storage modifications not needed)
- SSD based → high IOPS, low latency → 👍 high performance storage by default
- Magnetic storage not an option
- Max size = 128 TiB
- 6 storage nodes/replicas across multiple AZs → 👍 improved availability
- All cluster instances can access any storage node
- Data loss risk is minimal → high resilience
- Aurora automatically detects and repairs storage disk failures in any node
- 💡 Less need for point-in-time or snapshot restores to recover from disk failures
- Data writes from primary synchronously replicated to all 6 storage nodes
- ‼️ Replication happens at the storage level!
- No extra resources consumed by primary or replicas during replication process
Aurora - Access Architecture
- Access/Connection to cluster via endpoints (DNS addresses)
- 💡 Very similar to access architecture in RDS Multi-AZ cluster deployments
- 🔧 Main endpoints
- Cluster endpoint
- Always points to primary instance (reads, writes & admin operations)
- Reader endpoint
- If 0 replicas → points to primary
- If 1+ replicas → points to an available instance (primary or replica)
- Load balances reads across all of the available instances (usually replicas)
- Endpoint updated with creation/deletion of replicas to load balance across all replicas