Skip to content

AWS commitment discounts: Reserved Instances, Savings Plans, Spot, and the 30-day alternative

AWS sells the same compute at three prices: on-demand, a discount for committing to one or three years (Reserved Instances and Savings Plans), and a deep discount for spare capacity that can be taken back at any time (Spot). Commitments cut the bill by roughly a third to over half, but you pay the committed amount whether you use it or not, so the discount is only real if the usage outlasts the term. A 30-day commitment trades some of the discount for the freedom to be wrong.

Updated 13 min read

The three prices AWS charges for the same compute

Every EC2 instance, and most other capacity on AWS, can be bought at three prices. On-demand is the list price: metered per second on most operating systems (with a one-minute minimum), no commitment, and the rate every discount is measured against. Commitment discounts, sold as Reserved Instances and Savings Plans, lower the rate in exchange for a promise to pay for a level of usage for one or three years. Spot sells AWS’s spare capacity at a floating price up to 90% below on-demand, with the condition that AWS can take it back at two minutes’ notice.

Above these sits a fourth layer for large accounts: enterprise agreements (the Enterprise Discount Program, or private pricing) that take a percentage off the whole bill in exchange for a multi-year annual spend commitment. AWS does not publish a floor; in practice they start at seven-figure annual spend, and they stack with everything below.

The rule that makes commitments different from every other discount: you pay the committed amount whether you use it or not. An unused reservation is not a lost discount; it is a cost. Everything else in this guide follows from that.

Reserved Instances

A Reserved Instance is not an instance. It is a billing discount that AWS applies to any running instance matching the reservation’s attributes: instance family and size, region or Availability Zone, operating system and tenancy. Launch nothing and the reservation still bills; launch a matching instance and its hourly rate drops to the reserved rate. Reservations exist for EC2, RDS, ElastiCache, OpenSearch, Redshift and DynamoDB (as reserved capacity), each with its own rules, but the mechanics are the same everywhere.

Standard and Convertible

Standard RIs carry the largest discount: AWS’s headline figure is up to 72% for a three-year, all-upfront reservation against on-demand. The attributes are fixed for the term, with one useful exception: a regional Linux Standard RI is size-flexible within its family, so a reservation for one c7a.2xlarge can cover two c7a.xlarge, using AWS’s normalization factors. If you no longer need a Standard RI you can list it for sale on the Reserved Instance Marketplace, subject to AWS’s conditions, which is the only exit an RI has.

Convertible RIs can be exchanged during the term for another Convertible RI of equal or greater value, with a different family, operating system or tenancy. The price of that flexibility is a smaller discount (AWS quotes up to 66%), and Convertible RIs cannot be sold on the Marketplace. In practice, a company that wants this kind of flexibility is usually better served by a Compute Savings Plan, which delivers it without an exchange process.

Payment options and scope

All three payment options (all upfront, partial upfront, no upfront) commit you to the full term; they only change when the money leaves. All upfront gets the deepest discount, no upfront the shallowest, and the gap between them is a few percentage points, which matters far less than the term does. Scope is the other decision: a regional RI applies anywhere in the region and is size-flexible; a zonal RI is pinned to one Availability Zone, is not size-flexible, and in return reserves capacity there, which is a separate thing from a discount and rarely what a cost decision needs.

RDS and the other reserved services

RDS reservations are bought for a database engine, an instance class and a deployment option (Single-AZ or Multi-AZ) for one or three years, and are size-flexible within a family for most engines; there is no Convertible option. Reserved pricing does not extend to serverless capacity such as Aurora Serverless v2, so a database that might move to serverless during the term is a poor candidate. Our RDS pricing guide and RDS cost optimization articles have the numbers; ElastiCache, OpenSearch, Redshift and DynamoDB reserved capacity each follow the same buy-it-and-use-it logic on their own pricing pages.

Savings Plans

