Auto Scaling

Auto Scaling allows you to scale your Amazon EC2 capacity up or down automatically according to conditions you define. With Auto Scaling, you can ensure that the number of Amazon EC2 instances you’re using increases seamlessly during demand spikes to maintain performance, and decreases automatically during demand lulls to minimize costs. Auto Scaling is particularly well suited for applications that experience hourly, daily, or weekly variability in usage. Auto Scaling is enabled by Amazon CloudWatch and available at no additional charge beyond Amazon CloudWatch fees.

Easy to sign up,
pay only for what you use
Sign Up



Features of Auto Scaling

  • Scale out Amazon EC2 instances seamlessly and automatically when demand increases.
  • Shed unneeded Amazon EC2 instances automatically and save money when demand subsides.
  • Scale dynamically based on your Amazon CloudWatch metrics, or predictably according to a schedule that you define.
  • Replace unhealthy or unreachable instances to maintain higher availability of your applications.
  • Receive notifications via Amazon Simple Notification Service (SNS) to be alerted when you use Amazon CloudWatch alarms to initiate Auto Scaling actions, or when Auto Scaling completes an action.
  • Run On-Demand or Spot instances, including those inside your Virtual Private Cloud (VPC) or High Performance Computing (HPC) Clusters.
  • If you’re signed up for the Amazon EC2 service, you’re already registered to use Auto Scaling and can begin using the feature via the Auto Scaling APIs or Command Line Tools.
  • Auto Scaling is enabled by Amazon CloudWatch and carries no additional fees.

Using Auto Scaling

Getting started with using Auto Scaling is easy. If you are signed up for the Amazon EC2 service, you are automatically registered for Auto Scaling. You simply:

  • Download the Auto Scaling Command Line Tools and the Amazon CloudWatch Command Line Tools from Developer Tools.
  • Use the as-create-launch-config command to create a Launch Configuration for your Auto Scaling Group. A Launch Configuration captures the parameters necessary to launch new Amazon EC2 instances.
  • Use the as-create-auto-scaling-group command to create an Auto Scaling Group. An Auto Scaling Group is a collection of Amazon EC2 instances to which you want to apply certain scaling conditions.
  • Use the as-put-scaling-policy command to describe each scaling action you want to take. For example, you can create one Policy that adds Amazon EC2 instances, and another that removes them.
  • Use the mon-put-metric-alarm Amazon CloudWatch command to create an alarm for each condition under which you want to add or remove Amazon EC2 instances, and specify the Auto Scaling Policy that you want the alarm to execute when that condition is met. You can define alarms based on any metric that Amazon CloudWatch collects. Examples of metrics on which you can set conditions include average CPU utilization, network activity or disk utilization.
  • Auto Scaling tracks when your conditions have been met and automatically takes the corresponding scaling action on your behalf.

Applicable Amazon CloudWatch charges will apply.


Common Uses for Auto Scaling

Automatically Scaling Your Amazon EC2 Fleet

Auto Scaling enables you to closely follow the demand curve for your applications, reducing the need to provision Amazon EC2 capacity in advance. For example, you can set a condition to add new Amazon EC2 instances in increments of 3 instances to the Auto Scaling Group when the average CPU utilization of your Amazon EC2 fleet goes above 70 percent; and similarly, you can set a condition to remove Amazon EC2 instances in the same increments when CPU Utilization falls below 10 percent. Often, you may want more time to allow your fleet to stabilize before Auto Scaling adds or removes more Amazon EC2 instances. You can configure a cool-down period for your Auto Scaling Group, which tells Auto Scaling to wait for some time after taking an action before it evaluates the conditions again. Auto Scaling enables you to run your Amazon EC2 fleet at optimal utilization.

Maintaining Your Amazon EC2 Fleet at a Fixed Size

If you’re sure you want to run a fixed number of Amazon EC2 instances, Auto Scaling helps ensure you’ll always have that number of healthy Amazon EC2 instances available and running. You can create an Auto Scaling Group and set a condition that your Auto Scaling Group will always contain this fixed number of instances. Auto Scaling evaluates the health of each Amazon EC2 instance in your Auto Scaling Group and automatically replaces unhealthy Amazon EC2 instances to keep the size of your Auto Scaling Group fixed. This ensures that your application is getting the compute capacity you expect.

Auto Scaling with Elastic Load Balancing

Let’s say that you want to make sure that the number of healthy Amazon EC2 instances behind an Elastic Load Balancer is never fewer than two. You can use Auto Scaling to set this condition, and when Auto Scaling detects that this condition has been met, it automatically adds the requisite amount of Amazon EC2 instances to your Auto Scaling Group. Or, if you want to make sure that you add Amazon EC2 instances when latency of any one of your Amazon EC2 instances exceeds 4 seconds over any 15 minute period, you can set that condition, and Auto Scaling will take the appropriate action on your Amazon EC2 instances — even when running behind an Elastic Load Balancer. Auto Scaling works equally well for scaling Amazon EC2 instances whether you’re using Elastic Load Balancing or not.


Projecting Costs

Auto Scaling is enabled by Amazon CloudWatch and carries no additional fees. Regular Amazon EC2 and Amazon CloudWatch service fees apply and are billed separately. Partial hours are billed as full hours.


Resources

©2013, Amazon Web Services, Inc. or its affiliates. All rights reserved.