Cross-AZ traffic: the hidden latency and cost line
On AWS, data crossing Availability Zones is billed per GB in each direction and adds a small latency each time. With zone-blind balancing, a service calling a backend with replicas in three zones sends about two thirds of its requests across a zone boundary. For chatty microservice architectures that becomes a meaningful, recurring line on the bill that nobody notices until they look.
Kubernetes offers topology-aware routing: with the annotation service.kubernetes.io/topology-mode set to Auto, EndpointSlices carry zone hints and kube-proxy prefers endpoints in the caller's zone, falling back when a zone has no healthy endpoints or would be overloaded. The animation contrasts the two modes. It is a trade of perfect evenness for lower cost and latency.
It only works if each zone has enough replicas, so combine it with topology spread constraints (Deck 1). Avoid enabling it on Services with very few replicas, where it can concentrate load. For traffic entering through load balancers, enable cross-zone load balancing deliberately: it improves evenness at the cost of cross-AZ charges on some load balancer types.
Method: find the expensive paths first. Cost Explorer's data-transfer usage types and VPC Flow Logs with flow aggregation identify the services and Pods responsible, so you optimise the few that matter.