Day 53 – RDS Deep Dive: Database Administration in the Cloud


🧠 What is Amazon RDS?
Amazon RDS (Relational Database Service) is a fully managed distributed database service that makes it easy to set up, operate, and scale a relational database in the cloud.
RDS supports popular engines like:
MySQL
PostgreSQL
MariaDB
Oracle
SQL Server
Amazon Aurora
⚙️ What Does a DB Admin Do in RDS?
While AWS manages much of the undifferentiated heavy lifting, as a DevOps engineer or DBA, you still need to understand key tasks involved in Relational DB Administration:
🔧 Core RDS Administration Tasks
1️⃣ Installs
No manual installation required
Choose engine & version from AWS Console
AWS handles provisioning and setup behind the scenes
2️⃣ Patching
AWS supports automatic patching
You can define maintenance windows for controlled patching
3️⃣ Monitoring
CloudWatch + Enhanced Monitoring
Key metrics: CPU, memory, IOPS, DB connections, query performance
4️⃣ Performance Tuning
Optimize DB parameters via Parameter Groups
Use Performance Insights to detect slow queries
Add Read Replicas for read scaling
5️⃣ Backups
Automated daily backups (retention up to 35 days)
Option for manual snapshots
Supports point-in-time recovery
6️⃣ Scaling
Vertical scaling: change instance size (e.g., t3 → m5)
Horizontal scaling: add Read Replicas
Storage auto-scaling supported
7️⃣ Security
IAM policies
SSL encryption in-transit and at-rest (with KMS)
VPC subnet isolation, security groups, and database-level users
8️⃣ Hardware Upgrades
Easily change instance types in the console or CLI
Downtime can be minimized using Multi-AZ failover
9️⃣ Storage Management
Start small, grow as needed (provisioned or GP3)
Monitor with CloudWatch alerts
Auto-scaling support (up to 64 TB)
💡 Key RDS Features
✅ Multi-AZ Deployments
Provides high availability and automatic failover
Writes to a primary DB and automatically replicates to a standby in another AZ
✅ Read Replicas
Helps offload read-heavy workloads
Replication is asynchronous
Read replicas can be promoted as standalone DBs
✅ Effortless Scaling
- You can scale both compute and storage without downtime (if configured properly)
📦 Real-World Usage
In production apps like VProfile, RDS is used to manage relational data such as:
User profiles
Transactions
Sessions (in case of fallback to DB)
Logs and audit trails
🔐 Summary
Amazon RDS makes it easy to manage databases, but DevOps professionals should still be aware of:
Task | Who Handles It |
Installation | AWS |
Backup & Restore | AWS + DevOps |
Performance Tuning | DevOps/DBA |
Scaling | DevOps + Auto Scaling |
Security | Shared Responsibility |
Subscribe to my newsletter
Read articles from Shaharyar Shakir directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
