# Excessive Cross-Zone Data Transfer Between Compute Engine and GKE Workloads

Canonical: https://www.pointfive.co/efficiency-hub/inefficiencies/excessive-cross-zone-data-transfer-between-compute-engine-and-gke-workloads

Traffic between VMs in the same zone over internal IP addresses is free, but VM-to-VM traffic between different zones of the same region is billed per...

By: PointFive

Updated: 2026-09-28

[Cloud Efficiency Hub](https://www.pointfive.co/efficiency-hub) 

The short version

Traffic between VMs in the same zone over internal IP addresses is free, but VM-to-VM traffic between different zones of the same region is billed per GiB, charged to the project of the sending VM.

PointFive Research

Cloud cost research at PointFive

GCP service

[GCP Data Transfer](https://www.pointfive.co/efficiency-hub/cloud-services/gcp-data-transfer)

Category

[Networking](https://www.pointfive.co/efficiency-hub/service-category/networking)

Reference

CER-0496

Type

Inefficient Architecture

## Explanation

Why the waste happens and who it affects.

The same pricing applies to GKE nodes, and traffic to Cloud SQL, Memorystore for Redis and Filestore in the same region is priced like VM-to-VM traffic. Regional GKE clusters, managed instance groups spread across zones and replicated databases all place chatty components in different zones by design, and Kubernetes Service load balancing sends requests to endpoints in any zone by default.

For high-throughput paths such as service-to-service calls, cache and database reads, Kafka or other replication, and shuffle-heavy data processing, the per-GiB charge scales with traffic volume and is easy to miss because it is spread across the sending projects as network SKUs. Google's GKE cost guidance notes that multi-zonal clusters are charged for egress between zones, recommends monitoring cross-zone traffic and minimizing it, and recommends single-zone clusters for non-production.

## Billing model

The pricing dimensions that drive this cost.

Rates are per GiB and can vary by location; check the Network pricing page for current values.

Same-zone internal traffic

No charge for traffic to the same zone over internal IPv4 or any IPv6 addresses within the same VPC network

Inter-zone traffic

Charged per GiB when source and destination are in different zones of the same region, over internal or external IPs within the same VPC network ($0.01 per GiB listed)

External IPv4 paths

All traffic to and from external IPv4 addresses leaves the zone, so using external IPs between nearby VMs is billed even in one zone

Managed services in region

Traffic to Cloud SQL, Memorystore for Redis, Filestore and GKE in the same region is priced the same as VM-to-VM traffic

## How to detect

4 checks to find it in your estate.

- In the Cloud Billing export, group inter-zone data transfer SKUs for Compute Engine by project and label to find where the cost is concentrated (the sending VM's project is billed)

- Enable GKE usage metering with its network egress agent (disabled by default) to attribute cross-zone egress to namespaces and workloads; it is not supported on clusters with more than 150 nodes, Shared VPC or VPC Network Peering

- Use VPC Flow Logs, which record source and destination instance zones, to find the top cross-zone talker pairs

- Check whether clients use external IPs to reach services in the same region, which is billed as leaving the zone

## How to fix

4 ways to remove the waste.

- Keep traffic in-zone where possible: for GKE internal LoadBalancer Services, enable zonal affinity (requires GKE subsetting), which routes new connections to serving Pods in the client's zone and falls back to other zones when none are healthy

- Place tightly coupled, high-volume components (for example a batch job and its cache) in the same zone when their availability requirements allow, and use single-zone clusters and instance groups for non-production

- Use internal IP addresses for traffic inside the region instead of external IPs

- Reduce what crosses zones: compress or batch payloads, read from zone-local replicas where the database supports it, and review replication fan-out

## Documentation

Vendor references for pricing and configuration.

- [Network pricing  cloud.google.com](https://cloud.google.com/vpc/network-pricing)

- [Best practices for running cost-optimized Kubernetes applications on GKE  docs.cloud.google.com](https://docs.cloud.google.com/architecture/best-practices-for-running-cost-effective-kubernetes-applications-on-gke)

- [About LoadBalancer Services  docs.cloud.google.com](https://docs.cloud.google.com/kubernetes-engine/docs/concepts/service-load-balancer)

## Related inefficiencies

[Browse the library](https://www.pointfive.co/efficiency-hub)

- GCP Cloud NAT  CER-0331

### [Excessive Data Processing Fees on High-Throughput Cloud NAT Gateways](https://www.pointfive.co/efficiency-hub/inefficiencies/excessive-data-processing-fees-on-high-throughput-cloud-nat-gateways)

Cloud NAT charges a per-GiB data processing fee on all traffic routed through the gateway - both inbound responses and outbound requests. For high-throughput workloads such as web crawlers, data pipelines, container image pulls, and...

Networking

- GCP Cloud NAT  CER-0174

### [Idle Cloud NAT Gateway Without Active Traffic](https://www.pointfive.co/efficiency-hub/inefficiencies/idle-cloud-nat-gateway-without-active-traffic)

Each Cloud NAT gateway provisioned in GCP incurs hourly charges for each external IP address attached, regardless of whether traffic is flowing through the gateway. In many environments, NAT configurations are created for temporary access...

Networking

- GCP Load Balancers  CER-0202

### [Idle Load Balancer](https://www.pointfive.co/efficiency-hub/inefficiencies/idle-load-balancer)

Provisioned load balancers continue to generate costs even when they are no longer serving meaningful traffic. This often occurs when applications are decommissioned, testing infrastructure is left behind, or backend services are removed...

Networking

---
Source: the public page above. Product screenshots and illustrative interfaces are examples, not live customer data.

