NLBCrossZone
Enable cross-zone load balancing on the public NLB. When No, each Availability Zone's listener routes only to targets in that AZ — the AWS default. When Yes, every listener routes to targets in every AZ, spreading traffic evenly at the cost of cross-AZ data transfer.
| Default value | No |
| Allowed values | Yes, No |
Use Cases
- Services with uneven target distribution across AZs where a single AZ would otherwise hotspot
- Workloads sensitive to latency variance between AZs where uniform spread improves p99
- Clients that resolve one of the NLB's Elastic IPs via DNS but expect traffic to fan out across the full target fleet
Additional Information
$ convox rack params set NLBCrossZone=Yes
The update applies to every existing and future listener on the public NLB. No Service redeploy is required.
Cost implications
Enabling cross-zone load balancing causes AWS to bill you for traffic crossing Availability Zone boundaries between the NLB and target tasks. Volume-heavy Services (video streaming, bulk file transfer) can see a meaningful cost increase. For targeted cross-zone distribution on a single Service instead of the whole fleet, use the per-port cross_zone: override.
Relationship to per-port cross_zone
A Service's nlb: entry with cross_zone: true forces cross-zone on that listener even when NLBCrossZone=No. cross_zone: false disables it on that listener even when NLBCrossZone=Yes. Omitting the field inherits the rack default.