A very common question on AWS forums goes like this: "how do I convert an existing EC2 instance to a reserved instance?"
The answer: "you don’t", because you don’t need to.
Amazon EC2 Reserved instances is not a technical term, it is purely an accounting term and thus, only affects your AWS bill.
When you purchase a reserved instance, the AWS accounting algorithm will automatically apply the reserved instance to any single applicable EC2 instance. Criteria include:
Region and availability zone
Instance type (micro, small, large, etc.)
The instance is in a running state
The instance does not currently have a reserved instance applied to it already
There's nothing you need to do other than purchase the reserved instance. Everything after that is automatic. In addition, reserved instance are not "locked" to a particular EC2 instance.
You launch an instance and purchase a reserved instance. This is your only EC2 instance. Assuming the instance matches the criteria of the reserved instance, you’ll automatically benefit from the reserved instance.
If you launched a second applicable instance, then you will benefit from the reserved instance once, and pay standard on-demand pricing for the other. You don’t know which one is which, but it really does not matter.
At this point, you stop the original instance. The reserved instance will continue to be applied to the second instance because it is now applicable.
Why Is It called "Reserved"?
The name "Reserved Instance" is because your purchase is actually reserving server capacity. It is a guarantee to you that when you need to run that Reserved Instance, that you will be able to. You won't be told that there is insufficient capacity when you attempt to start your EC2 instance.
New Model: Upfront and Monthly Costs
Amazon recently changed their business model for Reserved Instances. They discovered that over 95% of all Reserved Instances using the old model were "heavy" instances. Thus they simplified the billing process.
When you purchase a Reserved Instance, you are given the choice of the following:
Paying the entire yearly cost of the Reserved Instance upfront. If you do this, there won't be any more costs for this Reserved Instance for the next 12 months.
Paying half the yearly cost up-front. The remainder is split evenly over the following 12 months.
Paying no upfront fee. The entire yearly cost is split evenly over the following 12 months.
In all 3 choices above, you are committing to paying for the entire yearly cost. Even if you choose option #2 or #3 and never run another EC2 instance, you will be charged for your Reserved Instance purchase over the next 12 months.
Old Model: Light, Medium or Heavy?
This section refers to the old model for Reserved Instances and is kept for historical reasons.
Amazon offers 3 utilization sizes: light, medium and heavy. Each offers a different up-front cost and per-hour cost. When you’re purchasing your reserved instance, you need to decide how much your instance will be running.
If your instance will only be running a small amount of time, then choose the “Light” utilization.
If your instance will be running all the time (24 hours a day, 7 days a week, 365 days a year), then choose the “Heavy” utilization.
If your instance will be running somewhere in between, then choose the “Medium” utilization.
Beware when purchasing a heavy utilization reserved instance: even if you only use your instance 1 out of 24 hours in a day, you will be charged for the entire 24 hours. In fact, Amazon adds to your invoice a full month’s worth of hours at the start of each month.
Mixing Reserved Instances and the Free-Usage Tier
Be careful if you purchase a reserved instance while you are still covered under the free-usage tier.
I was told by Amazon Customer Service that reserved instances are applied before the free-usage tier is applied.
You have two micro instances running in the same availability zone. The free-usage tier allows for 750 hours of free usage each month. Running these instances all day for a full 31-day month ends up with 1,488 running hours. Naturally, you think that perhaps a reserved instance may benefit you for the 738 hours that is not covered by the free-usage tier. So you purchase a reserved instance.
Then you look at your account activity statement. The lines that read
$0.00 per Micro Instance (t1.micro) instance-hour (or partial hour) under monthly free tier
have stopped counting hours.
In reality, you will be billed for 1,488 hours at the reserved instance price, not 738 hours. The free-usage tier will only apply if you launched a third applicable EC2 instance.
Depending on your instance size and reserved instance, 1,488 hours at the reserved price may still be better than 738 at the on-demand price, but in some cases, it is not. Do the math first.