We are pleased to announce Connection Draining, a new feature for Elastic Load Balancing. When you enable Connection Draining on a load balancer, any back-end instances that you deregister will complete requests that are in progress before deregistration. Likewise, if a back-end instance fails health checks, the load balancer will not send any new requests to the unhealthy instance but will allow existing requests to complete.

This means that you can perform maintenance such as deploying software upgrades or replacing back-end instances without impacting your customers’ experience.

Connection Draining is also integrated with Auto Scaling, making it even easier to manage the capacity behind your load balancer. When Connection Draining is enabled, Auto Scaling will wait for outstanding requests to complete before terminating instances.

You can enable Connection Draining via the AWS Management Console, API, or Command Line Interface (CLI), as well as AWS CloudFormation.

To learn more, please see the blog post and documentation.