Check provider logo

Classic Load Balancer has cross-zone load balancing enabled

elb_cross_zone_load_balancing_enabled

Severitymedium
Serviceelb
by Prowler

Classic Load Balancer with cross-zone load balancing distributes requests across registered targets in all enabled Availability Zones.

This evaluates whether that setting is enabled, instead of restricting distribution to targets within only the same zone.

Risk

Without cross-zone load balancing, traffic can concentrate in one AZ due to DNS skew or uneven capacity, creating hot spots, timeouts, and latency. This degrades service availability and increases the chance of cascading failures during AZ impairment or instance loss.

Run this check with Prowler CLI

prowler aws --checks elb_cross_zone_load_balancing_enabled

Recommendation

Set cross-zone load balancing to enabled on Classic Load Balancers and use at least two AZs.

Balance capacity per AZ, enforce robust health checks with autoscaling, and design for high availability so load remains evenly distributed during demand spikes or partial AZ outages.

Remediation

CLI

aws elb modify-load-balancer-attributes --load-balancer-name <load-balancer-name> --load-balancer-attributes "{"CrossZoneLoadBalancing":{"Enabled":true}}"

Native IaC
Terraform
Other
  1. Open the AWS EC2 console
  2. Go to Load Balancing > Load Balancers and select your Classic Load Balancer
  3. Open the Attributes tab and click Edit
  4. Enable Cross-zone load balancing
  5. Click Save changes

Source Code

Resource Type

AwsElbLoadBalancer

References