Classic Load Balancers should have cross-zone load balancing enabled
Confirms that cross-zone load balancing is enabled for Classic Load Balancers, distributing traffic evenly across all registered instances in all enabled Availability Zones.
- service
- ELB
- severity
- Medium
- scope
- evaluated in every region
How to fix it
Turn on cross-zone load balancing on the Classic Load Balancer, so each of its nodes can reach registered instances in every enabled zone rather than only its own. Without it, traffic is split evenly between zones before it is split between instances, so uneven instance counts mean uneven load. Cross-zone traffic is not charged on a Classic Load Balancer. Having only one zone enabled is ELB.10 instead.
In the console
EC2 -> Load balancers -> the load balancer -> Attributes -> Cross-zone load balancing
With the AWS CLI
aws elb modify-load-balancer-attributes --load-balancer-name <load-balancer-name> --load-balancer-attributes CrossZoneLoadBalancing={Enabled=true} --region <region>With Terraform
resource "aws_elb" "this" {
cross_zone_load_balancing = true
listener {
lb_port = 80
lb_protocol = "http"
instance_port = 80
instance_protocol = "http"
}
}
See which of your accounts this check is failing on.
Book a demo