🟢

Cross-Zone Load Balancing

Cross-Zone Load Balancing

When Enabled

  • Each Load Balancer node can distribute traffic evenly across all registered targets in all Availability Zones.
  • Instance count differences between AZs do not affect the distribution.
  • Example:
    • You have 10 instances total: 2 in AZ1, 8 in AZ2.
    • 100 incoming requests → each instance gets 10 requests, regardless of which AZ the request enters.
    • This keeps load perfectly balanced even if AZs have unequal capacity.

When Disabled

  • Each Load Balancer node sends traffic only to targets in its own AZ.
  • This means the load is distributed per AZ, not globally, which can cause imbalance if the number of instances differs.
  • Example:
    • Same setup: 2 instances in AZ1, 8 in AZ2.
    • 100 requests enter:
      • 50 requests go to AZ1 → 25 requests per instance (higher load).
      • 50 requests go to AZ2 → 6.25 requests per instance (lower load).
    • This results in overloaded instances in some AZs and underutilized instances in others.

When Enabled

  • Each LB node distributes traffic evenly across all targets in all AZs
  • Ensures uniform traffic distribution regardless of how many instances are in each AZ
  • Example: 100 requests across 10 instances in 2 AZs → each instance gets 10 requests

When Disabled

  • Each LB node sends traffic only to targets in its own AZ
  • Can cause uneven load if instance counts differ per AZ
  • Example: 50 requests to AZ1 (2 instances → 25 each), 50 requests to AZ2 (8 instances → 6.25 each)

Service Behavior

Application Load Balancer (ALB)

  • Enabled by default
  • Can be disabled per Target Group
  • No inter-AZ data transfer charges

Network Load Balancer (NLB) / Gateway Load Balancer (GWLB)

  • Disabled by default
  • Enabling incurs inter-AZ data transfer charges

Classic Load Balancer (CLB)

  • Disabled by default
  • No inter-AZ data transfer charges when enabled