AWS Official Blog

Auto Scaling – Notifications, Recurrence, and More Control

by Jeff Barr | on | in Auto Scale |

We’ve made some important updates to EC2’s Auto Scaling feature. You now have additional control of the auto scaling process, and you can receive additional information about scaling operations.

Here’s a summary:

  • You can now elect to receive notification from Amazon SNS when Auto Scaling launches or terminates EC2 instances.
  • You can now set up recurrent scaling operations.
  • You can control the process of adding new launched EC2 instances to your Elastic Load Balancer group.
  • You can now delete an entire Auto Scaling group with a single call to the Auto Scaling API.
  • Auto Scaling instances are now tagged with the name of their Autos Scaling group.

Notifications
The Amazon Simple Notification Service (SNS) allows you to create topics and to publish notifications to them. SNS can deliver the notifications as HTTP or HTTPS POSTs, email (SMTP, either plain-text or in JSON format), or as a message posted to an SQS queue.

You can now instruct Auto Scaling to send a notification when it launches or terminates an EC2 instance. There are actually four separate notifications: EC2_INSTANCE_LAUNCH, EC2_INSTANCE_LAUNCH_ ERROR, EC2_INSTANCE_TERMINATE, and EC2_INSTANCE_TERMINATE_ERROR. You can use these notifications to track the size of each of your Auto Scaling groups, or you can use them to initiate other types of application processing or bookkeeping.

George Reese, this feature is for you!

Recurrent Scaling Operations
Scheduled scaling actions for an Auto Scaling group can now include a recurrence, specified as a Cron string. If your Auto Scaling group manages a fleet of web services, you can scale it up and down to reflect expected traffic. For example, if you send out a newsletter each Monday afternoon and expect a flood of click-throughs, you can use a recurrent scaling event to ensure that you have enough servers running to handle the traffic. Or, you can use this feature to launch one or more servers to run batch processes on a periodic basis, such as processing log files each morning.

Instance Addition Control
The Auto Scaling service executes a number of processes to manage each Auto Scaling group. These processes include instance launching and termination, and health checks (a full list of the processes and a complete description of each one can be found here).

The SuspendProcesses and ResumeProcesses APIs give you the ability to suspend and later resume each type of process for a particular Auto Scaling group. In some applications, suspending certain Auto Scaling processes allows for better coordination with other aspects of the application.

With this release, you now have control of an additional process, AddToLoadBalancer. This can be particularly handy when newly launches EC2 instances must be initialized or verified in some way before they are ready to accept traffic.

Hassle-Free Group Deletion
You can now vanquish an entire Auto Scaling group to oblivion with a single call to DeleteAutoScalingGroup. You’ll need to set the new ForceDelete parameter to true in order to do this. Before ForceDelete you had to wait until all instances in an Auto Scaling group were terminated before you were allowed to delete the Auto Scaling group. Auto Scaling will terminate all running instances in the group and obviates the waiting.

Easier Identification
Instances launched by Auto Scaling are now tagged with the name of their Auto Scaling group so that you can find and manage them more easily. The Auto Scaling group tag is immutable and doesnt count towards the EC2 limit of 10 tags per instance. Here is how the EC2 console would show an instance of the Auto Scaling group SpeedTest:

You can read more about these new features on the Auto Scaling page or in the Auto Scaling documentation.

These new features were implemented in response to feedback from our users. Please feel free to leave your own feedback in the EC2 forum.

– Jeff;