IBRAVRA Media Network
Infrastructure • 12 min read

AWS Cost Optimization: Reserved Instances vs Savings Plans Playbook

Ten steady m5.large instances cost $8,409.60 a year on-demand. This playbook compares Reserved Instances and Savings Plans on real AWS rates, works the one-year versus three-year math, and shows exactly when a commitment stops paying.

By Enow A. Jovial • Published 2026-11-12

AWS Cost Optimization: Reserved Instances vs Savings Plans Playbook

Every month the same line sits near the top of thousands of AWS bills: EC2 compute at on-demand rates for instances unchanged in a year. Yet the 40-to-60-percent discount for promising AWS you will keep running them goes unclaimed because nobody did the arithmetic first. This playbook does it, on one fleet, with rates read from AWS.

The two instruments do the same job by different means. A Reserved Instance (RI) is a billing discount on on-demand usage matching a specific instance configuration — type, Region, tenancy, platform — for one or three years. A Savings Plan is a commitment to a consistent amount of compute spend, in dollars per hour, for one or three years, applied automatically to eligible usage. AWS states its own preference plainly: "We recommend Savings Plans over Reserved Instances." The right answer depends on how steady your fleet is, whether you need a capacity reservation, and how much spend you can promise for 1,095 days.

The fleet for every computation here is ten m5.large instances (2 vCPUs, 8 GiB) running Linux in US East (N. Virginia), shared tenancy, 24 hours a day. Every rate below was read from the AWS Price List API or an AWS documentation or pricing page on November 12, 2026.

Step 1 — Measure the floor before you promise anything

A commitment is a promise about the future; the only honest basis for it is the past. In Cost Explorer, filter to EC2 and pull hourly usage for 60 to 90 days. You need the floor, not the average: the lowest steady level of compute the fleet held through nights and weekends. Commit to the floor, never the peak: the commitment is charged every hour whether the usage is there or not.

Utilization is RI hours used divided by RI hours purchased, times 100. Coverage is RI hours used divided by RI hours used plus on-demand hours used, times 100. AWS defines Savings Plans coverage the same way in on-demand-equivalent dollars: nine of ten instances covered is 90 percent. High utilization with low coverage means you bought too little; low utilization with high coverage means you bought too much.

Commit to the floor, not the average and never the peak: the lowest steady hourly compute your fleet held for 60 to 90 days. Every dollar above the floor is a dollar you pay whether the instances run or not.

If the fleet has never held a steady level, stop here: it belongs on-demand and Spot. For the raw compute prices behind the baseline, see AWS EC2 vs Google Compute Engine vs Azure VM Pricing.

Step 2 — Price the on-demand baseline

Computation 1 sets the baseline. The on-demand rate for m5.large, Linux, in US East (N. Virginia) is $0.096 per hour, read from the AWS Price List API (published November 10, 2026; effective November 1, 2026). On-demand billing is per second with a 60-second minimum.

10×$0.096=$0.96 per hour10 \times \$0.096 = \$0.96 \text{ per hour}
$0.96×730 hours=$700.80 per month\$0.96 \times 730 \text{ hours} = \$700.80 \text{ per month}
$0.96×8,760 hours=$8,409.60 per year\$0.96 \times 8{,}760 \text{ hours} = \$8{,}409.60 \text{ per year}
$0.96×26,280 hours=$25,228.80 over three years\$0.96 \times 26{,}280 \text{ hours} = \$25{,}228.80 \text{ over three years}

The 730-hour month is an arithmetic convention (8,760 ÷ 12), the only non-AWS number here. Any commitment that cannot beat $8,409.60 a year at your real utilization is a liability with a discount label.

Step 3 — Compare the instruments on their actual terms

Reserved Instances and Savings Plans differ in what you commit to, how much flexibility you keep, whether capacity is reserved, and what happens when you are wrong — every row carries the AWS page that states it.

InstrumentWhat you commit toFlexibility if you changeCapacity reservationAuthority
Standard RIOne type, one Region, 1 or 3 yearsModify AZ, size, scope; no exchangeYes, if scoped to an AZEC2 RI Pricing page
Convertible RIOne type, one Region, 1 or 3 yearsExchange for equal-or-greater Convertible RI, same RegionYes, if scoped to an AZEC2 RI Pricing page; EC2 User Guide
EC2 Instance Savings PlanDollars per hour, one family/RegionChange size, OS, tenancy in family/RegionNoSavings Plans Guide
Compute Savings PlanDollars per hour, any family/Region/OSChange family/Region/OS; covers EC2, Fargate, LambdaNoSavings Plans Guide

Only a Reserved Instance reserves capacity — a Savings Plan is a billing discount, and AWS states in its FAQ that Savings Plans provide no capacity reservation. If your workload must launch in a specific Availability Zone during a capacity crunch, only a zonal RI answers that. Second, a regional RI trades the capacity reservation for size flexibility: one m4.2xlarge RI covers two m4.xlarge or four m4.large in the Region. Third, Savings Plans cannot be changed after purchase: the commitment can only be added to, never reshaped.

