Utilizing Cross-Zone Load Balancing with Zonal Shift

Utilizing Cross-Zone Load Balancing with Zonal ShiftMore Info

In today’s update, we are excited to introduce Amazon Application Recovery Controller (ARC) zonal shift support for Application Load Balancers (ALB) with cross-zone load balancing enabled. This feature adds to the previously announced support for Network Load Balancers (NLB) that also utilize cross-zone load balancing. You can now implement zonal shift with both NLBs and ALBs, regardless of whether cross-zone load balancing is configured, as well as with other services like Amazon EC2 Auto Scaling groups (ASG) and Amazon Elastic Kubernetes Service (EKS). For a comprehensive look at how zonal shift functions and best practices when cross-zone load balancing is off, check out the blog post, Rapidly Recover from Application Failures in a Single AZ. Here, we will outline operational best practices for employing zonal shift with cross-zone load balancing enabled.

Overview

To leverage zonal shift for ALB or NLB, you need to set the load balancer attribute zonal_shift.config.enabled to true. For NLBs that use cross-zone load balancing, you also have to ensure that target_health_state.unhealthy.connection_termination.enabled is set to false. Once enabled, you can initiate a zonal shift to minimize the impact of issues identified in a single Availability Zone (AZ).

When cross-zone load balancing is enabled, zonal shift performs two primary actions. First, it removes the IP address of the load balancer node in the affected AZ from DNS, which means new queries will not resolve to that endpoint. This action prevents future client requests from being directed to that node. Second, it instructs the load balancer nodes in the other AZs to avoid routing requests to targets located in the impaired AZ. Cross-zone load balancing remains active in the other AZs during the zonal shift.

Figure 1 – An Application Load Balancer using cross-zone load balancing with a zonal shift active in AZ 1


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *