We recenently realized that we did have a reserved instance from 11-2015 to 11-2016. We saw our billing going up noticably around December 2016 but we were growing at the time and didnt have time for little accounting issues, we had assumed that the increase in our billing was only due to increased demand on infrastructure. Wrong! In turns out that Amazon switched us from reserved to on demand without any warnings or heads up. We went back and checked our email records and did not find anything.
Amazon EC2 offers three pricing options for instances:
Better to use reserved than on demand. will save you a lot of money As an example, one of the nodes behind the ELB is a m3.medium us-west-2b which has 4GB RAM, 8GB Storage, Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz. As an on demand instances it was running at about $0.067 per on demand instance per hour $50 / month. In contrast the same box as a reserved instance would vost about $15 / month.
The parameters that you could play with are:
* (A) 12 Month
* (B) 36 Month* (B) Partial UpFront
* (C) No Upfront For am3.medium
instance in us-west-2 region (prices as of February 2018
):
Price term payment options effective rate/hour Total cost over 3 years
$687 UF/0 Y B A $0.026 $687
$337 UF/131.4Y B B $0.028 $731
$353 UF/0 Y A A $0.040 $1059$211 UF/149Y A B $0.041 $1080
$0 UF/420Y A C $0.048 $1261The 2nd option is the best option because for an extra $44 it provides optionality for change after the 2nd year.
February 2021
Update: The prices for Partial Upfront Linux/UNIX m3.medium for 36 months, Payment Terms: Upfront + Hourly (Regardless of usage) are $337.00 upfront and $0.015/hour.
EC2 console
> Instances
> Reserved Instances
, select the item and pick Renew Reserved Instance
from the dropdown menu.
For example, if you only buy a reserved instance in us-east-1a, you should setup your AutoScaling group to launch instances in us-east-1a. If your AutoScaling group is configured to launch instances in us-east-1a and us-east-1b, and AutoScaling launches an instance in us-east-1b, it will be billed as an on-demand instance unless you also buy a reserved instance in us-east-1b.
Note that the tool that AWS provides to purchase a reserved instance appears to want to create a new instance. It does not provide an interface to select an existing instance to change billing on. The "Purchase Reserved Instances" wizard in the console appears to be creating a new instance--a new virtual server. It is asking questions like which platform, which availability zone, etc.
It might help to realize that a reserved instance is actually just a reservation and no instance will be created when you purchase one. If you have an existing instance, you simply purchase a reservation matching that instance type, platform, and availability zone. Behind the scenes, the billing system is constantly looking at the running instances and your reservations. When there is a match (same type, platform, az), you automatically get the lower hourly rate.
In short a reservation isn't tied to any particular instance.