The ceilings price flexibility: Compute Savings Plans up to 66 percent off on-demand; EC2 Instance Savings Plans and Standard RIs up to 72 percent; Convertible RIs up to 66 percent. Those are ceilings, not rates. The rates for one instance type are in the next table.

AWS RI pricing Details table: Standard vs Convertible discounts
AWS RI pricing Details table: Standard vs Convertible discounts
ClassTermPaymentUpfrontHourlyEffective rate
Standard1yrAll Upfront$494$0.000$0.05639
Standard1yrNo Upfront$0$0.060$0.06000
Standard3yrAll Upfront$949$0.000$0.03611
Standard3yrNo Upfront$0$0.041$0.04100
Convertible1yrAll Upfront$577$0.000$0.06587
Convertible3yrAll Upfront$1,161$0.000$0.04418

The effective rate is the upfront fee spread over the term plus the hourly rate: for a one-year All Upfront Standard RI, $494 ÷ 8,760 hours = $0.05639 an hour. Partial Upfront sits between the two — one-year Standard $252 plus $0.029 an hour (39.8 percent), three-year Standard $505 plus $0.019 (60.2 percent), one-year Convertible $294 plus $0.034 (29.6 percent), three-year Convertible $592 plus $0.023 (52.6 percent). Our editorial analysis found AWS's own summary table — Standard 40 percent for one year and 60 percent for three, Convertible 31 and 54 percent — lines up with these recomputed rates.

Paying upfront always buys a deeper discount: a one-year Standard RI is $494 now against $0.060 an hour. Convertible flexibility costs roughly ten points of discount against a Standard RI on the same term. Every option bills "regardless of whether the Reserved Instance is being used," and No Upfront requires a successful billing history first.

AWS Savings Plans pricing: Compute up to 66 percent, EC2 Instance up to 72 percent
AWS Savings Plans pricing: Compute up to 66 percent, EC2 Instance up to 72 percent

Step 4 — Run the commitment math on the fleet

Computation 2 compares one-year and three-year Standard RIs against the $8,409.60 baseline.

10×$494=$4,940.00 per year10 \times \$494 = \$4{,}940.00 \text{ per year}
$8,409.60−$4,940.00=$3,469.60 saved per year\$8{,}409.60 - \$4{,}940.00 = \$3{,}469.60 \text{ saved per year}
10×$949=$9,490.00 for three years10 \times \$949 = \$9{,}490.00 \text{ for three years}
$25,228.80−$9,490.00=$15,738.80 saved over three years\$25{,}228.80 - \$9{,}490.00 = \$15{,}738.80 \text{ saved over three years}

No Upfront needs no cash up front: one-year Standard costs 10 × $0.060 × 8,760 = $5,256.00 a year; three-year costs 10 × $0.041 × 26,280 = $10,774.80.

Computation 3 is the break-even utilization: the cost of the commitment divided by the on-demand cost of the same hours.

$494$0.096×8,760=$494$840.96=58.7% (1-year Standard)\frac{\$494}{\$0.096 \times 8{,}760} = \frac{\$494}{\$840.96} = 58.7\% \text{ (1-year Standard)}
$949$0.096×26,280=$949$2,522.88=37.6% (3-year Standard)\frac{\$949}{\$0.096 \times 26{,}280} = \frac{\$949}{\$2{,}522.88} = 37.6\% \text{ (3-year Standard)}

So a one-year Standard RI pays only above 58.7 percent utilization; the three-year term needs 37.6 percent, the Convertible 68.6 percent on one year, and one-year Standard No Upfront 62.5 percent. The shortfall case: if the fleet shrinks to seven instances for a year while ten one-year Standard All Upfront RIs are active, three RIs sit idle and waste 3 × $494 = $1,482.00. The seven running instances would cost 7 × $0.096 × 8,760 = $5,886.72 on-demand, so the purchase still saves $946.72 — but $1,482.00 of the $4,940.00 bought nothing.

Computation 4 sizes a Savings Plan hourly commitment for the same fleet — dollars per hour, charged every hour of the term, usable only within that hour. AWS publishes per-instance Savings Plans rates only in JavaScript-rendered pricing tables, and the Price List API carries no Savings Plans offer, so the exact EC2 Instance Savings Plan rate for m5.large could not be read from a primary source this cycle. The computation uses a labelled planning proxy: $0.060 per hour, the verified one-year Standard RI No Upfront rate, on the basis that AWS states EC2 Instance Savings Plans deliver the same depth as Standard RIs. Confirm the exact rate in Cost Explorer or the Purchase Analyzer before purchase.