A Savings Plan is a commitment to an hourly spend, in dollars, for one or three years. AWS bills eligible usage at the discounted Savings Plan rate up to that hourly commitment and at on-demand beyond it. There are three kinds:

  • Compute Savings Plans apply to any EC2 instance regardless of family, size, operating system, tenancy or region, and to Fargate and Lambda. AWS’s headline discount is up to 66%.
  • EC2 Instance Savings Plans apply to one instance family in one region, flexible across size, operating system, tenancy and Availability Zone. Up to 72%, the same ceiling as a Standard RI, because they carry the same constraint.
  • SageMaker Savings Plans apply to SageMaker ML instance usage, up to 64%.

Two details catch people. First, the commitment is expressed at the discounted rate: a $10-per-hour Compute Savings Plan on usage discounted by 40% covers about $16.67 of on-demand usage per hour, so sizing the commitment off your on-demand spend overcommits by exactly the discount. AWS’s own recommendations in Cost Explorer already account for this. Second, the order of application: if you hold both, Reserved Instances are applied to matching usage first, then Savings Plans, which AWS applies to the usage carrying the highest discount percentage first. A plan is shared across all accounts in the organization unless sharing has been turned off.

Savings Plans have no marketplace. You can return one only within a few days of purchase and only for smaller plans, under conditions AWS sets; otherwise the term is the term. That is the trade-off against a Standard RI: broader coverage, no exit. Our comparison of Savings Plans and Reserved Instances goes through the decision case by case.

Spot

Spot Instances are the same instances at a price set by spare capacity in each pool, up to 90% below on-demand. AWS reclaims them with a two-minute warning when it needs the capacity back, so Spot suits anything that can lose a node without losing work: stateless web tiers behind a load balancer, batch and CI jobs, data processing, and model training with checkpointing (SageMaker’s managed Spot training and Fargate Spot package the same idea). Spot usage is not covered by Reserved Instances or Savings Plans and does not count toward them, which is why the three prices are combined rather than chosen between: the steady baseline on commitments, the interruptible work on Spot, the rest on-demand. The EC2 pricing guide and GPU instance pricing articles carry current Spot figures.

OptionTermWhat it coversAWS’s headline discountWay out
On-demandNoneAnything0%Stop the instance
Standard Reserved Instance1 or 3 yearsOne configuration; size-flexible within a family (regional, Linux)Up to 72%Sell on the RI Marketplace
Convertible Reserved Instance1 or 3 yearsExchangeable for another Convertible RI of equal or greater valueUp to 66%Exchange only
EC2 Instance Savings Plan1 or 3 yearsOne family in one region; any size, OS or tenancyUp to 72%None
Compute Savings Plan1 or 3 yearsAny EC2 instance, Fargate and Lambda, in any regionUp to 66%None
SpotNoneSpare capacity, reclaimable at two minutes’ noticeUp to 90%Reclaimed by AWS
30-day commitment (Wring)30 days, renewedStandard RIs and Savings Plans in your account, re-sized each cycle28% vs 55% at 3 years in the example below5-day exit SLA

Coverage, utilization and break-even

Two percentages tell you whether a commitment is working. Utilization is the share of what you committed to that was actually used: a $10-an-hour plan running at 80% utilization is $2 an hour paid for nothing, about $1,460 a month. Coverage is the share of your eligible usage that a commitment applied to: 40% coverage means 60% of a steady workload is still billed at list price. Both are in Cost Explorer’s Reserved Instance and Savings Plans reports, alongside AWS’s purchase recommendations, and AWS Budgets can alert you when either drops below a threshold. If nobody looks at these monthly, nobody knows.

