Google CloudGoogle Compute EngineNetworking

google_compute_global_address cost estimation

A reserved global static external IP. Charged ~$0.01/hour (~$7.30/month) only while reserved-but-unattached — attached to a load balancer it's free.

A google_compute_global_address reserves a global static external IP, typically for a global load balancer (HTTP(S), SSL/TCP proxy). The pricing has a deliberate twist: a static IP attached to and in use by a forwarding rule / load balancer is free, but a reserved IP that's *not* attached to anything bills ~$0.01/hour (~$7.30/month). GCP charges for idle reserved IPs to discourage hoarding scarce addresses.

So the cost is entirely about idle reservations. An IP doing its job on a live load balancer costs nothing; an IP you reserved and forgot — left over after tearing down the resource it fronted — quietly bills $7.30/month for nothing. Across an organization, orphaned reserved IPs are a classic small-but-real waste.

The lever is simply hygiene: release static IPs you're not using. Reserve a global address when you need a stable IP for a load balancer, and when you decommission that load balancer, release the address too rather than leaving it reserved.

c3x prices the address from whether it's in use — free when attached, ~$7.30/month when reserved-but-idle — so orphaned reservations are visible.

Terraform example

A minimal but realistic configuration that C3X can estimate.

resource "google_compute_global_address" "lb_ip" {
  name = "lb-static-ip"
}

resource "google_compute_global_forwarding_rule" "https" {
  name       = "https-rule"
  ip_address = google_compute_global_address.lb_ip.address
  # ... target proxy, port range
}

Pricing dimensions

What you actually pay for when you provision google_compute_global_address.

DimensionUnitWhat's being charged
Reserved global IP (unattached)per hourCharged only while reserved but NOT attached to a forwarding rule/load balancer. An in-use global IP is free.
$0.01/hour ≈ $7.30/month when idle; $0 when attached

Sample C3X output

A reserved global IP left unattached for a month (the avoidable case):

google_compute_global_address.lb_ip
└─ Reserved global IP (unattached)   730 hours   $7.30
                                     Monthly     $7.30

Optimization tips

Common ways to reduce google_compute_global_address cost without changing the workload.

Release IPs you're not using

$7.30/month per released idle IP

A reserved-but-unattached global IP bills ~$7.30/month for nothing. When you tear down the load balancer it fronted, release the address too — orphaned reserved IPs are a classic small, silent waste.

Keep IPs attached

Avoids the idle charge entirely

An in-use static IP (attached to a forwarding rule / load balancer) is free. There's no cost to a static IP doing its job — the charge only applies when it's idle, so keep reservations attached.

Audit for orphaned addresses

$7.30/month per orphan reclaimed

Periodically list reserved addresses and check which are unattached. Orphans accumulate across a large org as resources come and go; reclaiming them is easy, recurring savings.

FAQ

How is a GCP global static IP billed?

Only when idle. A global static external IP attached to and in use by a forwarding rule/load balancer is free; a reserved IP that's not attached to anything bills ~$0.01/hour (~$7.30/month). GCP charges idle reservations to discourage hoarding addresses.

Why am I paying for a static IP I'm not using?

That's exactly when it bills — reserved-but-unattached IPs cost ~$7.30/month, while in-use ones are free. It's usually an orphan left over after deleting the load balancer it fronted. Release it to stop the charge.

How does c3x estimate the cost?

From whether the address is in use — free when attached, ~$7.30/month when reserved-but-idle. The estimate makes orphaned reservations visible so you can reclaim them.

Related resources

Estimate this resource in your own Terraform

Free, open source, no API key. C3X parses your Terraform and shows line-item cost for every resource, including google_compute_global_address.