Compute Engine pricing is vCPU-hours and GiB-hours of memory per machine family and region, by the second after the first minute, plus licence fees per vCPU-hour for Windows, RHEL, SLES and SQL Server, the disks, the Local SSDs, the GPUs and the network traffic, each with SKUs of its own; discounts come from three sides, as a sustained use discount for the families that still get it, as a Spot price with up to 91 percent off, and as a committed use discount over one or three years. On the bill, the instances that run around the clock dominate, and on Windows workloads the licence, which on small machines costs more than the machine; the billing export splits every VM into core, RAM, licence and disk, never into one line per instance.

Pricing dimensions

Google prices a VM not as a machine type but as the sum of its resources: the vCPUs and the memory of a family each have a SKU per region, and the machine type is only the combination that makes the price. The hourly price of a family sits in tables per region with the columns on demand, flexible and resource-based CUD.

DimensionUnitWhat drives itOptional
vCPU and memoryvCPU-hour and GiB-hour per family and region, by the second after a one-minute minimum; predefined types (standard, highmem, highcpu) and custom ones with a 5 percent premium and dearer memory above 8 GiB per vCPUEvery running instance by family, size and regionNo
Machine familyE2 and the shared-core types cheapest; N2, N2D, N4 as general-purpose families; C3, C4 compute-optimised; M families memory-optimised; T2A on Arm; A and G families with GPUsThe choice of family per workload, with a two- to threefold price per vCPU between E2 and C4No
Sustained use discount (SUD)Automatic from 25 percent of a billing month, up to 30 percent with continuous use; only N1, N2, N2D and a few further families, only self-serve accounts, not on usage under a CUDRunning time per month of the eligible familiesNo, where eligible
Spot VMsOwn price per type and region, up to 91 percent below on demand, changed up to once a day; terminable at any timeInterruptible loadYes
Committed use discountsResource-based per family and region on vCPU and memory, or flexible as a spend commitment across families and regions, each over one or three years; credits in the exportBaseline loadYes (Google Cloud committed use discounts)
Premium imagesWindows Server per visible vCPU and hour; RHEL and SLES per core and hour by size class; SQL Server per core and hour with a four-core minimum; one minute minimum, then by the secondEvery instance with a licensed image, running or at the minimumYes
Disks and Local SSDGB per month by disk type, Local SSD per GB and month bound to the instanceEvery instance, stopped ones too for their disksYes (Persistent Disk and Hyperdisk)
GPUs and sole-tenant nodesGPU per hour as an own SKU; sole-tenant node per hour for the whole host plus a premiumAccelerators, dedicated hostsYes
NetworkOutbound traffic per GB by destination, Tier_1 networking performance per hourThe instance's trafficYes (network pricing)
Free allowanceOne e2-micro a month in certain US regions under the always-free programmeNew and small accountsYes

The family is the pricing decision: an E2 costs about 60 percent of an N2 and half a C4 per vCPU-hour in Frankfurt but gets no sustained use discount, while an N2 that runs the whole month gets 30 percent off automatically, provided the billing account is self-serve and the usage is not already under a commitment; an invoiced account gets no sustained use discount. Billing is by the second after the first minute, for stopped instances and Spot VMs too, which pay the minute on a simulated maintenance event; what a stopped instance keeps costing are its disks and reserved addresses, not the vCPUs. Custom machine types cost 5 percent more than predefined ones and pay memory above 8 GiB per vCPU at the higher extended-memory rate. The licensed images are a second bill on the same instance: Windows Server costs per visible vCPU and hour, RHEL per core and hour with falling rates from nine and from 128 vCPUs, SQL Server per core and hour with a four-core minimum, and all of them run as long as the instance runs. The mechanics of the families across all three providers are in virtual machines and instance families; how sustained use discounts and tiers work, in sustained use and tiered discounts; what Spot costs and risks, in spot and preemptible capacity.

How it appears in your billing data

