Google Cloud6 min read

Five Google Cloud resources that bill you while doing nothing

A stopped Cloud SQL instance, an unused static IP, an idle Memorystore, an unused Filestore share and an empty GKE cluster all keep billing. Costs in us-central1.

Team VeriKost · prices checked 14 Oct 2026
ShareinX
Card: Doing nothing, still billing. Five idle Google Cloud resources in us-central1 at list prices, per month: a stopped Cloud SQL instance with 100 GiB of SSD storage $17.00, an unused static IP $7.30, an unused 1 GiB Basic Memorystore $35.77, an unused 1,024 GiB Basic HDD Filestore share $163.84, and an empty regional GKE cluster $73.00. Together $296.91 a month.

Key takeaways

  • Stopping a Cloud SQL instance stops the instance charge, not the storage: 100 GiB of SSD storage is still $17.00 a month in us-central1.
  • A reserved external IP address attached to nothing bills $0.01 an hour, $7.30 a month.
  • Memorystore and Filestore show activity even when nobody uses them. Connections and server counters are Google’s own; look at data commands and NFS client calls instead.
  • An empty regional GKE cluster still pays the $0.10 an hour management fee: $73.00 a month.
On this page

Google Cloud bills plenty of things that are switched off, unattached or unused. Some are obvious once you look. Others actively look busy when nobody is using them, which is why they survive a quick clean-up. Here are five, with what each costs at us-central1 list prices and how to check for them.

01A stopped Cloud SQL instance still bills its storage

Stopping a Cloud SQL instance sets its activation policy to NEVER. The instance charge stops. The disk does not: you keep paying for every GiB of storage you provisioned, until you delete the instance.

Cloud SQL storage while stopped, us-central1, per month
StoragePrice per GiB-month100 GiB, per month
SSD, zonal$0.17$17.00
HDD, zonal$0.09$9.00
SSD, high availability (regional)$0.34$34.00

One catch when you go looking: a stopped instance still reports state: RUNNABLE in the API. We checked on a live instance. Only settings.activationPolicy tells you it is stopped:

gcloud sql instances list \
  --format="table(name,state,settings.activationPolicy,settings.dataDiskSizeGb,settings.dataDiskType)"

If you no longer need it, export the data to Cloud Storage with gcloud sql export, check what happens to its backups, then delete it. Backups are billed separately and are not in the table above.

02An unused static IP bills by the hour

A reserved external IP address that isn’t attached to a VM, load balancer or anything else shows the status RESERVED. Google bills it $0.01 an hour in us-central1, $7.30 a month. They pile up when a VM is deleted and its address is kept “in case”.

gcloud compute addresses list --filter="status=RESERVED" \
  --format="table(name,region.basename(),address,addressType,status)"

# Release one (use --global for a global address)
gcloud compute addresses delete my-old-ip --region=us-central1

Before releasing, check that no DNS record still points at it. A released address is gone, and you won’t get the same number back.

03An idle Memorystore instance looks busy

Memorystore for Redis bills for the capacity you provisioned, every hour, whether or not anything reads from it. In us-central1 the smallest band (1 to 4 GiB) is $0.049 per GiB-hour on Basic and $0.064 on Standard: a 1 GiB Basic instance is $35.77 a month, and a 4 GiB one is $143.08.

The trap is how to tell it is unused. We created a Basic 1 GB instance and never touched it. Cloud Monitoring showed 5 connected clients, and the only commands it ran were CONFIG GET. That is Google’s own management traffic. “Has connections” does not mean “in use”.

Instead, open redis.googleapis.com/commands/calls in Metrics Explorer, split by command, and ignore the management families (config, ping, info, client, cluster and similar). If no reads or writes are left over at least a week, nothing is using it.

gcloud redis instances list --region=us-central1 \
  --format="table(name,tier,memorySizeGb,state,createTime)"

04An unused Filestore share is never quiet

Filestore bills for provisioned capacity: $0.16 per GiB-month for Basic HDD and $0.30 for Basic SSD in us-central1. A 1,024 GiB (1 TiB) Basic HDD share is $163.84 a month, the biggest line in this list.

