AWS cost · reserved instances
Are reserved instances worth it? The real math
A server in my own account ran on on-demand pricing since 2019 - nearly $400 more than it had to be. It was a WordPress site for a client: set it up, it worked, I moved on, for six years. The fix was a reserved instance, a 5-minute decision I never made. No migration, no rebuild - just the same server at a lower price. It ran long enough to renew a 3-year reservation twice. I never bought one.
Reserved instances are worth it for anything that runs steadily for a year or more. A t2.micro drops from about $9.78/month on-demand to about $4.42/month on a 3-year reservation - 55% off for the same server, no migration. The catch is commitment: you pay for the term whether you use it or not, so reserve only steady-state workloads.
How much do reserved instances actually save?
Here is the real math on a t2.micro (eu-central-1, All Upfront, standard reservation):
| Pricing | Cost / month | Savings |
|---|---|---|
| On-demand | ~$9.78/month | |
| 1-year reserved (All Upfront) | ~$6.42/month | 34% less |
| 3-year reserved (All Upfront) | ~$4.42/month | 55% less |
Over six years, on-demand is about $704. Two 3-year reservations are $318 total - for the exact same server. The gap is not a discount you negotiate; it is one you claim by clicking once.
When is a reserved instance worth it?
Any instance that has been stable for more than a year is a reservation candidate. Databases, always-on application servers, background workers - anything that is not going away. The rule of thumb is simple: if you are confident it will still be running for the term, reserve it. This lists every running instance with its launch date, so the long-lived boxes stand out immediately:
# every running instance and how long it has been up
aws ec2 describe-instances \
--filters Name=instance-state-name,Values=running \
--query 'Reservations[].Instances[].{ID:InstanceId,Type:InstanceType,Launched:LaunchTime}' \
--output tableWhat is the catch with reserved instances?
Commitment locks in the instance type as well as the term. If you reserve a box that turns out to be oversized, you are paying a discount on a machine you should have shrunk. So right-size the instance first, confirm it is steady, and only then reserve it. Reserving is the last step of optimization, not the first.
Reserved instances, Savings Plans, or Spot?
Reserved instances give the deepest cut on a fixed, steady instance type. Savings Plans trade a little of that discount for flexibility across instance families, which suits a fleet that changes often. Spot is cheapest of all but can be reclaimed at any time, so it fits interruptible work rather than an always-on server. For a box that has run untouched for years, a reservation is the obvious win.
Want to know which of your instances are steady enough to reserve - and what you would save? Connect your account read-only and see what it is wasting, in real dollars.
The role can only read - Get, Describe, List, nothing else. Read the exact permissions before you deploy it, and delete the stack whenever you want.
Frequently asked questions
Are reserved instances worth it?+
For anything that runs steadily for a year or more, yes. A reservation is the same server at a lower price - up to 55% off on a 3-year term - with no migration and no code change. The only requirement is that the workload keeps running for the term you commit to.
How much do reserved instances save?+
On a t2.micro (eu-central-1, All Upfront), on-demand is about $9.78/month, a 1-year reservation is about $6.42/month (34% off), and a 3-year is about $4.42/month (55% off). Over six years that is $704 on-demand versus $318 with two 3-year reservations, for the same server.
What is the difference between 1-year and 3-year reserved instances?+
The term length and the discount. A 1-year reservation saves about 34%, a 3-year about 55%. The 3-year saves more but locks you in longer, so it fits workloads you are confident will still be running - and on the same instance type - three years out.
What is the catch with reserved instances?+
Commitment. You pay for the term whether you use it or not, so a reservation only pays off on steady-state workloads. Reserve the wrong instance type, or one you later shut down, and you are locked into a discount you cannot fully use.
Do I still pay for a reserved instance if I stop it?+
Yes. A reservation is a billing commitment, not a running machine. The discount applies to matching running usage, but if you stop the instance and have nothing else that matches, you still pay for the reservation you bought.
Reserved instances vs Savings Plans - which should I use?+
Reserved instances suit a specific, steady instance type you will keep running. Savings Plans trade a little of that discount for flexibility across instance families and regions. If your fleet changes often, Savings Plans are safer; if a box is fixed and steady, a reservation gives the deepest cut.
Should I choose All Upfront, Partial, or No Upfront?+
All Upfront gives the biggest discount because you pay the full term at once; No Upfront gives the smallest but keeps your cash. Partial sits between them. If cash flow allows, All Upfront on a steady workload is the cheapest per month.
Related cost breakdowns
Savings Plans vs reserved instances: which one, and how much
A Compute Savings Plan cuts up to 66% and flexes across families, regions, Fargate and Lambda; an EC2 Instance Savings Plan cuts up to 72% but locks to a family. Here is how to choose.
Why your AWS bill suddenly jumped (the free tier ran out)
AWS free tier is time-limited: legacy accounts get 12 months, new ones get $200 in credits for 6 months. When it lapses, previously-free resources bill at full rate. Here is how to see it coming.
You cannot cut an AWS bill you cannot read: cost allocation tags
Untagged resources make it impossible to see which team, service, or environment is spending. Cost allocation tags are free and the enabler for every other cut. Here is how to set them up.