AWS Reserved Instances & VPCs

Most customers that have been using Amazon for a year or more likely have infrastructure running in both Classic and VPC networks. For these customers, Amazon's documentation is a little vague on the expected behavior of reserved instances across VPC and Classic instances. Here is the summary from their FAQ:

Q. Can I use Amazon EC2 Reserved Instances with Amazon VPC?

Yes. You can reserve an instance in Amazon VPC when you purchase Reserved Instances. When computing your bill, AWS does not distinguish whether your instance runs in Amazon VPC or standard Amazon EC2. AWS automatically optimizes which instances are charged at the lower Reserved Instance rate to ensure you always pay the lowest amount. However, your instance reservation will be specific to Amazon VPC. Please see the Reserved Instances page for further details.

This documentation has resulted in two interpretations, both of which are incorrect:

  1. You must purchase the correct type of reservations (VPC or Classic) if you want the price and reserved capacity benefits of the reservation.
  2. You must puchase the correct type of reservations (VPC or Classic) to receive the reserved capacity benefit, but the price benefit will float one way from Classic to VPC (but not VPC to Classic).

Note: If you search Google on this topic, there is a good chance you will find a link to a RightScale PlanForCloud post describing #2.

I just wanted to make a quick post to set the record straight. Below is a more correct and complete explanation that has been confirmed through both discussions with AWS and actual usage data:

Q. Can I use Amazon EC2 Reserved Instances with Amazon VPC?

Yes but there are some limitations you should be aware of. Reserved instances provide customers two benefits: 1) a price reduction, and 2) a capacity reservation (to ensure you can always launch an instance of the specific type in the specific availability zone). When you purchase a reserved instance, you will be asked whether you want to purchase it for Classic or VPC. The designation of Classic or VPC is irrelevant for receiving the cost reduction associated with a reservation. However, the capacity reservation benefit is specific to the type of instance you launch (Classic or VPC). So be aware that if you make a reservation for Classic, this will not guarantee the availability of capacity for launching a similar instance in a VPC (and visa versa).

So in short: the pricing benefit of a reservation floats across the VPC boundry, but the capacity reservation does not.

Note: The capacity reservation benefit of a reserved instance is under-appreciated by most AWS customers. In many ways AWS is a victim of its own success. Its staggering ability to keep pace with the incessant customer growth has resulted in very few customers being ICEd (Insufficient Capacity Error).