Resource-based pricing

Before October 1st, 2018, machine type SKUs included vCPUs and memory as a single unit. Starting October 1st 2018, most machine types are billed as individual vCPU and memory SKUs. The n1-standard, n1-highmem, and n1-highcpu machine types are billed by their individual vCPU and memory usage in two separate SKUs rather than billing by each machine type.

This change provides additional savings and simplicity. Predefined machine types continue to function as normal, but your bill reports them as individual vCPUs and memory. This means that the savings for sustained use discounts are no longer limited to instances of the same machine type. Instead, you receive sustained use discounts for instances based on your use of the individual vCPUs and GB of memory regardless of the machine type that you use. This additional flexibility provides larger sustained use discount savings than the current billing model.

See the pricing for vCPUs and memory on the Compute Engine pricing page.

SKUs for predefined vCPU and memory

Because predefined machine types were not previously billed as individual vCPU and memory resources, several SKUs are added to describe those items.


To see the pricing for the vCPUs and memory in different machine type categories, see the Compute Engine pricing page.

Sustained use discounts

Sustained use discounts for predefined machine types function the same way that they do for custom machine types and sole-tenant nodes. See Sustained use discounts for examples of sustained use discounts for resource based pricing.

Billing export

With this change, you are no longer be to see the machine types that you are using in your invoice and Billing BigQuery export. However, you can still use the "key":"" system label key in billing BigQuery export to obtain the machine types for the VMs that you are using.

For example, you can find costs since 18 September 2018 sorted by machine type using the following example:

  sku.description as sku_description,
  system_labels.value as machine_spec,
  SUM(cost) as cost
FROM `project.dataset.table`
LEFT JOIN UNNEST(system_labels) as system_labels
  ON system_labels.key = ""
WHERE CAST(DATETIME(usage_start_time, "America/Los_Angeles") AS DATE) >= "2018-09-18"
GROUP BY sku_description, machine_spec;

Replace project_id.dataset_name.table_name with your own exported table.

What's next

Request a custom quote

With Google Cloud's pay-as-you-go pricing, you only pay for the services you use. Connect with our sales team to get a custom quote for your organization.
Contact sales