What is Amazon EC2 Auto Scaling? - Amazon EC2 Auto Scaling
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China.

What is Amazon EC2 Auto Scaling?

Amazon EC2 Auto Scaling helps you ensure that you have the correct number of Amazon EC2 instances available to handle the load for your application. You create collections of EC2 instances, called Auto Scaling groups. You can specify the minimum number of instances in each Auto Scaling group, and Amazon EC2 Auto Scaling ensures that your group never goes below this size. You can specify the maximum number of instances in each Auto Scaling group, and Amazon EC2 Auto Scaling ensures that your group never goes above this size. If you specify the desired capacity, either when you create the group or at any time thereafter, Amazon EC2 Auto Scaling ensures that your group has this many instances. If you specify scaling policies, then Amazon EC2 Auto Scaling can launch or terminate instances as demand on your application increases or decreases.

For example, the following Auto Scaling group has a minimum size of one instance, a desired capacity of two instances, and a maximum size of four instances. The scaling policies that you define adjust the number of instances, within your minimum and maximum number of instances, based on the criteria that you specify.


			An illustration of a basic Auto Scaling group.

For more information about the benefits of Amazon EC2 Auto Scaling, see Amazon EC2 Auto Scaling benefits.

Auto Scaling components

The following table describes the key components of Amazon EC2 Auto Scaling.


									A graphic representing an Auto Scaling group.

Groups

Your EC2 instances are organized into groups so that they can be treated as a logical unit for the purposes of scaling and management. When you create a group, you can specify its minimum, maximum, and, desired number of EC2 instances. For more information, see Auto Scaling groups.


									A graphic representing a launch configuration.

Configuration templates

Your group uses a launch template, or a launch configuration (not recommended, offers fewer features), as a configuration template for its EC2 instances. You can specify information such as the AMI ID, instance type, key pair, security groups, and block device mapping for your instances. For more information, see Launch templates and Launch configurations.


									A graphic representing scaling options.

Scaling options

Amazon EC2 Auto Scaling provides several ways for you to scale your Auto Scaling groups. For example, you can configure a group to scale based on the occurrence of specified conditions (dynamic scaling) or on a schedule. For more information, see Scaling options.

Getting started

To begin, complete the Getting started with Amazon EC2 Auto Scaling tutorial to create an Auto Scaling group and see how it responds when an instance in that group terminates.

Pricing for Amazon EC2 Auto Scaling

There are no additional fees with Amazon EC2 Auto Scaling, so it's easy to try it out and see how it can benefit your Amazon architecture. You only pay for the Amazon resources (for example, EC2 instances, EBS volumes, and CloudWatch alarms) that you use.

Accessing Amazon EC2 Auto Scaling

If you've signed up for an Amazon Web Services account, you can access Amazon EC2 Auto Scaling by signing into the Amazon Web Services Management Console, choosing EC2 from the console home page, and then choosing Auto Scaling Groups from the navigation pane.

You can also access Amazon EC2 Auto Scaling using the Amazon EC2 Auto Scaling API. Amazon EC2 Auto Scaling provides a Query API. These requests are HTTP or HTTPS requests that use the HTTP verbs GET or POST and a Query parameter named Action. For more information about the API actions for Amazon EC2 Auto Scaling, see Actions in the Amazon EC2 Auto Scaling API Reference.

If you prefer to build applications using language-specific APIs instead of submitting a request over HTTP or HTTPS, Amazon provides libraries, sample code, tutorials, and other resources for software developers. These libraries provide basic functions that automate tasks such as cryptographically signing your requests, retrying requests, and handling error responses, making it is easier for you to get started. For more information, see Amazon SDKs and tools.

If you prefer to use a command line interface, you have the following options:

Amazon Command Line Interface (CLI)

Provides commands for a broad set of Amazon products, and is supported on Windows, macOS, and Linux. To get started, see Amazon Command Line Interface User Guide. For more information, see autoscaling in the Amazon CLI Command Reference.

Amazon Tools for Windows PowerShell

Provides commands for a broad set of Amazon products for those who script in the PowerShell environment. To get started, see the Amazon Tools for Windows PowerShell User Guide. For more information, see the Amazon Tools for PowerShell Cmdlet Reference.

For information about your credentials for accessing Amazon, see Amazon security credentials in the Amazon Web Services General Reference. For information about regions and endpoints for calls to Amazon EC2 Auto Scaling, see the Regions and endpoints table in the Amazon General Reference.

To automatically distribute incoming application traffic across multiple instances in your Auto Scaling group, use Elastic Load Balancing. For more information, see the Elastic Load Balancing User Guide.

To monitor basic statistics for your instances and Amazon EBS volumes, use Amazon CloudWatch. For more information, see the Amazon CloudWatch User Guide.

To configure auto scaling for scalable resources for other Amazon Web Services beyond Amazon EC2, see the Application Auto Scaling User Guide.