I just lowered my Amazon EC2 bill, over 3 years, from $6,120 to $583. Or, put another way, I just saved myself $5,500 dollars.
Here’s how it happened. I was in Vegas this week for BlackHat / DEFCON and was hanging with my friend Saša Zdjelar in the hotel and messing with EC2 (as one does in Vegas).
We were talking about how Amazon basically releases new stuff every 12 minutes, and that it’s so hard to keep up with all of the features. And at one point he says,
Hey, have you seen these Reserved Instances?
I say no. Or maybe. Or I think so. Because I’m not sure which kind Reserved instances actually are. Amazon is famously bad at naming things, and I can’t remember if those are the ones where you have dedicated hosting, or if it’s the kind where you pay less to get leftover resources from other peoples’ boxes.
Turns out it’s neither. It’s not even a type of instance—it’s a type of billing.
Basically, it’s for people who plan on running a specific size of EC2 instance, in a specific availability zone, for an extended period of time. Say from 12 to 36 months.
So if you build and destroy your boxen every 37 minutes or something this isn’t for those systems. It’s for systems that are relatively static, like a personal or company web server. In my case I host this site on EC2, and I have a box dedicated for that purpose.
I was paying around $160 a month for my T2.Medium with lots of options enabled. I just took that to $583 over 3 years, which is around $24 dollars a month. If this holds true it’s basically gone from the most expensive host I’ve ever had to the least expensive.
How to migrate to the Reserved Model
The way to get to Reserved billing is counterintuitive.
Basically, you have to pretend that you’re buying a new instance, of the Reserved type, with the exact same attributes of the one you want to convert. Upon making the purchase you will have converted the other one.
It’s gross, but it works.
- Navigate to
- Click on Reserved Instances.
- Select an instance that matches the one you want to replace the billing on, for both instance type/size and instance availability zone. For example, mine was T2.Medium and US-East-1a.
- Make the purchase.
So what then happens is that Amazon finds your running On Demand instance and converts it to a Reserved instance. And now if you go into billing you should see that reflected.
And more importantly, if you go into your instances dashboard you’ll just see the same ones you had before. You haven’t actually purchased a new box; you’ve just converted the one that matched those specs from On Demand to Reserved.
For anyone running a box in EC2 that isn’t likely to change in size or location over one to three years, I highly recommend you check out Reserved Instances. They could save you a massive amount of money, just like it did for me.
- Yes, the title is clickbaity. I try to avoid such tactics with my site, but in this case I think it’s warranted because 1) it literally describes what happened, and 2) it would likely to be ignored if I wasn’t that clear about the benefit.
- Thanks to Sasa for repeatedly insisting I look at these things. I had become jaded against changing instance types because of the damage to my brain from Amazon Naming Trauma (ANT), and he helped me get through it.