GCP Cloud NAT cost: hourly fee plus data processed
Cloud NAT charges an hourly fee plus about $0.045 per GB processed, similar to AWS and Azure NAT. Traffic to Google APIs can skip it with Private Google Access, cutting the data line. Here is how it prices and how to reduce it.
Quick answer
Cloud NAT bills an hourly fee (higher while VMs are actively using it) plus about $0.045 per GB processed, similar to AWS and Azure NAT. Traffic to Google APIs and services can bypass Cloud NAT with Private Google Access, removing it from the data-processed line. Reduce processed volume to control the bill.
Cloud NAT provides outbound internet access for instances without external IP addresses. Like NAT on other clouds, it charges an hourly fee and a per-gigabyte data-processing charge, and the biggest saving is keeping traffic that does not need it off the gateway.
Two lines
| Dimension | Rate (approximate) |
|---|---|
| Cloud NAT hours | Hourly fee (per active VM using it) |
| Data processed | ~$0.045 / GB |
The hourly component depends on how many VMs actively use the gateway, and the data line scales with outbound bytes. For typical workloads the total is modest, but high-egress traffic drives the per-gigabyte line up.
Private Google Access skips the NAT
Traffic from internal instances to Google APIs and services (Cloud Storage, BigQuery, and others) can use Private Google Access, which routes over Google's network without an external IP and without traversing Cloud NAT. That removes a large share of typical outbound traffic from the data-processed charge for free.
Reducing Cloud NAT cost
Enable Private Google Access so API traffic bypasses the NAT, reduce chatty outbound calls, and keep traffic to other Google services on the internal network. The remaining external egress is the irreducible part, which follows the broader GCP network egress picture.
FAQ
How is GCP Cloud NAT priced?
An hourly fee, which depends on how many VMs actively use the gateway, plus about $0.045 per GB of data processed. It is similar in shape to AWS and Azure NAT gateways. For typical workloads the total is modest.
How do I reduce Cloud NAT cost?
Enable Private Google Access so traffic to Google APIs and services bypasses Cloud NAT entirely, reduce chatty outbound calls, and keep internal traffic on Google's network. The data-processed line falls as you route qualifying traffic off the gateway.
What is Private Google Access?
A feature that lets internal instances reach Google APIs and services over Google's network without an external IP and without traversing Cloud NAT. It removes that traffic from the Cloud NAT data-processed charge at no cost, which is the main saving.
Does Cloud NAT charge when idle?
The hourly component is tied to active VMs using the gateway, and the data-processed charge scales with outbound bytes. A gateway with no active traffic has minimal cost; the bill grows with usage.
Is Cloud NAT cheaper than external IPs on each VM?
For most fleets, yes, and it is more secure. Cloud NAT provides shared outbound access without exposing each VM with an external IP, avoiding per-IP charges and the security exposure, while billing a shared hourly and per-GB rate.
Does C3X estimate Cloud NAT cost?
C3X prices the google_compute_router_nat configuration from your Terraform, including the fixed components. Data processed depends on outbound traffic, which you provide as a usage assumption.
What to do next
Compare outbound options before you build. C3X reads your Terraform and prices Cloud NAT and the rest of your stack against a live catalog. Start with the quickstart.
Share this post
Try C3X on your own Terraform
Free and open source. No API key required. One command to install, one command to estimate.