And like Memorystore, it never looks idle. On an untouched Basic HDD share we measured about 10,500 server read and write operations a day, all Google’s own activity, while every NFS call from a client was zero apart from health checks. So the server read/write graphs can’t tell you whether anyone mounts it.

Look at file.googleapis.com/nfs/server/procedure_call_count split by procedure instead, and leave out the health-check procedures (null, fsinfo, fsstat, pathconf). No reads, writes, lookups or other file operations over at least a week means no client is using the share.

gcloud filestore instances list \
  --format="table(name,tier,fileShares[0].capacityGb,state,createTime)"

05An empty GKE cluster still pays $73 a month

Scale a Standard GKE cluster to zero nodes and the VMs stop billing. The cluster itself doesn’t: GKE charges a management fee of $0.10 an hour per cluster, which is $73.00 a month.

Google’s free tier credit covers the fee for one zonal or Autopilot cluster per billing account. A regional cluster isn’t covered, and neither is a second zonal one, so an empty regional cluster always pays the full $73.00.

To find them, list your clusters with their node counts. One quirk: when a cluster has no nodes, the API leaves currentNodeCount out instead of returning 0, so the column is blank, not zero.

gcloud container clusters list \
  --format="table(name,location,currentNodeCount,autopilot.enabled,status)"

# Before deleting, check no node pool can scale back up on its own
gcloud container node-pools list --cluster=my-cluster --region=us-central1 \
  --format="table(name,autoscaling.enabled,autoscaling.minNodeCount)"

06What it adds up to

One of each, in us-central1, at list prices:

Five idle Google Cloud resources, us-central1, per month
ResourceWhat still billsPer month
Stopped Cloud SQL, 100 GiB SSDStorage$17.00
Unused static IPThe reservation$7.30
Idle Memorystore, Basic 1 GiBCapacity$35.77
Unused Filestore, Basic HDD 1 TiBCapacity$163.84
Empty regional GKE clusterManagement fee$73.00
Total$296.91

None of them is doing any work. Two of them look busy if you check the wrong metric.

Frequently asked questions

Does a stopped Cloud SQL instance cost money?

Yes. Stopping it (activation policy NEVER) ends the instance charge, but its storage keeps billing: $0.17 per GiB-month for SSD and $0.09 for HDD in us-central1 for a zonal instance, twice that for a high-availability one.

Do you pay for a static IP address you are not using?

Yes. A reserved external IP address that is not attached to anything bills $0.01 an hour in us-central1, about $7.30 a month, until you release it.

Why does my unused Memorystore instance show connected clients?

Google’s own management connects to it. An untouched Basic 1 GB instance we measured had 5 connected clients and ran only CONFIG GET commands. To tell whether anyone uses it, look at data commands, not connections.

Does an empty GKE cluster cost money?

Yes. A Standard cluster with zero nodes still pays the cluster management fee of $0.10 an hour, $73.00 a month. The GKE free tier credit covers one zonal or Autopilot cluster per billing account, so a regional cluster always pays it.

Sources

  • Cloud Billing Catalog API, us-central1: Cloud SQL storage and shared-core instances, Compute Engine Static Ip Charge, Memorystore for Redis capacity (Basic and Standard, M1), Filestore Basic HDD and Basic SSD capacity, Kubernetes Engine cluster management fee
  • Google Cloud pricing pages: Cloud SQL, VPC network (IP addresses), Memorystore for Redis, Filestore, Google Kubernetes Engine
  • VeriKost live measurements in a test project, us-central1, 14 Oct 2026: Cloud SQL state while stopped, Memorystore connections and commands, Filestore server and client counters
Team VeriKostWe build read-only tooling that finds idle cloud resources and shows the math behind every saving. AWS and Google Cloud today, Azure next.

Keep reading

Find this waste in your own cloud account.

VeriKost scans read-only and shows the metric, the threshold and the price behind every saving.

Request early access AWS and Google Cloud · invite-only