Auto Scaling Group for Your AWS Elastic Beanstalk Environment

Your Elastic Beanstalk 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. In a load-balanced environment, you configure the group with
a range of instances to run, and Amazon EC2 Auto Scaling adds or removes instances
as needed, based on load.

The Auto Scaling group also manages the launch configuration for the instances in
your environment. You can modify
the launch configuration to change the instance type, key pair, Amazon Elastic Block Store (Amazon EBS) storage,
and other settings that can only be configured when you
launch an instance.

The Auto Scaling group uses two Amazon CloudWatch alarms to trigger scaling operations.
The default triggers scale when the average outbound network traffic from each
instance is higher than 6 MiB or lower than 2 MiB over a period of five minutes. To
use Amazon EC2 Auto Scaling effectively, configure triggers that are appropriate for your application, instance type, and service
requirements. You can scale based on several statistics including latency, disk I/O,
CPU utilization, and request count.

Amazon EC2 Auto Scaling monitors the health of each Amazon EC2 instance that it launches.
If any instance terminates unexpectedly, Amazon EC2 Auto Scaling detects the termination
and
launches a replacement instance. To configure the group to use the load balancer's
health check mechanism, see Auto Scaling Health Check Setting.

Availability Zones – Choose the number of Availability Zones to spread your environment's instances
across. By
default, the Auto Scaling group launches instances evenly across all usable zones.
To concentrate your instances in fewer zones, choose the number of
zones to use. For production environments, use at least two zones to ensure that your
application is available in case one Availability Zone goes
out.

Placement (optional) – Choose the Availability Zones to use. Use this setting if your instances
need to connect to resources in specific zones, or if you have purchased reserved instances, which are zone-specific. If you also set the number of zones, you must choose at
least that many custom
zones.

If you launch your environment in a custom VPC, you cannot configure this option.
In a custom VPC, you choose Availability Zones for the
subnets that you assign to your environment.

Scaling cooldown – The amount of time, in seconds, to wait for instances to launch or terminate after
scaling, before
continuing to evaluate triggers. For more information, see Scaling Cooldowns.