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:

TaskWho Handles It
InstallationAWS
Backup & RestoreAWS + DevOps
Performance TuningDevOps/DBA
ScalingDevOps + Auto Scaling
SecurityShared Responsibility
0
Subscribe to my newsletter

Read articles from Shaharyar Shakir directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Shaharyar Shakir
Shaharyar Shakir