Break-even is the third number, and the one that decides whether a term hurts. A commitment only beats on-demand if the usage outlasts the point where the total committed payments equal what on-demand would have cost. Using the prices from our 30-day RI/SP page:

  • A c7a.32xlarge at about $5,472 a month on-demand costs about $2,462 a month on a three-year commitment, a 55% discount. Over the term that is $88,632, which equals 16.2 months of on-demand. Retire or shrink that workload before month 17 and the “55% discount” cost more than paying list price.
  • An RDS db.m8g.8xlarge at about $2,172 a month costs about $1,456 a month on a one-year commitment, a 33% discount. The year totals $17,472, or 8.0 months of on-demand. Turn the database off before month nine and you lost money.
The discount is the reward for being right about the future. The break-even is the size of the bet. Before any purchase, divide the total committed payments by the monthly on-demand price and ask whether the workload will exist, unchanged, past that month.

When one- and three-year terms hurt

Usage that grows is safe: the uncovered part simply bills at on-demand until you buy more. Usage that shrinks or changes shape is where terms go wrong.

  • Usage drift. Products get retired, customers churn, a team ships the optimization that halves the fleet. A company that rightsizes six months into a three-year EC2 Instance Savings Plan has locked in the waste it just removed.
  • Architecture changes. A move from Intel to Graviton takes you from c7a to c7g, which a family-locked RI or EC2 Instance Savings Plan does not follow (only a Compute Savings Plan does). Containers moving to Fargate or Lambda, a database moving to serverless, a region move for latency or data residency: each strands a reservation. Our Graviton vs Intel comparison shows why that migration is worth making, which is exactly why committing to the old family for three years is not.
  • Company events. An acquisition that consolidates two AWS estates, a pivot, a large customer leaving. None of them cancel a commitment.
  • Cash. All-upfront payments buy a few extra points of discount with cash that a growing company usually has better uses for. Between a three-year all-upfront and a three-year no-upfront, the term is the risk; the payment option is the smaller decision.

The asymmetry is what matters. Going from one year to three adds a modest amount of discount; it also triples the period in which you can be wrong. For most companies below enterprise scale, that trade is bad for everything except the workloads they are genuinely certain about: the core database, the always-on API tier, the queue workers that have run unchanged for two years.

The 30-day alternative

Wring offers a middle path that did not exist for most companies: standard AWS Reserved Instances and Savings Plans, purchased in your own AWS account, on a 30-day horizon. Each cycle, the commitment is sized to what you are actually running; if usage drops next month, the commitment drops with it at the start of the next 30-day cycle. You see every commitment, with its break-even, before it is placed. If you need to get out, the commitment is removed under a five-day exit SLA; the removal is insured and the exit route is the AWS Marketplace. Existing Savings Plans keep working exactly as they do; the 30-day commitments cover what is left. The only thing that changes on your side is that your AWS bill comes from Wring, which is how AWS pays for the service and why it is free. The details are on the 30-Day RI/SP page.

The trade-off is the discount. A 30-day commitment cannot be as deep as a three-year lock-in, because the risk you are no longer carrying has to go somewhere. In the two examples on our product page:

InstanceOn-demand30-day commitmentLong-term commitmentBreak-even of the long term
EC2 c7a.32xlarge≈ $5,472 / month≈ $3,967 / month (−28%)≈ $2,462 / month (−55%, 3-year)16.2 months of on-demand
RDS db.m8g.8xlarge≈ $2,172 / month≈ $1,814 / month (−16%)≈ $1,456 / month (−33%, 1-year)8.0 months of on-demand

Read the table as a decision rule. If you are certain the c7a.32xlarge runs unchanged for three years, the three-year commitment is better by about $1,500 a month, and you should take it. If there is a real chance the workload shrinks, moves to Graviton or is re-architected within 17 months, the 30-day rate beats both on-demand and a stranded commitment. Most fleets contain both kinds of workload, which is why the usual answer is a blend: long terms for the fixed core, 30-day commitments for the rest, Spot for anything interruptible.

Common mistakes

Buying for the wrong attributes

