AWS RDS Operations
Operation 1: Backups
AWS RDS supports two types of backup strategies:
A) Manual Snapshots
- Triggered on-demand by the user
- Stored in S3 (managed by AWS)
- Retained indefinitely until manually deleted
- Useful before major changes (schema migrations, upgrades)
B) Automated Backups
- Configured when creating or modifying an RDS instance
- Key settings:
Setting Description Retention Period Number of days to keep backups (1–35 days) Backup Window Time window when backup occurs (choose low-traffic time) Point-in-Time Restore (PITR) Restore DB to any second within the retention period
Point-in-Time Restore (PITR)
- Allows restoring the database to any specific moment within the retention window
- Useful for recovering from accidental deletes or corrupt data
- Creates a new DB instance from the restore point
Operation 2: Maintenance
- AWS periodically applies OS patches and DB engine updates
- You configure a Maintenance Window — a weekly time slot when maintenance tasks are applied
- Best practice: Set this to the least-used time for your application (e.g., Sunday 2 AM – 3 AM)
- During maintenance, the DB may experience:
- Brief unavailability (for single-AZ)
- Automatic failover (for Multi-AZ — minimal impact)
Operation 3: Database Proxy
- RDS Proxy sits between your application and the RDS database
- Manages and pools database connections efficiently
Use a Proxy
| Problem | RDS Proxy Solution |
|---|---|
| Too many app connections overwhelming DB | Pools & shares connections |
| Lambda functions opening too many short-lived connections | Reuses existing connections |
| Slow failover times | Reduces failover time by up to 66% |
| Secret management | Integrates with AWS Secrets Manager |
Common Use Case
- Serverless / Lambda applications where each invocation opens a new DB connection — RDS Proxy prevents connection exhaustion.
Official Docs: aws.amazon.com/rds/proxy
Operation 4: Database Caching
- Caching stores frequently accessed query results in fast in-memory storage
- Reduces load on the RDS instance and improves response times
AWS Caching Services (used with RDS)
| Service | Engine | Use Case |
|---|---|---|
| Amazon ElastiCache | Redis / Memcached | General-purpose query result caching |
| DAX | DynamoDB Accelerator | DynamoDB-specific (not RDS) |
How It Works
Application
↓ query
Cache (ElastiCache)
├── Cache HIT → return result instantly ✅
└── Cache MISS → query RDS → store result in cache → return result
AWS RDS Pricing
Use the AWS Pricing Calculator to estimate costs.
Pricing Models
| Model | Description | Best For |
|---|---|---|
| On-Demand | Pay per hour, no commitment | Dev/test, unpredictable workloads |
| Reserved (1 Year) | Commit for 1 year, save ~25–30% | Stable production workloads |
| Reserved (3 Years) | Commit for 3 years, save ~45–55% | Long-term, mission-critical apps |
Reserved Instance Payment Options
| Option | Description | Savings |
|---|---|---|
| No Upfront | Pay monthly, no upfront cost | Lowest savings |
| Partial Upfront | Pay part upfront + monthly | Medium savings |
| All Upfront | Pay entire year/3yr cost upfront | Highest savings |
Sample Pricing — db.m7g.8xlarge (MySQL)
| Pricing Model | Hourly Cost |
|---|---|
| On-Demand | $2.696 |
| Reserved 1yr — No Upfront | $2.076 |
| Reserved 1yr — Partial Upfront | $2.022 |
| Reserved 1yr — All Upfront | $1.968 |
| Reserved 3yr — Partial Upfront | $1.483 |
| Reserved 3yr — All Upfront | $1.429 |
