Chapter 2.1111 of 12 in this part

Lock-in is a cost, and it is largest for the smallest buyer

AWS will refund a Savings Plan in full — if the hourly commitment is $100 or less, you ask within seven days, and the calendar month hasn't ended. Every exit in this market is an absolute dollar threshold, which means they are generous to small commitments and meaningless to large ones. The small buyer still carries the larger cost.

11 min read·revised 2026-08-08

Commitment maths established when a commitment pays. This chapter is about what happens when you are wrong — and that is a different question, because the discount is symmetric across buyers and the exit is not.

Start with the fact almost nobody knows: AWS will undo a Savings Plan purchase entirely, and refund it in full. The conditions are the chapter.

The seven-day window

Any Savings Plan with an hourly commitment of $100 or less that has been purchased in the last seven days and in the same calendar month can be returned, provided you haven't reached your return limit.

The refund is not partial: "you'll receive a 100% refund for any upfront charges made towards your plan," reflected in the bill within 24 hours. The action is a console button or a ReturnSavingsPlan API call, and it "can't be reverted." The quota is 10 returns per calendar year per management account.

Now put the $100/hour cap against a real GPU commitment. A three-year all-upfront EC2 Instance Savings Plan covering a p5.48xlarge is $20.69504/hour, resolved from AWS's pricing feed today. So:

Instances covered Hourly commitment Three-year commitment Returnable?
1 $20.70 $543,866 yes
4 $82.78 $2,175,463 yes
5 $103.48 $2,719,328 no

Four p5.48xlarge is the boundary. $100 ÷ $20.69504 = 4.83, so a plan sized for four instances squeaks under and a plan sized for five is permanently outside the return mechanism.

Read that again as a statement about who the mechanism serves. A company that commits $2.18 million can undo it inside a week. A company that commits $2.72 million cannot undo it at all, ever. The escape hatch is calibrated in absolute dollars, so it is a full escape for a small buyer and no escape for a large one.

The window is not seven days

The rule has two clauses joined by and: within seven days and in the same calendar month. AWS is explicit about the second: "Once the calendar month ends (UTC time), these purchased Savings Plans can no longer be returned."

So the usable window is min(7 days, days left in the UTC month). Buy on the 1st and you get the full seven. Buy on the 31st and you get the remainder of that day. Same purchase, same product, same mistake — a window that varies by a factor of seven depending on a date that has nothing to do with your workload.

This is worth a calendar reminder more than a paragraph of analysis. If you are buying near month end and you are not certain, wait two days and buy on the 1st. That single choice buys you the maximum window at zero cost.

After the window: what the marketplace will and won't take

Past seven days, the Savings Plan has no exit — it is not a Reserved Instance, and the Reserved Instance Marketplace states what it accepts as a whitelist: "Only Amazon EC2 Standard regional and zonal Reserved Instances can be sold."

If you did buy a Standard RI, the resale channel exists and is capped:

The following limits for selling Reserved Instances apply to the lifetime of your AWS account. They are not annual limits and they can't be increased. You can sell up to $50,000 in Reserved Instances. You can sell up to 5,000 Reserved Instances.

A lifetime cap in flat dollars behaves exactly like the $100/hour one:

Committed $50,000 cap recovers
$250,000 20%
$543,866 (one p5 on a 3-year plan) 9.2%
$1,000,000 5%
$5,000,000 1%
$50,000,000 0.1%

And the gates around it exclude precisely the buyers who most need an exit:

  • Convertible RIs "can't be sold in the Reserved Instance Marketplace" — the flexible instrument, the one an uncertain buyer should prefer, is the unsellable one.
  • "You can't sell a Reserved Instance in the Reserved Instance Marketplace if you purchased it using a volume discount."
  • Only the AWS account root user can register as a seller, and registration requires a tax interview and a bank account where "the bank you specify must have a US address." Verification of a new account "can take up to two weeks."
  • The RI must have been active at least 30 days, with at least one month remaining in its term.

The US-bank requirement is the one to sit with. A ten-person company outside the United States does not have a reduced exit from an AWS Reserved Instance. It has none. That is not a pricing term; it is a payments-plumbing term, and it is invisible from the purchase screen.

Azure caps the exit too — and its cap traps the large buyer outright

Azure allows refunds, "up to $50,000 USD in a 12 month rolling window," applied against remaining commitment. Microsoft publishes its own worked example, and it is more revealing than any analysis:

