NotesRDS & Aurora
RDS & Aurora
Managed relational databases on AWS — Multi-AZ vs read replicas, encryption, Aurora Global, RDS Custom, and the failover rules.
Updated Sep 26, 2026
RDS & Aurora Quick Notes
Amazon RDS
- Engines: MySQL, MariaDB, PostgreSQL, Oracle, SQL Server, …
- You manage: Less OS/patching than EC2 self-managed; still pick size, storage, Multi-AZ.
- Storage autoscaling: Grow disk with least ops when workload is expanding.
Multi-AZ vs Read Replicas
Multi-AZ, Read replica
Replication: Synchronous, Asynchronous
Purpose: HA / failover, Read scale
Scope: ≥2 AZs, same Region, Same AZ, cross-AZ, or cross-Region
Readable?: Standby is not a read endpoint, Yes
- Failover DNS: Same endpoint/CNAME — AWS retargets it to the standby.
- Cross-Region replica charges: Data transfer applies across Regions (same-Region replica replication framed as no transfer charge on exams).
- Encryption inheritance: Encrypted primary → replicas are encrypted (cannot mix).
Encrypt an Existing Unencrypted DB
- Snapshot
- Copy snapshot with encryption
- Restore from encrypted snapshot
- Cut over (cannot flip encryption on in place)
Share Encrypted DB with Another Account
- Create encrypted snapshot → share snapshot → grant access to the KMS key.
RDS Custom
- Managed Multi-AZ-style HA plus DBA access to customize DB and OS.
- Fit: Legacy Oracle needing OS/engine customizations standard RDS forbids.
Amazon Aurora
- Shared storage layer replicated across AZs; compute nodes attach to it.
- Endpoints: Cluster (writer), reader, instance.
- Aurora Replicas: Scale reads + failover targets; use Aurora Auto Scaling when lag spikes.
- Serverless: Capacity in ACUs — spiky / unpredictable workloads.
- I/O-Optimized: Better price/performance when I/O charges dominate.
- Global Database: Cross-Region primary + secondaries — RPO ~seconds, RTO ~1 minute. Can convert an existing cluster by adding a secondary Region.
Aurora Failover Priority
- Lowest tier number (0–15) wins
- If tied → largest instance size wins
Example: tier-1 (16 TB) vs tier-1 (32 TB) → promote the 32 TB replica.
In Transit
- Enable SSL/TLS to the DB (separate from storage encryption).
- RDS Proxy: Connection pooling for Lambda / bursty apps (avoids connection storms).
Self-Managed Escape Hatch
- Need massive PostgreSQL with full OS control → EC2 + io1/io2 EBS (not RDS).