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.