In the billing export to BigQuery every row carries service.description Compute Engine and a sku.description naming family, resource and region: E2 Instance Core running in Frankfurt and E2 Instance Ram running in Frankfurt for an e2-standard-2, N2 Instance Core running in Frankfurt, Spot Preemptible E2 Instance Core running in Frankfurt for Spot, Licensing Fee for Windows Server 2022 Datacenter Edition (CPU cost) for the licence, Storage PD Capacity for the disk, Network Internet Egress from Frankfurt to EMEA for the traffic; sku.id is the stable key, such as 9D56-FE18-D1FB for the C4 core in Frankfurt, which maps a row to the pricing table and the Cloud Billing Catalog. usage.amount and usage.unit count in seconds for cores, in byte-seconds for memory and in bytes for traffic; location.region is europe-west3, location.zone the zone. An instance is therefore at least three rows per hour, core, RAM and disk, and resource.name in the export with resource-level detail joins them; without it, attribution per instance rests on system_labels with compute.googleapis.com/machine_spec, cores and memory, which every core and RAM row carries.

The discounts are not in the price but in credits: credits.type SUSTAINED_USAGE_DISCOUNT for the sustained use discount, COMMITTED_USAGE_DISCOUNT for resource-based commitments, COMMITTED_USAGE_DISCOUNT_DOLLAR_BASE and FEE_UTILIZATION_OFFSET for spend-based ones, FREE_TIER for the free allowance, PROMOTION for credits, each as a negative amount beside the row at list price, and the commitment fee itself as its own row Commitment v1: Cpu in Frankfurt for 1 Year; cost is the list amount, the sum of cost and credits.amount the amount paid. cost_type separates regular from tax, adjustment and rounding error. price.effective_price names the rate after contracts. The export's structure is described in the Google Cloud billing export; in the FOCUS export, ServiceName carries Compute Engine, SkuId the SKU, PricingCategory Standard, Committed or Dynamic for Spot, and CommitmentDiscountId the commitment (FOCUS columns). The instance's labels sit in labels, the project's in project.labels, and both are the attribution per team that resource.name does not provide.

A row: the SKU at list pricein the cost columnCredits beside it, asnegative amounts by typeSustained use discountCommitted use discount:resource-based, or spend-based with the feeutilisation offsetFree tier and promotionsThe commitment fee itself:a row of its ownEffective cost: the list priceplus the negative credits
Every row carries the list price, the discounts sit beside it as negative credits by type, and the commitment fee is a row of its own

Levers

Configuration: the family is the first lever, because E2 costs half a C4 per vCPU for general load and N4 and C4 are the newer generations with more performance per vCPU; the second is the size, because the price goes linearly with vCPUs and GiB and rightsizing halves every half-empty instance; the third is the operating system, because the Windows licence per vCPU exceeds the machine price on small instances and Linux removes it where the application allows. Stopped instances pay no vCPUs but their disks; schedules for development and test are in scheduling and auto-scaling.

N1, N2, N2DE2, N4, C3, C4, T2AinterruptibleThe family: E2 half of C4 pervCPU for general load, N4 andC4 newer with more performanceThe size: linear in vCPUsand GiB, rightsizing halvesa half-empty instanceThe operating system: theWindows licence per vCPU,Linux where the application allowsFamily with sustaineduse discounts?The discount comesby itselfA commitment: resource-basedper family and region, orflexible across themSpot
Family, size and operating system first, then the commitment where sustained use discounts do not apply, and Spot for everything interruptible

Purchase option: sustained use discounts come by themselves and only on N1, N2 and N2D; for E2, N4, C3, C4 and T2A there are none, and there the commitment is the only form, resource-based per family and region with the higher discount or flexible across families and regions with the lower one. Spot for everything that may be interrupted, at about 40 to 55 percent of the on-demand price in Frankfurt on the read date. How commitments are assessed is in commitment strategy.

