GCP persistent disk types cost: pd-standard vs balanced vs ssd
Persistent disks bill per provisioned GB-month by type: pd-standard ~$0.04, pd-balanced ~$0.10, pd-ssd ~$0.17. Here's which to use, why you pay for provisioned size, and how to stop over-paying for SSD.
Quick answer
GCP persistent disks bill per provisioned GB-month by type: pd-standard ~$0.04, pd-balanced ~$0.10, pd-ssd ~$0.17, with Hyperdisk/Extreme adding provisioned IOPS. You pay for size, not bytes used. Default to pd-balanced for most workloads, pd-standard for cold bulk, pd-ssd only for latency-sensitive databases — and right-size capacity, because a half-empty disk bills for the whole thing.
Persistent disk cost is one of the simplest line items on GCP and one of the easiest to overpay, for two reasons: the type you pick can swing the per-GB rate 4x, and you're billed for provisioned capacity whether you use it or not. Get the type and the size right and disks are cheap; default everything to pd-ssd at generous sizes and they aren't.
The disk types
| Type | ~Cost/GB-mo | Best for |
|---|---|---|
| pd-standard (HDD) | ~$0.04 | Cold, throughput-oriented bulk storage |
| pd-balanced (SSD) | ~$0.10 | Default for VMs and boot disks |
| pd-ssd | ~$0.17 | Latency-sensitive databases |
| Hyperdisk / Extreme | + provisioned IOPS | High, tunable IOPS/throughput |
pd-ssd is ~70% more than pd-balanced. For most VMs, pd-balanced delivers SSD-class performance at the lower rate — the default that saves money without anyone noticing a difference.
You pay for provisioned size
A disk bills for its provisioned capacity, not the data on it. A 1 TB pd-balanced disk is ~$100/month whether it holds 1 TB or 100 GB. A fleet provisioned "with room to grow" can be paying for mostly empty space. Size to real usage with headroom; persistent disks can be resized up later without downtime, so you don't need to over-allocate upfront.
Don't forget snapshots and orphans
- Snapshots bill separately per GB-month (incremental). Schedule them with expiration; un-pruned snapshot chains creep the same way EBS snapshots do on AWS.
- Orphaned disks. Deleting a VM doesn't always delete its disks. Detached persistent disks keep billing at the full rate — reconcile periodically.
FAQ
What are the GCP persistent disk types and their cost?
Standard (pd-standard, HDD) is cheapest at ~$0.04/GB-month; Balanced (pd-balanced, SSD) ~$0.10/GB-month; SSD (pd-ssd) ~$0.17/GB-month; and Extreme/Hyperdisk add provisioned IOPS and throughput billed separately. You pay for provisioned capacity, not used bytes, so a 500 GB disk bills for 500 GB even if half-empty.
Which persistent disk type should I use?
pd-balanced is the right default for most VMs and boot disks — SSD performance at a moderate price. Use pd-standard for cold, throughput-oriented bulk storage; pd-ssd for latency-sensitive databases; and Hyperdisk/Extreme only when you need high provisioned IOPS that the standard types can't deliver.
Why is my persistent disk bill high?
Usually over-provisioned capacity or pd-ssd used where pd-balanced would do. Disks bill for provisioned size regardless of usage, so a fleet of 1 TB disks that are 70% empty wastes most of that spend. Defaulting every disk to pd-ssd also pays ~70% more than pd-balanced for performance many workloads don't need.
Do persistent disk snapshots cost extra?
Yes. Snapshots are billed separately per GB-month (incremental, so only changed blocks since the last snapshot) and are a common source of creeping cost when retention isn't managed. Set a snapshot schedule with expiration rather than keeping every snapshot forever.
How do I reduce persistent disk costs?
Right-size disks to actual usage, default to pd-balanced instead of pd-ssd, use pd-standard for cold bulk data, manage snapshot retention, and delete disks orphaned by deleted VMs (detached disks keep billing). Capacity right-sizing is the biggest lever.
How does C3X estimate persistent disk cost?
C3X prices a google_compute_disk from its type and provisioned size, so the cost difference between pd-standard, pd-balanced, and pd-ssd at a given capacity is visible before deployment.
What to do next
The disk type and size are explicit in your Terraform, so the cost is decidable up front. C3X prices a google_compute_disk from its type and provisioned size, so a pd-ssd default or an over-provisioned volume shows its cost in review — and you can see the saving from switching to pd-balanced immediately. The quickstart runs it in minutes.
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.