Application Load Balancers - Amazon Application Recovery Controller (ARC)

Application Load Balancers

Using zonal shift for Application Load Balancers

To use Application Load Balancers with zonal shift, you must enable ARC zonal shift integration in the Application Load Balancer attributes. Application Load Balancer supports zonal shift with cross-zone enabled or cross-zone disabled configurations.

Before you enable the ARC integration and start utilizing zonal shift, review the following:

  • You can start a zonal shift for a specific load balancer only for a single Availability Zone. You can't start a zonal shift for multiple Availability Zones.

  • AWS proactively removes zonal load balancer IP addresses from DNS when multiple infrastructure issues impact services. Always check current Availability Zone capacity before you start a zonal shift. If your load balancers have cross-zone load balancing turned off and you use a zonal shift to remove a zonal load balancer IP address, the Availability Zone affected by the zonal shift also loses target capacity.

  • When an Application Load Balancer is a target of a Network Load Balancer, always start the zonal shift from the Network Load Balancer. If you start a zonal shift from the Application Load Balancer, the Network Load Balancer doesn't recognize the shift and continues to send traffic to the Application Load Balancer.

You can start a zonal shift for a load balancer in the Elastic Load Balancing console (in most AWS Regions) or in the ARC console.

Console
To enable zonal shift on a load balancer (Console)
  1. Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/.

  2. On the Navigation page, under Load Balancing, choose Load Balancers.

  3. Select the Application Load Balancer name.

  4. On the Attributes tab, choose Edit.

  5. Under Availability Zone routing configuration, set ARC zonal shift integration to Enable.

  6. Choose Save.

AWS CLI
To enable zonal shift on a load balancer (AWS CLI)
  • Enter the following command:

    aws elbv2 modify-load-balancer-attributes --load-balancer-arn my-alb-arn --attributes Key=zonal_shift.config.enabled,Value=true

For more information on triggering a zonal shift, see Starting, updating, or canceling a zonal shift.

You can use the keepalive option to configure how long connections continue. For more information, see HTTP client keepalive duration in the Application Load Balancer User Guide. By default, Application Load Balancers set the HTTP client keepalive duration value to 3600 seconds, or 1 hour. We suggest that you lower the value to be inline with your recovery time goal for your application, for example, 300 seconds. When you choose an HTTP client keepalive duration time, consider that this value is a trade off between reconnecting more frequently in general, which can affect latency, and more quickly moving all clients away from an impaired AZ or Region.

How zonal shift works for Application Load Balancers

When a zonal shift is started on an Application Load Balancer with cross-zone load balancing enabled, all traffic to targets is blocked in the availability zone being impacted, and removes the zonal IP address from DNS.

For more information refer to Integrations for your Application Load Balancer in the Application Load Balancer User Guide.