Overview
RDS Reserved Instances (RIs) let you commit to a specific DB instance class, engine, region, and term (1 or 3 years) in exchange for discounted instance pricing compared to On-Demand.1
They are meant for steady-state, always-on databases where you are confident you will need the capacity for most of the term.
How it works
- You buy RIs for a given region, engine, instance class/family, deployment type, and term.
- AWS billing automatically matches running RDS instances to your RIs each hour; covered hours use the RI rate, anything above that is billed On-Demand.1
- RIs discount only the instance cost—storage, I/O, backups, and data transfer are billed separately.1
- For engines with size flexibility (Aurora, MySQL, MariaDB, PostgreSQL, Db2, Oracle BYOL), one RI can cover different sizes within the same family.2
Payment options and discount ranges
AWS documents three payment options for RDS RIs:1
- No Upfront – No upfront payment; discounted hourly rate over a 1-year term. AWS states this can offer up to ~30% lower costs than On-Demand when fully utilized.
- Partial Upfront – Some upfront payment plus a reduced hourly rate over 1- or 3-year terms; AWS states this can provide up to ~60% savings for a 3-year term in steady state.
- All Upfront – Full payment at purchase for a 1- or 3-year term; AWS states this offers the highest discounts, with up to ~63% savings versus On-Demand for a 3-year term when fully utilized.
Across all options, AWS marketing sometimes summarizes potential savings of “up to 69%” when RIs are fully used.1 Actual savings depend on how closely your long-running usage matches the RI configuration.
When to use Reserved Instances
Use RIs when:
- You have 24×7 production databases with stable capacity needs.
- You expect to keep the same engine, region, and instance family for at least 1–3 years.
- You want a billing-only optimization with no application or schema changes.
Avoid or keep RIs small when workloads are spiky or short-lived, when you are likely to change engines/regions/families during the term, or when you lack enough history to pick a safe baseline. If unsure, a small, 1-year No/Partial Upfront commitment is safer than a large 3-year All Upfront block.
Note: RIs are incompatible with cost optimization strategies that stop instances outside working hours. If you plan to stop instances when not in use, do not purchase RIs for those workloads—you’ll pay for the commitment whether the instance is running or not.
Heads up: Test before you commit
Before purchasing Reserved Instances, evaluate whether your workload would benefit from:
- Graviton instances (e.g., db.m7g, db.r7g) – AWS Graviton processors often provide better price-performance than x86 instances for many database workloads.
- Optimized Reads instance families (e.g., db.m6gd, db.r6gd) – For query-heavy workloads with complex operations, Optimized Reads can significantly improve performance by using local NVMe storage for temporary objects.
Switching instance families after buying an RI means your commitment won’t apply to the new instances, and you’ll be locked into paying for capacity you’re not using. Always test and validate the optimal instance family before committing to a 1-3 year reservation.
Compatibility warnings
- Extended Support and RIs – If your engine version approaches end-of-support during your RI term, you may incur additional per-vCPU Extended Support charges on top of your RI commitment. Plan engine upgrades proactively to avoid paying both RI rates and Extended Support fees. See RDS Extended Support for lifecycle timelines.
- Instance family changes – Before committing to a multi-year RI, confirm you’re on a recent instance generation (e.g.,
r7g,m7g) to avoid being locked into older families that may become less cost-effective as newer generations launch.
Resources
Footnotes
-
Size flexibility description in Amazon RDS Reserved Instances ↩