assume you bought a three-year reservation (36 months) with a monthly payment. It costs 3,000 USD per month for a total commitment of 108,000 USD. Because of the 50,000 USD cancellation threshold, you can't cancel the reservation until you've spent 58,000 USD of your commitment.

That is the mechanism stated plainly: the cap is on the unspent remainder, so a commitment larger than $50,000 is uncancellable until it has been consumed down to $50,000. Generalising — you must spend C − 50,000 before the door opens:

Total commitment Locked until you've spent = share of the term
$50,000 or less $0 0% — cancellable on day one
$108,000 (Microsoft's example) $58,000 53.7%
$250,000 $200,000 80.0%
$500,000 $450,000 90.0%
$1,000,000 $950,000 95.0%
$5,000,000 $4,950,000 99.0%

A buyer with a $50,000 commitment can walk away immediately. A buyer with a $5 million commitment is locked for 99% of the term — by which point cancelling is a formality, not a remedy. Azure adds that the refund pool replenishes on a 365-day rolling basis and that "we're currently not charging an early termination fee, but in the future there might be a 12% early termination fee for cancellations" — a stated intention to make the exit worse.

One dated item to act on rather than file: from 1 February 2027, Azure reservations bought after that date are not eligible for exchange where the service is covered by savings plans — Virtual Machines included. Reservations bought before that date "retain the right to one final exchange." Today is 8 August 2026. If exchange rights matter to you, the instrument you buy in the next six months is not the instrument you buy after.

Google: no exit is documented, for either instrument

Google is the shortest section because the documentation is one sentence, repeated for both commitment types: "You can't cancel a commitment after its purchase." Resource-based commitments bill "monthly for your committed resources until the end of your commitment term, regardless of whether or not you use those resources." There is no marketplace, no refund window, no cap to be inside or outside of.

That is not worse than a capped exit in every case — a rule you can read in one line is easier to price than four interacting thresholds. It is worse in the case that matters: you were wrong, and you would like to stop paying.

The discount does not scale, so the risk-adjusted deal gets worse with size — until the caps bite

Here is the finding that ties it together. Pulling every published Savings Plans rate for p5.48xlarge in us-east-1 returns exactly twelve entries — two plan types × two terms × three payment options — and one rate each. There is no size dimension in the table at all.

A buyer committing $543,866 and a buyer committing $54 million are quoted the identical $20.69504/hour, which against the $55.04 on-demand rate is a 62.4% discount for both.

So the compensation for accepting a three-year commitment is a constant, and everything else about the trade is not:

  • The exit thresholds are fixed dollars, so they shrink as a fraction of a bigger commitment until they mean nothing.
  • The concentration is a fixed fraction, so it grows with how small you are.

One p5.48xlarge on a three-year plan is $181,289 per year. For that to be a routine 10% line item, you need to be spending $1.81 million a year on cloud. At $725,154 a year it is a quarter of everything you spend. At $362,577 it is half.

That is where lock-in is largest for the smallest buyer, and it is not in the refund terms. The mechanisms — $100/hour, $50,000 lifetime, $50,000 rolling — genuinely favour small commitments, and this chapter has said so plainly rather than forcing the opposite. The cost is elsewhere: a commitment that is 3% of an enterprise's cloud bill and 50% of yours carries the same 62.4% discount and a wildly different consequence if demand doesn't arrive. And the windows that would save you are measured in days, while the doubt about whether you needed the capacity arrives in months.

The diagnostic

  1. Is your hourly commitment $100 or under? If yes, you have a seven-day, 100%-refund undo on AWS. If no, you have none. Know which side you are on before you click.
  2. What is today's date, in UTC? Buying on the 28th–31st truncates your return window to the remainder of the month. Wait for the 1st.
  3. Put the return deadline in a calendar, now. Seven days is short enough that the reminder is the control.
  4. If you are buying an RI rather than a plan, is it Standard or Convertible? Convertibles cannot be sold at all. The flexible instrument has the worse exit, which inverts the usual intuition.
  5. Do you have a US-address bank account and root-account access? Without both, the AWS resale channel does not exist for you regardless of what you bought.
  6. On Azure, is your commitment above $50,000? If so, compute C − 50,000 — that is how much you must spend before cancellation is even available.
  7. On Azure, are you buying before or after 1 February 2027? After that date, VM reservations lose exchange rights entirely.
  8. What share of your annual cloud spend is this commitment? Not what share of your usage — what share of your budget. That number, not the refund cap, is the size of the bet.

What this chapter is not saying

It is not saying don't commit. A 62.4% discount is enormous, the seven-day return is a genuine safety net for commitments under $100/hour, and for stable load the maths in commitment maths says commit.

It is saying that the exit terms are not a footnote to the discount — they are the other half of the product, they are written in absolute dollars and fixed calendar rules, and none of them appear on a pricing page. Every provider here documents its exit clearly. It just documents it somewhere you have to go looking, in a section named after a thing you do not yet believe you will need.

Sources & methodcaptured 2026-08-08

Sources, captured 2026-08-08. AWS Savings Plans returns: the $100-per-hour commitment ceiling, the seven-day-and-same-calendar-month rule, the "Once the calendar month ends (UTC time)" statement, the 100% upfront refund and 24-hour bill reflection, the ReturnSavingsPlan API action and the "can't be reverted" warning are quoted from AWS's Savings Plans User Guide, "Returning a purchased Savings Plan." The limit of 10 returns per calendar year per management account is from the same guide's "Quotas and restrictions" page, which also states the returning management account must be the purchasing one. AWS Reserved Instance Marketplace: the lifetime $50,000 and 5,000-unit selling limits and the "not annual limits and they can't be increased" wording, the Standard-only whitelist, the Convertible exclusion, the volume-discount exclusion, the 30-day-active and one-month-remaining conditions, the root-user registration requirement, the US-address bank requirement and the up-to-two-weeks verification are all from the EC2 User Guide's "Sell Reserved Instances… in the Reserved Instance Marketplace." Azure: the "$50,000 USD in a 12 month rolling window" refund cap, the full worked example ($3,000/month × 36 months = $108,000 total, uncancellable until $58,000 is spent), the replenishment behaviour, the "we're currently not charging an early termination fee, but in the future there might be a 12% early termination fee" statement, and the 1 February 2027 exchange-eligibility change with its "one final exchange" provision are quoted from Microsoft Learn, "Self-service exchanges and refunds for Azure Reservations." Google: "You can't cancel a commitment after its purchase" and the bill-regardless-of-use language are from Google's Compute Engine committed-use-discount documentation, quoted for both resource-based and compute-flexible commitments. Rates: the $55.04/hour on-demand and $20.69504/hour three-year all-upfront EC2 Instance Savings Plan rates for p5.48xlarge in us-east-1 were re-resolved today from AWS's own pricing feeds. Computed by me and verified in a separate pass: the four-instance return boundary (100 ÷ 20.69504 = 4.83) and the hourly and three-year totals at four and five instances — this assumes a plan sized to exactly cover N instances running continuously, so its hourly commitment is N × the discounted rate, which is the standard sizing but is my assumption rather than AWS's statement; the $543,866 three-year commitment (26,280 hours, from AWS's own definition of three years as 94,608,000 seconds); the exact 62.4% discount; the $50,000-cap-as-percentage ladder; every row of the Azure lock-out table, which reproduces Microsoft's published $108,000 → $58,000 example as its anchor point; and the $181,289 annual figure with its budget-share ladder. The claim that a Savings Plan cannot be sold after the return window is an inference from the marketplace's whitelist ("Only Amazon EC2 Standard regional and zonal Reserved Instances can be sold"), not a statement AWS makes about Savings Plans directly. Whether the day of purchase counts toward the seven days is not specified by AWS, so the chapter states the boundary cases rather than a precise day count. The budget-share ladder is inverted from sourced figures rather than assuming anyone's budget — no small-company cloud spend is estimated anywhere here. No neocloud exit terms appear: RunPod, Lambda, Crusoe, Modal, Nebius and CoreWeave publish contract durations and reserved tiers but not cancellation or resale policies I could resolve, and the neocloud landscape covers what those vendors do and don't disclose. Egress as a second lock-in axis is named but not priced — inter-region and internet data-transfer rates remain unresolved from AWS's feeds, as declared in regions, residency, and sovereignty, and no figure is invented here. The diagnostic and the mechanism-versus-cost framing are mine.

Want this done on your account rather than by you?

The handbook is the method, written out in full so you can run it yourself — that is the point of publishing it. If you would rather someone else did the first pass, the teardown is free and you keep the findings either way.