When Aurora Is the Right Choice
Aurora is not always the right answer. It costs more than standard RDS (roughly 20% more for equivalent compute), and for small, low-traffic databases, that premium may not be justified. Understanding when Aurora's capabilities are worth the cost is an important architectural skill.
Choose Aurora when:
- You need sub-30-second failover — Aurora's shared storage architecture eliminates replica lag, enabling near-instant promotion.
- You need more than 5 read replicas — RDS supports up to 5; Aurora supports up to 15, all with zero replication lag to the writer.
- You need cross-region disaster recovery with RPO < 1 minute — Aurora Global Database is the only managed AWS option that achieves this.
- You need storage that scales automatically — Aurora storage grows in 10 GB increments automatically up to 128 TB. RDS requires manual storage scaling with potential downtime.
- You have variable or unpredictable workloads — Aurora Serverless v2 eliminates the provisioning guessing game.
Choose standard RDS when:
- You need a database engine Aurora doesn't support (e.g., Oracle, SQL Server, MariaDB).
- Your workload is small and steady, and the Aurora cost premium isn't justified.
- You have specific licensing requirements tied to a particular engine version that Aurora's managed environment doesn't support.
Aurora Feature Summary
| Feature | Aurora | Standard RDS |
|---|---|---|
| Max Read Replicas | 15 | 5 |
| Failover Time | < 30 seconds | 1–2 minutes |
| Storage Auto-Scaling | Yes (to 128 TB) | Manual |
| Cross-Region RPO | < 1 second (Global DB) | Minutes (binlog lag) |
| Serverless Option | Yes (v2) | No |
| Engine Compatibility | MySQL, PostgreSQL | MySQL, PostgreSQL, Oracle, SQL Server, MariaDB |