RDS
RDS is managed relational databases. AWS handles backups, patching, replicas, multi-AZ failover, and the boring ops; you pay per instance-hour + storage. Postgres, MySQL, Aurora, SQL Server, Oracle all supported.
Provision + connect + maintain
EXAMPLE
# 1) Create a small Postgres instance
aws rds create-db-instance \
--db-instance-identifier myapp-pg \
--engine postgres \
--engine-version 16 \
--db-instance-class db.t4g.micro \
--allocated-storage 20 \
--master-username app \
--master-user-password "$DB_PASSWORD" \
--backup-retention-period 14 \
--storage-encrypted \
--publicly-accessible false \
--vpc-security-group-ids sg-abc123
# 2) Find the endpoint
aws rds describe-db-instances \
--db-instance-identifier myapp-pg \
--query 'DBInstances[0].Endpoint.Address'
# 3) Connect (from inside the VPC)
psql "postgresql://app:$DB_PASSWORD@myapp-pg.xxxx.us-east-1.rds.amazonaws.com:5432/postgres"
# 4) Schedule snapshots & multi-AZ for prod
aws rds modify-db-instance \
--db-instance-identifier myapp-pg \
--multi-az \
--apply-immediately
# 5) Restore from a snapshot (point-in-time)
aws rds restore-db-instance-to-point-in-time \
--source-db-instance-identifier myapp-pg \
--target-db-instance-identifier myapp-pg-restored \
--restore-time 2026-06-07T13:00:00Z
# 6) Aurora Serverless v2 — autoscale by ACUs (useful for spiky workloads)
aws rds create-db-cluster \
--engine aurora-postgresql \
--serverless-v2-scaling-configuration MinCapacity=0.5,MaxCapacity=8
Why it matters
Read replicas absorb read load and let you fail over with seconds of downtime. Multi-AZ is for resilience; replicas are for performance — pick both for production.
Tip: Tweak the snippet with Try it Yourself », then sit the quiz at the bottom of the page.
Example
Example
# Managed MySQL / Postgres / SQL Server / MariaDB / Oracle. # Automatic backups + multi-AZ.Try it Yourself »
Exercise
Managed relational DB service is…
Three letters.
Discussion
Loading…