Guides · Commitments
AWS gives a lower price on EC2 in exchange for a one- or three-year commitment. There are three main ways to make it: Compute Savings Plans, EC2 Instance Savings Plans and Reserved Instances. They trade discount for flexibility. All of them bill for the full term whether or not you use them, so the hard part isn't choosing the type. It's choosing how much to commit.
| Option | Discount (AWS's figure) | What you commit to | Where the discount applies |
|---|---|---|---|
| Compute Savings Plans | up to 66% | A dollar amount per hour | EC2 in any instance family, size, Availability Zone, Region, OS or tenancy, plus Fargate and Lambda |
| EC2 Instance Savings Plans | up to 72% | A dollar amount per hour, for one instance family in one Region (for example m5 in N. Virginia) | Any size, OS or tenancy within that family and Region |
| Standard Reserved Instances | up to 72% | An instance type, platform, tenancy and Region (optionally an Availability Zone) | Matching usage. A regional RI can apply across sizes in its family. You can modify the Availability Zone, instance size (Linux) and networking type |
| Convertible Reserved Instances | up to 66% | The same attributes as a Standard RI | Matching usage. You can exchange them for other Convertible RIs of equal or greater value, changing family, OS and tenancy |
The "up to" figures are best cases. AWS also lists average discounts for Reserved Instances: Standard RIs average 40% off On-Demand for 1 year and 60% for 3 years, Convertible RIs 31% and 54%.
Terms are 1 or 3 years for all four. Each has three payment options: No Upfront (billed monthly), Partial Upfront (for Savings Plans, at least half the commitment upfront and the rest monthly) and All Upfront. Paying more upfront gets a lower rate.
Two other kinds of Savings Plan cover other services: Database Savings Plans (up to 35%, 1-year term, no upfront payment; see the RDS guide) and SageMaker Savings Plans (up to 64%). Compute Savings Plans don't cover RDS.
An m5.large running Linux in US East (N. Virginia), from AWS's price lists:
| Option | 1-year, No Upfront | Off On-Demand | 3-year, No Upfront | Off On-Demand |
|---|---|---|---|---|
| On-Demand | $0.096 / hr ($70.08 / month) | |||
| Compute Savings Plan | $0.071 / hr ($51.83) | 26% | $0.049 / hr ($35.77) | 49% |
| EC2 Instance Savings Plan (m5) | $0.060 / hr ($43.80) | 38% | $0.041 / hr ($29.93) | 57% |
| Standard Reserved Instance | $0.060 / hr ($43.80) | 38% | $0.041 / hr ($29.93) | 57% |
| Convertible Reserved Instance | $0.071 / hr ($51.83) | 26% | $0.049 / hr ($35.77) | 49% |
For this instance, an EC2 Instance Savings Plan costs the same as a Standard RI, and a Compute Savings Plan the same as a Convertible RI. Paying everything upfront for 3 years lowers it further: an m5 EC2 Instance Savings Plan is $0.036 an hour, and a 3-year All Upfront Standard RI is $949, which works out to about $0.036 an hour. Rates differ for every instance type, OS and Region, so check your own in the console before comparing.
Monthly figures use AWS's 730-hour month.
AWS's own advice for EC2 is to move from RIs to Savings Plans as the RIs expire, because Savings Plans "offer the same savings as RIs, but with additional flexibility."
AWS calculates recommendations from your own usage: it works out what your bill would have been over a past period with an extra commitment, and recommends the amount that would have saved the most. It doesn't forecast. If your usage is about to change, the recommendation doesn't know. A method that keeps that in view:
The same recommendation from the CLI (read-only; each Cost Explorer API request costs $0.01):
aws ce get-savings-plans-purchase-recommendation \
--savings-plans-type COMPUTE_SP --term-in-years ONE_YEAR \
--payment-option NO_UPFRONT --lookback-period-in-days SIXTY_DAYS \
--query 'SavingsPlansPurchaseRecommendation.SavingsPlansPurchaseRecommendationDetails[].[HourlyCommitmentToPurchase,EstimatedAverageUtilization,CurrentMinimumHourlyOnDemandSpend,CurrentAverageHourlyOnDemandSpend,CurrentMaximumHourlyOnDemandSpend]' \
--output table
Swap COMPUTE_SP for EC2_INSTANCE_SP, and SIXTY_DAYS for SEVEN_DAYS or THIRTY_DAYS, to compare. AWS only generates recommendations if you averaged at least $0.10 an hour of On-Demand spend in the lookback period.
A commitment is billed every hour of the term, used or not, and each hour's commitment can't be carried over to the next. The arithmetic for the $0.71 an hour Compute Savings Plan above (1-year, No Upfront):
| m5.large instances running | With the plan, per hour | On-Demand, per hour | Plan saves |
|---|---|---|---|
| 10 | $0.71 | $0.96 | $0.25 |
| 8 | $0.71 | $0.768 | $0.058 |
| 7 | $0.71 | $0.672 | −$0.038 |
| 5 | $0.71 | $0.48 | −$0.23 |
Fully used, the plan saves $182.50 a month ($518.30 instead of $700.80). In any hour when less than 74% of the commitment is used, the plan costs more than having no plan at all. That break-even point is one minus the discount, so the smaller the discount, the less room you have. If half the fleet is retired three months in, the remaining nine months cost about $168 a month more than On-Demand would have, about $1,511 in total.
The same logic applies to Reserved Instances, with one more way to lose: a Standard RI or EC2 Instance Savings Plan also stops applying if you move to a different instance family or Region.
The free checkup finds this and 20 other kinds of issues automatically. It reads AWS's own Compute Savings Plan recommendation for your account (1-year, No Upfront, based on the last 30 days) and reports the recommended hourly commitment and AWS's estimated saving. If its EC2 findings would remove compute, it scales the saving down to match and tells you to re-check the recommendation after cleanup. It doesn't change the commitment amount itself. It also reads AWS's 1-year, No Upfront reserved instance recommendation for RDS. It doesn't read EC2 Instance Savings Plan or EC2 reserved instance recommendations or 3-year terms, and it doesn't check how well the Savings Plans and reservations you already own are used.
BoxUsage:m5.large On-Demand $0.096/hr; Standard RI No Upfront $0.060 (1-year) and $0.041 (3-year); Convertible RI No Upfront $0.071 and $0.049; 3-year All Upfront Standard RI $949. AWS Price List API, Savings Plans offer for us-east-1, version published October 3, 2026: Compute Savings Plans No Upfront $0.071 (1-year) and $0.049 (3-year); EC2 Instance Savings Plans (m5) No Upfront $0.060 and $0.041, 3-year All Upfront $0.036.Prices are AWS list prices for US East (N. Virginia), checked October 3, 2026. Other regions, operating systems and instance types differ. Percentages are rounded. Your bill may also reflect credits or private pricing.