Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can Amazon EC2 reserved instances be used with auto-scaling in AWS Elastic Beanstalk?

Tags:

As far as I understand AWS Elastic Beanstalk will allow you to set auto-scaling, which means that you can use a micro-instance overnight, say, and auto-scale up during the day. Can you still take advantage of reserved EC2 instance pricing if you do this?

like image 468
Chris Wheadon Avatar asked Oct 08 '12 15:10

Chris Wheadon


People also ask

Can we use Reserved instances in Auto Scaling?

You can launch and automatically scale a fleet of On-Demand Instances and Spot Instances within a single Auto Scaling group. In addition to receiving discounts for using Spot Instances, you can use Reserved Instances or a Savings Plan to receive discounted rates of the regular On-Demand Instance pricing.

Does Elastic Beanstalk automatically scale?

Your AWS Elastic Beanstalk environment includes an Auto Scaling group that manages the Amazon EC2 instances in your environment. In a single-instance environment, the Auto Scaling group ensures that there is always one instance running.

Which AWS service helps on Auto Scaling of EC2?

Amazon EC2 Auto Scaling helps you maintain application availability and allows you to automatically add or remove EC2 instances according to conditions you define. You can use the fleet management features of EC2 Auto Scaling to maintain the health and availability of your fleet.

Which services work together to enable Auto Scaling of EC2 instances?

If you're already using Amazon EC2 Auto Scaling to dynamically scale your Amazon EC2 instances, you can now combine it with AWS Auto Scaling to scale additional resources for other AWS services. With AWS Auto Scaling, your applications always have the right resources at the right time.


1 Answers

Update (Sept 2013)

AWS has just announced support to Modify EC2 Reserved Instance Reservations, which removes two of the former restrictions (I've updated my initial answer accordingly):

Today we are making the Reserved Instance model even more flexible by giving you the power to modify your Reserved Instances (RI's) when your needs change. You can now move your RI's between Availability Zones as long as you stay within the same Region. If your AWS account is enabled for EC2-Classic, you can also move your RI's between EC2-Classic and EC2-VPC. You can now make adjustments to your Reserved Instances as your needs and your architecture change.


Initial Answer (updated)

Can you still take advantage of reserved EC2 instance pricing if you do this?

Absolutely, Amazon EC2 reserved instance billing and usage is handled transparently, i.e. AWS simply applies your reserved instance pricing as long as you have reserved instances available matching your running ones by type, region and availability zone, see the following FAQs for details:

  • How do I control which instances are billed at the Reserved Instance rate?
    The RunInstances command does not distinguish between On-Demand and Reserved Instances. When computing your bill, our system will automatically optimize which instances are charged at the lower Reserved Instance rate to ensure you always pay the lowest amount.

Beware of the restrictions regarding how instances from this virtual pool are matched though, e.g.:

  • Can a Reserved Instance that I’ve bought for a particular instance type (i.e. High-CPU Extra Large Instance) be applied to a different instance type that I am running (i.e. Standard Large Instance)?
    No. Each Reserved Instance is associated with a specific instance type, and can only be applied to that instance type for the duration of the Reserved Instance term.

  • Can I move a Reserved Instance from one Region to another?
    No. Each Reserved Instance is associated with a specific Region that is fixed for the lifetime of the Reserved Instance and cannot be changed.

  • Do I need to specify an Availability Zone when I launch my instances in order to take advantage of my Reserved Instances?
    Yes. When you purchase a Reserved Instance you specify the Availability Zone in which you want to reserve that instance. In order to use that Reserved Instance, you need to ensure that you launch your instance in that same Availability Zone. [...]

The latter is easily overlooked when starting instances without explicitly specifying an availability zone, which will yield a random one in turn.

like image 160
Steffen Opel Avatar answered Nov 12 '22 08:11

Steffen Opel