AWS RDS
Deploy managed relational databases with Amazon RDS.
Create Database
aws rds create-db-instance
--db-instance-identifier mydb
--db-instance-class db.t3.micro
--engine postgres
--engine-version 15
--master-username admin
--master-user-password secretpassword
--allocated-storage 20
--storage-encrypted
--vpc-security-group-ids sg-xxx
--db-subnet-group-name my-subnet-group
--backup-retention-period 7
--multi-az
Parameter Groups
aws rds create-db-parameter-group
--db-parameter-group-name custom-pg
--db-parameter-group-family postgres15
--description "Custom PostgreSQL parameters"
aws rds modify-db-parameter-group
--db-parameter-group-name custom-pg
--parameters "ParameterName=max_connections,ParameterValue=200,ApplyMethod=pending-reboot"
Snapshots & Recovery
Create snapshot
aws rds create-db-snapshot
--db-instance-identifier mydb
--db-snapshot-identifier mydb-snapshot
Restore from snapshot
aws rds restore-db-instance-from-db-snapshot
--db-instance-identifier mydb-restored
--db-snapshot-identifier mydb-snapshot
Read Replicas
aws rds create-db-instance-read-replica
--db-instance-identifier mydb-replica
--source-db-instance-identifier mydb
Best Practices
-
Enable Multi-AZ for production
-
Use encryption at rest
-
Implement automated backups
-
Use read replicas for read scaling
-
Store credentials in Secrets Manager
Related Skills
-
terraform-aws - IaC deployment
-
aws-secrets-manager - Credentials