1. Overview
Amazon Relational Database Service (RDS) is a managed service that makes it easy to set up, operate, and scale a relational database in the cloud. Instead of managing the underlying OS and hardware, AWS handles the “undifferentiated heavy lifting” like patching, backups, and hardware provisioning.
Core Concepts & Well-Architected Framework
When designing database solutions on AWS, we align with these pillars:
- Reliability: Use Multi-AZ deployments for synchronous replication and automatic failover.
- Performance Efficiency: Use Read Replicas to offload read traffic from the primary instance.
- Security: Always encrypt at rest (KMS) and in transit (SSL/TLS). Use Security Groups to restrict access to the DB port (e.g., 3306 for MySQL).
- Cost Optimization: Use Aurora Serverless for unpredictable workloads to avoid paying for idle compute.
Service Comparison
| Feature | RDS (Standard) | Amazon Aurora |
|---|---|---|
| Engines | MySQL, Postgres, MariaDB, Oracle, SQL Server | MySQL & PostgreSQL Compatible |
| Replication | Up to 5 Read Replicas | Up to 15 Read Replicas |
| Storage | Manual scaling (EBS volumes) | Auto-healing, scales in 10GB increments to 128TB |
| Failover | Minutes (DNS swap) | Seconds (Instantaneous) |
| Durability | Stored in 1 AZ (standard) or 2 (Multi-AZ) | 6 copies across 3 AZs by default |
Scenario-Based Decision Matrix
If the requirement is… → Then use…
- …High Availability (HA) for Disaster Recovery → Multi-AZ
- …Scaling read-heavy traffic for a global app → Read Replicas
- …A legacy SQL Server or Oracle database → RDS (Standard)
- …Maximum performance and 15+ replicas → Amazon Aurora
- …A dev/test environment with intermittent use → Aurora Serverless
Exam Tips (SAA-C03 Golden Nuggets)
- Multi-AZ vs. Read Replicas: Multi-AZ is for Availability (Synchronous). Read Replicas are for Performance/Scaling (Asynchronous).
- Storage Scaling: RDS can scale storage automatically, but you cannot decrease storage size once allocated.
- Aurora Global Database: Use this for low-latency cross-region reads and disaster recovery (RTO < 1 min).
- IAM Authentication: You can use IAM to manage database access instead of traditional passwords for RDS MySQL and PostgreSQL.
Infographic: RDS Architecture Flow
Key Services
RDS Proxy: Pools connections to handle thousands of concurrent serverless connections (Lambda).
Aurora Serverless v2: Scales instantly from 0.5 to 128 ACUs.
Common Pitfalls
Downtime: Changing instance class or applying patches without Multi-AZ causes downtime.
Replication Lag: Read Replicas are asynchronous; “Read-after-write” consistency is not guaranteed.
Quick Patterns
Pattern A: Web App → RDS Multi-AZ (High Availability).
Pattern B: Reporting App → Read Replica (Offload heavy queries).