Architecture: the region sets the rate, and Frankfurt sits above the US regions; Arm types T2A and the Axion families for workloads that run on them; and a VM that runs only for a service that would also run as Cloud Run or a GKE pod pays its vCPUs around the clock (Cloud Run and Cloud Run functions, Google Kubernetes Engine).

Where it goes wrong

  • The Windows licence costs more than the machine. An e2-standard-4 pays more licence per hour in Frankfurt than vCPUs and memory. Licensing Fee for Windows Server beside the core row shows it; bring-your-own-licence on sole-tenant nodes or Linux changes it.
  • E2 gets no sustained use discount. An account that moves from N2 to E2 loses the automatic discount of up to 30 percent and gains the lower list price; the arithmetic decides, and credits.type SUSTAINED_USAGE_DISCOUNT disappears.
  • The billing account is not self-serve. Invoiced accounts get no sustained use discount; the row is missing although the family would be eligible. Commitments replace it.
  • The custom machine pays the premium. Five percent on every vCPU and GiB, and memory above 8 GiB per vCPU at the higher rate. The next predefined type is usually cheaper.
  • The stopped instance keeps costing. Disks, Local SSD reservations and static addresses run on; Storage PD Capacity without a core row is the clue.
  • The commitment does not match the family. A resource-based commitment on N2 in Frankfurt covers no C4 and no other region; the fee runs, the credit is missing. The flexible commitment covers across families, with a smaller discount.
  • The Spot instance pays the minute. A Spot VM terminated after seconds pays a minute; with many short starts it adds up. Jobs with a minimum run time above a minute.

Example

List prices in USD for Frankfurt (europe-west3), read on 2026-10-21 from the Compute Engine pricing pages: an e2-standard-2 (2 vCPU, 8 GiB) costs USD 0.08633556 per hour on demand, USD 0.0621616 with a flexible commitment over one year, USD 0.046621204 over three years, USD 0.054391406 with a resource-based commitment over one year and USD 0.038851002 over three years, as a Spot VM USD 0.0518; an n2-standard-4 (4 vCPU, 16 GiB) USD 0.250248, as Spot USD 0.137856; an n4-standard-4 USD 0.214052; a c4-standard-4 (4 vCPU, 15 GiB) USD 0.2332506, as Spot USD 0.10528; a t2a-standard-4 on Arm USD 0.161776364; an e2-medium USD 0.04316778. Windows Server costs USD 0.046 per visible vCPU and hour, RHEL USD 0.0144 per core and hour up to eight vCPUs, SQL Server Standard USD 0.12 per core and hour with a four-core minimum.

An e2-standard-2 that runs the whole month costs 730 × 0.08633556 = USD 63.02; with a resource-based commitment over three years USD 28.36, as Spot USD 37.81. An n2-standard-4 costs USD 182.68 on demand, with the sustained use discount of 30 percent for a full month USD 127.88, as Spot USD 100.63; the same capacity as an n4-standard-4 USD 156.26 without a sustained use discount, as a c4-standard-4 USD 170.27. An e2-standard-4 with Windows Server pays USD 126.05 for vCPUs and memory and 4 × 730 × 0.046 = USD 134.32 for the licence, USD 260.37 together; with SQL Server Standard a further USD 350.40. Twenty development VMs e2-standard-2 that run 10 hours on working days instead of 730 cost 20 × 220 × 0.08633556 = USD 379.88 instead of USD 1,260.50. The figures show that the sustained use discount brings an N2 to the level of an E2 with a commitment, that the Windows licence is the larger line on small machines, and that Spot in Frankfurt costs half the on-demand price as long as the load tolerates it.

Sources

Read on 2026-10-21. Prices: Compute Engine VM instance pricing, general-purpose machine family pricing, compute-optimized machine family pricing, Spot VM pricing. Service: sustained use discounts, machine families. Billing data: structure of the standard Cloud Billing data export.