All cheat sheets
Computecheat sheet

EC2 Instance Savings Plans

The precision cousin of Compute Savings Plans: commit to a specific instance family in a specific region for 1 or 3 years for up to 72% off — 6% more than Compute SP. You can flex size, OS, and tenancy, but not family or region. Deepest discount, least flexibility.

Last reviewed: July 14, 2026

TL;DR: If Compute Savings Plans are a buffet pass, EC2 Instance Savings Plans are your VIP table at one specific restaurant — commit to a specific instance family in a specific region for 1 or 3 years and get up to 72% off (6% more than Compute SP). You keep flexibility within those bounds (change size, OS, tenancy) but you're married to that family and region. More commitment, bigger discount — the right tool only when you're genuinely locked in.

The numbers

  • Up to 72% off vs Compute SP's 66% — the reward for locking family + region.
  • You can change: instance size (m5.large ↔ m5.2xlarge), OS (Linux ↔ Windows), tenancy. You can't change: instance family (m5 → c5, or even m5 → m6i), region.
  • Payment: All Upfront (max discount), Partial, No Upfront (most popular, still ~50–60% off); RIs apply first, then Savings Plans fill the gaps.
  • Coverage ~70–80%, utilization target ~90%+ in Cost Explorer.
  • Field examples: a standardized 200-instance c5/us-east-1 game backend committed $300/hr for 72% off its autoscaling baseline; a compliance-locked r5/eu-central-1 analytics fleet bought 3-yr All Upfront with zero waste risk; a team that committed m5/us-west-2 then migrated half its load to Fargate stranded ~$80/hr of coverage — the cautionary case.

Do this

  1. Confirm the fleet is genuinely stable — same family, same region, month after month, with no migration on the roadmap.
  2. Commit to the baseline $/hour, not the peak — deeply discount steady usage, let autoscale spikes ride on-demand.
  3. Exclude Spot from the commitment math (Savings Plans don't cover Spot).
  4. Use Cost Explorer's EC2-Instance-SP recommendation, start 1-year if unsure (you can buy more later; plans stack), and pick payment by cash flow.
  5. Mix with Compute SP — EC2 Instance SP for your most stable workloads, Compute SP for everything evolving; review the portfolio quarterly.

Gotchas

  • Newer generations count as a different family — m5 → m6i breaks coverage, which stings during AWS's frequent generation refreshes.
  • Coverage tanks during EC2→serverless/container migrations — Fargate and Lambda don't count; plan around it.
  • Region-locked — expanding to a new region means on-demand there.
  • 72% you underuse loses to 66% you fully use — a wasted deeper discount is worse than a smaller one fully utilized.

Skip this if

  • Your architecture is evolving, multi-service (EC2 + Lambda + Fargate), or might expand regions — Compute Savings Plans protect against change at a 6% lower discount.
  • You want the classic per-instance-type reservation for a specialized/stable fleet — see Reserved Instances, and the broader Savings Plans overview for choosing between them.

Run this audit with your AI assistant

Paste this into Claude, ChatGPT, or any agent that can run the AWS CLI with read-only credentials. It audits your account for exactly the waste this sheet describes — and changes nothing.

You are auditing an AWS account/Org for EC2 Instance Savings Plans fit.
Use the AWS CLI with READ-ONLY credentials. Do not create, modify, or
delete anything — report findings and recommended (unapplied) fixes only.

1. Stable-fleet detection: from ce get-cost-and-usage / describe-instances
   identify (region, instance family) buckets with steady 24x7 baseline
   usage unchanged for months — the EC2-Instance-SP sweet spot.
2. Change risk: flag fleets likely to migrate off EC2 (to Lambda/Fargate/
   containers) or change family (m5 -> m6i counts as a DIFFERENT family)
   or region — these argue for Compute SP instead.
3. Sizing: recommend committing to the baseline $/hr per bucket (not
   peak), ~70-80% coverage; exclude Spot. Model 1yr vs 3yr and payment
   options (all-upfront deepest).
4. Existing coverage: ce get-savings-plans-utilization/coverage — flag
   <90% utilization (over-committed) and note RIs apply before SPs.

Report a table: region+family | baseline $/hr | recommend commit | term/
payment | est. $/mo saved vs Compute SP | change-risk. Change nothing.
Works with any assistant that can run shell commands.

Want the guided version?

The EC2 Instance Savings Plans walkthrough covers this topic interactively — it asks about your setup, branches to what’s relevant, and quizzes you on the tricky parts. Free and anonymous.

Start the walkthrough