10×$0.060=$0.60 per hour (proxy)10 \times \$0.060 = \$0.60 \text{ per hour (proxy)}
$0.60×730=$438.00 per month, saving $262.80 vs on-demand\$0.60 \times 730 = \$438.00 \text{ per month, saving } \$262.80 \text{ vs on-demand}

If the true Compute Savings Plan rate were $0.066 an hour — ten percent above the proxy — the commitment would be $0.66 an hour, $481.80 a month, $5,781.60 a year, still $2,628.00 below on-demand. What it does not survive is an idle fleet: halve the fleet to five instances for a 730-hour month and the commitment still charges $438.00, while the on-demand value of the usage is 5 × $0.096 × 730 = $350.40 — $87.60 more than on-demand.

A Savings Plan commitment is charged every hour of its term and cannot be carried over. A one-year Standard RI bills its discounted hourly rate for every hour in the term whether the instance runs or not, and an RI purchase cannot be cancelled. Size the commitment to the lowest steady month you have observed, not the month you hope to have.

Step 5 — Buy in the right order

AWS applies the instruments in a fixed order: Reserved Instances first, then EC2 Instance Savings Plans, then Compute Savings Plans, with the discount going to the highest-savings usage first and the rest at on-demand. So cover the stable core with RIs first, then layer an EC2 Instance Savings Plan over the same family, then a Compute Savings Plan for the rest — Fargate, Lambda, and uncommitted families.

For this fleet, the default purchase is a one-year, No Upfront EC2 Instance Savings Plan or one-year Standard RI, sized to the floor, with the balance left on-demand. Buy three years only when the workload has run unchanged for a year and 37.6 percent sits far below the lowest utilization observed. Before buying, test your own numbers in our break-even calculator and the AWS Pricing Calculator. Two escape hatches: a Savings Plan of $100 an hour or less, bought in the past seven days and in the same calendar month, can be returned for a 100 percent refund of upfront charges; and an unneeded Standard RI can be listed on the Marketplace at lower prices and shorter terms.

Buy the one-year term first and let it expire into a decision: a three-year All Upfront Standard RI saves $15,738.80 over three years only if all ten instances survive all three years.

Step 6 — Monitor, modify, and exit on purpose

An RI does not renew automatically: when it expires, the instances keep running and the bill returns to on-demand rates overnight. Calendar every expiry date on the day you buy, with a review 60 days before expiry. Check utilization and coverage monthly: below 95 percent utilization, find out why; below 80 percent coverage, spend is leaking to on-demand rates.

When the fleet changes shape, a Standard or Convertible RI can be modified: AZ, scope between zonal and regional, and size within the same family for Linux. A Convertible RI can be exchanged, with no limit on exchanges, for another of equal or greater value in the same Region, as long as it is active, has no exchange pending, and has at least 24 hours left. An exchange into a more valuable configuration may require a prorated upfront true-up payment, and the exchanged RI keeps its original end date (both per AWS re:Post guidance). RIs can be shared across accounts in a consolidated billing family, and a Convertible RI can never move to a different Region. If the workload moves Regions, the RI does not follow; the Compute Savings Plan does.

Founder & CEO Insight — Enow A. Jovial

"The bill never lies about what you promised. I have watched teams buy three years of capacity for a product that lived eighteen months, then pay the difference in silence because nobody wanted to admit the forecast was a wish. Measure the floor, promise the floor, and let the rest stay on-demand until it earns a commitment."
— Enow A. Jovial, Founder & Chief Executive Officer

Who should NOT commit

Do not commit if your fleet has no floor, if a migration or family change is planned inside the term, or if the workload is younger than one full billing cycle. Do not commit the whole fleet: burst capacity above the floor belongs on-demand or on Spot. Do not buy three years when the runway is shorter than the term. And do not commit before rightsizing: reserving an oversized instance locks in the waste at a discount. The observability bill that tells you whether the fleet is rightsized is covered in Datadog vs Grafana Cloud vs New Relic Observability Pricing Playbook, and the CDN layer around this fleet is priced in Cloudflare vs Fastly vs AWS CloudFront CDN Pricing Latency Playbook.

Execution checklist

  • [x] Pull 60 to 90 days of hourly EC2 usage, record the floor, and compute the baseline: $700.80 a month, $8,409.60 a year
  • [x] Price all three payment options, compare effective hourly rates, and size the commitment to the floor; leave burst on-demand or Spot
  • [x] Buy in order: RIs for the stable core, EC2 Instance Savings Plan for the family remainder, Compute Savings Plan for the rest
  • [x] Validate in the Pricing Calculator and Purchase Analyzer before paying
  • [x] Calendar every expiry date on purchase day, with a review 60 days before expiry, and review utilization and coverage monthly

The decision for this fleet is a one-year commitment sized to ten steady instances: $4,940.00 All Upfront or $5,256.00 No Upfront against $8,409.60 on-demand, saving $3,469.60 or $3,153.60 in year one. Everything else stays on-demand until it earns its own commitment.