A Reserved Instance matches attributes exactly. A zonal RI in the wrong Availability Zone, a Windows reservation for a Linux fleet, a dedicated-tenancy reservation for shared instances, or a c5 reservation for a fleet that moved to c6i last quarter: each one bills every hour and discounts nothing. Check the running fleet’s attributes in Cost Explorer before buying, and prefer regional scope unless you specifically need reserved capacity.

Committing to the peak instead of the floor

Commit to the lowest hourly usage you are confident of for the whole term, not the average and never the peak. Growth above the floor goes on-demand until the next purchase; that is fine. Commitment above the floor is paid for whether or not the usage arrives.

Committing before rightsizing

Rightsize first, then commit. Compute Optimizer and the utilization data in CloudWatch will tell you which instances are oversized; buying a reservation for an oversized instance locks in the oversizing for the term. Our cloud rightsizing guide is the place to start, and EC2 cost optimization lists the rest.

Not watching utilization, or expiry

Utilization below 100% is money out. Set a budget alert on utilization and coverage, review the report monthly, and turn on the expiry notifications in the billing preferences: a reservation that expires quietly puts the whole workload back at on-demand, and the first sign is usually a bill that jumped.

Sizing a Savings Plan in on-demand dollars

The commitment is at the discounted rate. Committing your current on-demand hourly spend to a plan with a 40% discount overcommits by that 40%, and the excess is paid every hour of the term. Use the recommendation in Cost Explorer, which already converts.

Sharing turned off, or the wrong account

Discount sharing across an organization is on by default, but it can be disabled per account, and a commitment bought in an account whose sharing is off covers that account alone. Check the setting in the management account before buying anywhere other than the account that runs the workload.

Paying for flexibility you never use

Convertible RIs cost more than Standard RIs for the right to exchange. If nobody ever exchanges them, you paid for nothing; and if flexibility is what you want, a Compute Savings Plan provides it without a process.

Go deeper

The articles this guide draws on, with the current figures, in the order they are worth reading.

Commitment discounts: questions & answers

Both are one- or three-year commitments with similar discounts. A Reserved Instance is a discount on a specific instance configuration (family, region, operating system, tenancy); a Savings Plan is a commitment to an hourly spend that AWS applies across eligible usage, with Compute Savings Plans covering any EC2 family plus Fargate and Lambda. Standard Reserved Instances can be sold on the RI Marketplace; Savings Plans cannot be sold.

AWS’s headline figures are up to 72% for three-year Standard Reserved Instances and EC2 Instance Savings Plans, and up to 66% for Compute Savings Plans, paid all upfront. Real figures depend on the instance and the term: in the examples on this page, a c7a.32xlarge saves 55% on a three-year commitment and 28% on a 30-day one, and an RDS db.m8g.8xlarge saves 33% on a one-year commitment and 16% on a 30-day one.

No. Reserved Instances cannot be cancelled; a Standard RI can be listed for sale on the Reserved Instance Marketplace and a Convertible RI can be exchanged for another Convertible RI. Savings Plans can be returned only within a few days of purchase, for smaller plans, under conditions AWS sets. Otherwise you pay for the full term.

No. Spot has its own market price and is neither covered by nor counted toward commitments. The usual pattern is commitments for the steady baseline, Spot for interruptible work, and on-demand for the rest.

Wring’s product: standard AWS Reserved Instances and Savings Plans bought in your own AWS account, sized to the last 30 days of usage and re-sized at the start of each 30-day cycle, with a five-day exit SLA and insured removal via the AWS Marketplace. The discount is shallower than a three-year term (28% instead of 55% on the c7a.32xlarge example) in exchange for being able to leave.

Three years only for usage you are certain of for three years: the core database, the always-on API tier. For everything else, the extra discount is modest and the exposure is tripled. Work out the break-even in months (total committed payments divided by the monthly on-demand price) and ask whether the workload will exist, unchanged, past that month.

See your 30-day rate before you commit to anything.

Read-only access. Every commitment shown with its break-even before it is placed.

Free savings analysis · No credit card · No obligation