This document provides an overview of resource-based commitments, including how they work, their properties, and how the resulting CUDs apply to your usage.
To learn about spend-based CUDs for Compute Engine, see Compute flexible CUDs .
Resource-based commitments are ideal for predictable and steady state usage. Compute Engine lets you purchase the following categories of resource-based commitments :
- Hardware commitments: You can purchase hardware commitments for a specific machine series and commit to resources available for that machine series, such as vCPUs, memory, GPUs, Local SSD disks, and sole tenant nodes. For more information, see Purchase resource-based commitments without attached reservations and Purchase resource-based commitments with attached reservations .
- Software license commitments: You can purchase license commitments for applicable premium operating system (OS) licenses. For more information, see Purchase resource-based commitments for OS licenses .
Commitments for hardware resources are separate from commitments for licenses. You can purchase both categories of commitments for a VM instance, but you cannot purchase a single commitment that covers both hardware resources and licenses.
Before you begin
- If you haven't already, set up authentication
.
Authentication verifies your identity for access to Google Cloud services and APIs. To run
code or samples from a local development environment, you can authenticate to
Compute Engine by selecting one of the following options:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI. After installation, initialize the Google Cloud CLI by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity .
- Set a default region and zone .
REST
To use the REST API samples on this page in a local development environment, you use the credentials you provide to the gcloud CLI.
Install the Google Cloud CLI.
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity .
For more information, see Authenticate for using REST in the Google Cloud authentication documentation.
-
About resource-based commitments
When you purchase a resource-based commitment, you commit to purchasing a minimum amount of specific Compute Engine resources—such as vCPUs, memory, GPUs, Local SSD disks, and sole-tenant nodes—for a minimum of one or three years. In return for your commitment to pay for these resources, you receive these resources at discounted prices for the duration of your commitment's term. The percentage of discount that you receive off on-demand prices is also referred to as the committed use discount rate, or CUD rate. These discounts are as follows:
-
vCPUs and memory: you can receive up to 55% discount off on-demand prices for most machine types. For some machine types, you can receive up to 70% discount off on-demand prices.
-
GPUs: you can receive up to 55% discount off on-demand prices for most GPU types. For some GPU types, you can receive up to 65% discount off on-demand prices.
-
Local SSD disks: you can receive up to 55% discount off on-demand prices.
-
OS licenses: you can receive up to 79% discount off on-demand prices.
The exact discount rates and the duration for which you receive those discounts depend on the following properties that you specify when you purchase your commitment:
- Commitment plan
- Commitment term
- The resource type, which is determined as follows:
- For hardware resources, the commitment type .
- For software resources, the OS license type .
To compare on-demand and discounted rates of hardware resources, see VM instances pricing . To compare on-demand and discounted rates of software OS licenses, see Disk and image pricing .
Commitment lifecycle
You purchase a commitment by specifying the following properties, at a minimum:
- Types and numbers of resources that you agree to pay for
- Region where you agree to use the committed resources
- The minimum time period for which you agree to pay for the resources
After you complete the purchase, you must wait until your commitment becomes active before you can start receiving CUDs. Your commitment becomes active at 12:00 AM US and Canadian Pacific Time the day after the purchase. Depending on daylight saving time, this time is equivalent to UTC-8 (Pacific Standard Time), or UTC-7 (Pacific Daylight Time). For example, suppose you purchase your commitment at 3:45 PM US and Canadian Pacific Time (UTC-8) on December 1, 2024. In this scenario, your commitment becomes active at 12:00 AM US and Canadian Pacific Time (UTC-8) on December 2, 2024.
Compute Engine maintains a lien on your project for each region in your project where you purchase a commitment. When you purchase a new commitment for any region in your project, Compute Engine associates the lien for that region with the newly created commitment.
After your commitment becomes active, you start paying the discounted prices of your committed resources. You continue to pay these prices on an hourly basis until your commitment's end date, regardless of whether or not you use those resources. As you use Compute Engine resources, Google Cloud utilizes your commitment on an hourly basis to cover the costs of any eligible resource usage. Google Cloud continues to utilize your commitment either until the commitment expires or gets fully utilized.
Commitment plan
When you purchase a commitment, you choose between a 1-yearor 3-yearplan. The plan functions as the commitment tier; it determines both the minimum period for which you must commit to paying for resources, and the CUD rate that you receive. A 3-year plan typically offers a higher CUD rate than a 1-year plan. Commitments are often referred to by their plan—for example, as 1-year commitments or 3-year commitments .
Commitment term
A commitment's term is the specific period during which the commitment is active. The duration of this term must be at least as long as the period defined by the commitment's plan (1 or 3 years), but can be longer. This duration represents the time for which you agree to pay for the committed resources.
By default, your commitment expires at the end of its term. However, you can automatically renew your commitment for additional terms by enabling auto-renewal . After you enable auto-renewal, at the end of each term, Compute Engine automatically renews the commitment for a new term. Your commitment continues to renew for new terms until you manually disable auto-renewal. By default, the duration of each renewed term matches the minimum duration required by the commitment's plan, either 1 or 3 years.
Difference between term and plan
A commitment's plan (1 year or 3 years) determines the preset time duration and the CUD rate, whereas its term determines how long the commitment actually remains active. By default, a commitment's plan and term are identical. However, you can extend the term beyond the preset duration specified by the plan. If you extend the term, then your commitment remains active for a custom duration, but retains the CUD rate associated with its plan. You can extend commitment terms as follows:
- Commitments with a 1-year plan can have term durations starting from 1 year and less than 3 years.
- Commitments with a 3-year plan can have term durations starting from 3 years and less than 6 years.
To summarize, your commitment's term and plan function as follows:
- You get to use the committed resources at discounted prices that are determined by your plan .
- You must pay these discounted prices for the entire duration of your commitment's term , regardless of whether or not you use those resources.
Start and end times of a commitment
A commitment's term represents the active lifecycle of a commitment and each term has a start time and an end time. Terms always start and end at 12:00 AM US and Canadian Pacific Time on their respective start and end dates. Depending on daylight saving time, this time is equivalent to UTC-8 (Pacific Standard Time), or UTC-7 (Pacific Daylight Time). The start time of a commitment's term can be one of the following, depending on whether it is a new or an existing commitment:
-
For new commitments, the start time is the same as the activation time, which is 12:00 AM US and Canadian Pacific Time on the day following your purchase.
For example, suppose you purchase your commitment at 3:45 PM US and Canadian Pacific Time on January 1, 2025. In this scenario, your commitment starts at 12:00 AM US and Canadian Pacific Time on January 2, 2025.
-
For an existing commitment that has auto-renewal enabled, the start time of the new term is the same as the end time of the previous term: 12:00 AM US and Canadian Pacific Time.
For example, suppose the end time of your commitment's ongoing term is 12:00 AM US and Canadian Pacific Time on January 1, 2026. If auto-renewal is enabled, then a new term automatically begins at 12:00 AM US and Canadian Pacific Time on January 1, 2026.
The end time of a commitment's term can be one of the following, depending on your commitment's configuration:
-
Default:When you don't extend a commitment's term or enable auto-renewal, the default end time for that term is at 12:00 AM US and Canadian Pacific Time, exactly one or three years after the start time, depending on whether you chose a 1-year or 3-year commitment plan.
For example, suppose your commitment starts at 12:00 AM US and Canadian Pacific Time on January 1, 2025.
- With a 1-year plan, the default end time is 12:00 AM US and Canadian Pacific Time on January 1, 2026.
- With a 3-year plan, the default end time is 12:00 AM US and Canadian Pacific Time on January 1, 2028.
-
Auto-renewal:If you enable auto-renewal, then the commitment automatically renews for additional terms. Each renewed term has a duration equal to the commitment's plan (1 or 3 years), and the end time of each subsequent term is at 12:00 AM US and Canadian Pacific Time, one or three years after the start time of that renewed term.
For example, suppose your 1-year commitment starts at 12:00 AM US and Canadian Pacific Time on January 1, 2025. With auto-renewal enabled, the commitment has its subsequent term ending at 12:00 AM US and Canadian Pacific Time on January 1 of each subsequent year.
-
Extended term:If you extend the term , the end time is at 12:00 AM US and Canadian Pacific Time on the custom end date you specify. This custom end date must be within the allowed range for your commitment's plan (for example, less than 3 years for a 1-year plan, or less than 6 years for a 3-year plan).
For example, you could extend a commitment with a 1-year plan to end 2 years after its start date, at 12:00 AM US and Canadian Pacific Time on that date.
Commitment status
Depending on the stage of the commitment's lifecycle, your commitment can have one of the following statuses:
-
CREATING: the commitment is being created. -
NOT_YET_ACTIVEorPENDING: the commitment has been created but is not yet active. Compute Engine creates your commitments with this status.- If you're using the Google Cloud CLI or REST to purchase your
commitment, then this status value shows as
NOT_YET_ACTIVE. - If you're using the Google Cloud console to purchase your commitment, then
this status value shows as
PENDING.
- If you're using the Google Cloud CLI or REST to purchase your
commitment, then this status value shows as
-
ACTIVE: the commitment is active. -
EXPIRED: the commitment has expired. Compute Engine reserves the right to remove expired commitments that are older than 210 days from the expiration date. -
CANCELED: Compute Engine canceled the commitment. Compute Engine changes the status of your commitments toCANCELEDwhen you combine them to create a new merged commitment .
Between the time of your commitment purchase and its activation time, the
status of your commitment remains as NOT_YET_ACTIVE
(or as PENDING
on the
Google Cloud console). After activation, the status of your commitment changes to ACTIVE
.
For example, suppose you purchase your commitment on January 20, 2024, at 10:00 PM
US and Canadian Pacific Time (UTC-8 or UTC-7). Compute Engine creates your
commitment immediately with its status as NOT_YET_ACTIVE
. Your
commitment becomes ACTIVE
on January 21, 2024, at 12:00 AM US
and Canadian Pacific Time (UTC-8 or UTC-7).
When the commitment reaches its end date and expires, the status changes from ACTIVE
to EXPIRED
. Suppose the commitment from the preceding example (which
becomes active on January 21, 2024) has a 1-year term and you don't enable
auto-renewal. Then, on January 21, 2025, at 12:00 AM US and Canadian Pacific
Time (UTC-8 or UTC-7), the commitment expires and its status changes to EXPIRED
.
Pricing
You're billed monthly for your commitment and must pay your monthly commitment fee even if you don't use all of your committed resources. Your commitment fee is the sum of the discounted prices of all your committed resources. Compute Engine calculates the discounted price of each resource by using its prevailing on-demand price on the day your commitment becomes active. Your monthly commitment fee and the discounted prices for your resources stay the same until the end of your commitment term, even if the on-demand prices change.
By default, Google Cloud enables CUD sharing for most Cloud Billing accounts. For more information, see CUD scope and default configuration . When CUD sharing is enabled, your resource-based CUDs are pooled at the Cloud Billing account level. As a result, a single commitment can cover eligible resource usage in any project that is linked to the same Cloud Billing account. This distributed application of your CUDs helps you maximize commitment utilization across your organization.
If you use your commitments to run custom machine types, then Compute Engine charges a 5% premium over the commitment prices. Compute Engine charges this premium for the portion and duration of your commitment that you run these custom machine type VMs. When CUD sharing is enabled, CUDs are credited to custom machine types across the Cloud Billing account before predefined machine types.
The discounted pricing (also referred to as CUD pricing) for VM instances, with or without GPUs and Local SSD disks, differs depending on the region. For 1-year and 3-year commitment prices of various resources, see the Compute Engine pricing pages .
If you move the project for which you purchased commitments to a different Cloud Billing account, then you continue to receive CUDs under the destination Cloud Billing account for the commitments associated with that project. For more information about how moving a project affects CUD sharing and attribution settings, see Impact of changing a project's Cloud Billing account .
Limitations
The following restrictions apply to resource-based CUDs.
General Limitations
- Projects that are in the free tier period with free tier credit and projects that don't have any payment history don't qualify for committed use discounts.
- You can purchase commitments only on a per-region basis.
- Resource-based CUDs don't apply to preemptible VM instances , N1 shared-core machine types , or extended memory .
- If you use your Compute Engine reservations with Managed Service for Apache Spark, then those reserved resources aren't eligible for resource-based CUDs.
- If you use your reservations with Dataflow, then you can receive resource-based CUDs only for usage from specifically targeted reservations that specify accelerators (GPUs or TPUs).
- Resource-based commitments for Cloud TPUs are available for purchase only through future reservations .
- Commitments for RHEL for SAP are unavailable for purchase as Google transitions into the new RHEL pricing model .
- For machine types that support per VM Tier_1 networking performance , the higher bandwidth SKUs are excluded from CUDs.
-
f1-microandg1-smallshared-core machines are not eligible for CUDs. - You can't change the project for which you purchase a commitment. However, when CUD sharing is enabled, CUDs from a commitment are shared across other projects in the same Cloud Billing account. For more information, see Share resource-based CUDs across projects .
Limitations specific to sharing resource-based CUDs
- If you have a shared reservation in a project where CUD sharing is enabled, and you want usage from the shared projects to be eligible for the shared CUDs, then you must ensure that you share your reservation only with projects that are linked to the same Cloud Billing account. Otherwise, usage from the shared projects won't be eligible for the shared CUDs and you might be charged the on-demand rates.
- When CUD sharing is enabled for a Cloud Billing account, if any portion of a commitment is unutilized, then the remaining commitment charge remains in the project where you purchased that commitment.
- If you move the project for which you purchased commitments to a different Cloud Billing account, then you continue to receive CUDs under the destination Cloud Billing account for the commitments associated with that project. To learn more about how moving a project affects CUD sharing and attribution settings, see Impact of changing a project's Cloud Billing account .
Limitations specific to attached reservations
-
If the commitment specifies any GPUs, Local SSD disks, or both, then the attached reservation (or combination of attached reservations) must specify exactly the same numbers and types of those resources as the commitment. For more information, see Attach reservations to resource-based commitments .
-
If your attached reservation is for a resource type that requires attached reservations , then you can't do the following:
- Delete, resize, or modify the attached reservations throughout the commitment's lifecycle. However, you can replace existing attached reservations with new ones .
- Enable the auto-delete setting on those attached reservations. When commitments that specify these resource type expire, any attached reservations are automatically deleted.
-
You can't attach the same reservation to more than one commitment.
Limitations specific to CUDs Recommendations
- CUD recommendations are not available for the A3 Ultra, A4, A4X, and A4X Max machine series.
- CUD recommendations are not available for Cloud TPUs.
Hardware commitments
Hardware commitments apply only to the specific region and machine family series for which you purchase. In return, you receive discounts on the aggregate prices of all the eligible hardware resources for that machine series within that region. These hardware resources include vCPUs, memory, GPUs, and Local SSD disks.
The commitment that you purchase doesn't affect your VM configurations. Your CUDs apply to the aggregate number of vCPUs, memory, GPUs, and Local SSD disks of a specific machine series within a region. Consequently, the CUDs that you receive for a commitment are not affected by changes to your VM's machine setup, as long as the resources are covered by that commitment.
When you purchase a commitment for a specific machine series, you are eligible for CUDs on all VM machine types regardless of the VM size or tenancy model, including all predefined and custom machine types and sole-tenant nodes. For more information about the eligible resource types for each machine series, see Hardware commitment types .
Efficient usage of your commitments
Purchase commitments only for the specific resources that you plan to use. After you purchase a commitment, you're billed for that commitment on a monthly basis, even if you don't use the commitment. For example, if you purchase a 3-year commitment for eight vCPUs, then you're charged the 3-year CUD rates for those vCPUs on a monthly basis. You are charged for usage for the entire month even if you use those vCPUs only for a part of the month.
It is to your advantage to purchase commitments only in increments that you know you will use. For example, suppose that you purchased a commitment for eight vCPUs and keep receiving CUDs for using eight vCPUs every month. Suppose that you then anticipate to start using 24 vCPUs per month. In this scenario, the additional 16 vCPUs aren't covered by your existing commitment and are billed at on-demand rates. If you plan to use the 16 additional vCPUs per month on a recurring basis, then you benefit from purchasing an additional commitment for 16 vCPUs.
Commitments can't be stacked for burst scenarios. For example, if you purchase a commitment for 10 vCPUs, but run 20 vCPUs for only the first half of the month, then your commitment still covers only 10 vCPUs at any given time.
Because a month has roughly 730 hours, you might incorrectly assume that your burst usage is fully covered based on the following calculation:
- Commitment: 10 vCPUs * 730 hours = covers 7,300 vCPU-hours of commitment.
- Usage: 20 vCPUs * 365 hours (half the month) = 7,300 vCPU-hours of usage.
- Misconception: 7,300 vCPU-hours of commitment = 7,300 vCPU-hours of usage, leading to the incorrect assumption that the commitment covers the entire usage perfectly.
In reality, commitments apply on a continuous second-by-second basis rather than as a monthly aggregate pool of hours. For this scenario, your billing breaks down as follows:
- First half of the month (365 hours): Your commitment covers 10 vCPUs and provides CUDs for 3,650 vCPU-hours of usage. The remaining 10 vCPUs exceed your commitment and are billed at standard on-demand rates, which is equivalent to 3,650 vCPU-hours of on-demand charges.
- Second half of the month (365 hours): Because you run 0 vCPUs, your commitment for 10 vCPUs goes unused throughout this period. As a result, 3,650 vCPU-hours of commitment are wasted.
Usage overage
Any hourly resource usage that is not covered by your commitments is
charged based on the on-demand rates and might be eligible for applicable sustained use discounts (SUDs)
.
For example, consider a commitment for 2 vCPUs and 8 GB memory that belong
to the N2 machine series. Suppose that you use this commitment to purchase
and run an n2-standard-2
(2 vCPUs and 8 GB memory) VM for a portion of
the month and then run an n2-standard-8
(8 vCPUs and 32 GB memory) VM
for the remainder of the same month. In this scenario, Compute Engine
combines the usage across both VMs and automatically applies the applicable SUDs
to any resource usage that isn't covered by your commitment.
Combine reservations with commitments
A commitment provides a 1- or 3-year discounted price agreement, but it doesn't reserve capacity in a specific zone. A reservation makes sure that capacity is held in a specific zone even if the reserved VMs are not running. To get zonal resources at discounted prices and also makes sure that capacity is reserved for them, you must both purchase commitments and create reservations for those zonal resources.
You can also attach reservations to your resource-based commitments at the time that you purchase your commitment. By attaching reservations to your commitments, you link the two entities together. This linkage helps you better identify and track which committed resources also have capacity reserved.
Attaching a reservation to your commitment is mandatory for some resource types and optional for others:
- vCPUs and memory: Attaching reservations is optional. You can purchase commitments for vCPUs and memory without attaching any reservations.
- GPUs: Attaching reservations is mandatory. When you purchase commitments for GPUs, you must reserve those GPUs and attach those reservations to your commitment.
- Local SSD disks: Attaching reservations is mandatory for most machine series. However, if you specify local Titanium SSD disks in your commitment for use with C4, C4A, C4D, H4D, or Z3 instances, then you don't need to reserve those disks.
For more information about attaching reservations to your commitments, see Combine reservations with committed use discounts .
Commitment types for hardware commitments
When you purchase a commitment, you must choose the commitment type that applies to your intended resource usage. The commitment type of the commitment determines the machine series—or in some cases, a specific collection of machine types—that is covered by your commitment. When you use instances belonging to these machine series or machine types, Google Cloud covers the eligible portions of that usage through your commitment. Most machine series use one specific commitment type for all machine types in that series. The following machine series are exceptions; they don't have a single commitment type for the entire series:
-
Accelerator-optimized A3: This machine series has multiple commitment types:
- A3 Edge and A3 High machine type resources are covered by a single commitment type.
- A3 Mega machine type resources are covered by a separate commitment type.
-
A3 Ultra machine type resources are covered by a separate commitment type.
-
Memory-optimized M1 and memory-optimized M2: These machine series have a single, combined commitment type that covers all M1 and M2 machine types.
-
Memory-optimized M4: This machine series has two commitment types:
- One commitment type specifically covers M4 machine types that come with 6 TB of memory.
- All other M4 machine types are covered by a separate commitment type.
-
Memory-optimized X4: This machine series has a different commitment type for each machine type:
- The X4 machine type with 6 TB of memory (
x4-480-6t-metal) - The X4 machine type with 8 TB of memory (
x4-480-8t-metal) - The X4 machine type with 12 TB of memory (
x4-960-12t-metal) - The X4 machine type with 16 TB of memory (
x4-960-16t-metal) - The X4 machine type with 24 TB of memory (
x4-1440-24t-metal) - The X4 machine type with 32 TB of memory (
x4-1920-32t-metal)
- The X4 machine type with 6 TB of memory (
The specific value for each commitment type varies depending on whether you use the gcloud CLI, REST, or the Google Cloud console to purchase a commitment. For the exact values to use when purchasing, see the relevant instructions in the Purchase resource-based commitments without attached reservations or Purchase resource-based commitments with attached reservations sections.
The following table lists all the machine series for which you can purchase resource-based commitments, along with their corresponding commitment types. For each commitment type, the table also lists the eligible machine types and resource types that are eligible for CUDs. For every listed machine type, the applicability includes sole-tenant node types, if sole-tenancy is supported by the machine series.
- vCPUs
- Memory
- vCPUs
- Memory
- Local SSD disks
- vCPUs
- Memory
- Local SSD disks
- vCPUs
- Memory
- vCPUs
- Memory
- vCPUs
- Memory
- vCPUs
- Memory
- Local SSD disks
- vCPUs
- Memory
- Local SSD disks
- vCPUs
- Memory
- vCPUs
- Memory
- Local Titanium SSD disks
- vCPUs
- Memory
- Local Titanium SSD disks
- vCPUs
- Memory
- vCPUs
- Memory
- GPUs
- Local SSD disks
- All N1 machine types, excluding shared-core.
- GPUs:
- NVIDIA T4
- NVIDIA V100
- NVIDIA P100. NVIDIA P100 is approaching end of support, review the NVIDIA P100 end of support documentation .
- NVIDIA P4
- vCPUs
- Memory
- Local Titanium SSD disks
- vCPUs
- Memory
- Local Titanium SSD disks
- All H4D machine types
- All H4D sole-tenant node types
- vCPUs
- Memory
- vCPUs
- Memory
- Local SSD disks
- All C2 machine types
- All C2 sole-tenant node types
- vCPUs
- Memory
- Local SSD disks
- vCPUs
- Memory
- Local SSD disks
- All M1 and M2 machine types
- Doesn't apply to Memory Optimized Upgrade Premium SKUs
- vCPUs
- Memory
- Local SSD disks
- vCPUs
- Memory
m4-ultramem-224
(the M4 machine type with
6 TB of memory)- vCPUs
- Memory
- vCPUs
- Memory
- vCPUs
- Memory
- vCPUs
- Memory
- vCPUs
- Memory
- vCPUs
- Memory
- vCPUs
- Memory
- vCPUs
- Memory
- GPUs
- Local SSD disks
- All A2 machine types
- GPUs: NVIDIA A100
- vCPUs
- Memory
- GPUs
- Local SSD disks
- A3 Edge and High machine types
- GPUs: NVIDIA H100
- vCPUs
- Memory
- GPUs
- Local SSD disks
- A3 Mega machine types
- GPUs: NVIDIA H100
- vCPUs
- Memory
- GPUs
- Local SSD disks
- A3 Ultra machine types
- GPUs: NVIDIA H200
- vCPUs
- Memory
- GPUs
- Local SSD disks
- All A4 machine types
- GPUs: NVIDIA B200
- vCPUs
- Memory
- GPUs
- Local SSD disks
- All A4X machine types
- GPUs: NVIDIA GB200
- vCPUs
- Memory
- GPUs
- Local SSD disks
-
a4x-maxgpu-4g-metal - GPUs: NVIDIA GB300
- vCPUs
- Memory
- GPUs
- Local SSD disks
- All G2 machine types
- GPUs: NVIDIA L4
- vCPUs
- Memory
- GPUs
- Local Titanium SSD disks
- All G4 machine types
- GPUs: NVIDIA RTX PRO 6000
You can't purchase commitments for f1-micro
, or g1-small
machine types or
for the sole-tenant premium charge.
Commitments for Compute Engine machine types
Google Cloud offers resource-based commitments for hardware resources of several Compute Engine machine family series. Purchase the appropriate commitment type for the machine types you plan to use.
General-purpose machine types
CUDs for general-purpose machine types are applied to resources in the following order:
-
N4, N2, N2D, E2, or N1 custom machine types, depending on the commitment that you purchase
-
Sole-tenant nodes
-
E2, N2, N2D, N4, N4D, N4A, C4, C4A, C4D, C3, C3D, Tau T2D, or N1 predefined machine types, depending on which commitment that you purchase.
When you purchase commitments for general-purpose machine types, you pick which machine series the commitment applies to. For example, if you purchase general-purpose E2 commitments, they apply to only E2 machine types. Similarly, if you purchase general-purpose N2, N2D, N4, N4D, N4A, C4, C4A, C4D, C3, C3D, Tau T2D, or N1 commitments, the commitments never overlap.
For example, assume you have a region with the following mix:
- 10 N2 custom machine type vCPUs
- 30 GB of custom machine type memory
- 2
n2-standard-4predefined machine types
You purchase N2 commitments for 15 vCPUs and 13.5 GB of memory for committed use. The CUDs would be applied first to the N2 custom machine types, and any remaining discounts would be applied to the N2 predefined machine types. In this case, all 10 vCPUs of the N2 custom machine types would be charged at committed use prices, and 13.5 GB of custom machine type memory would be charged at committed use prices.
Finally, the remaining 5 vCPUs of committed use would apply to 5 random vCPUs
across the two n2-standard-4 machine
types. Any resource usage that isn't
covered by your commitments might qualify for applicable SUDs.
Additionally, if you use your commitments to run custom machine types, then Compute Engine charges a 5% premium over the commitment prices. Compute Engine charges this premium for the portion and duration of your commitment that you run these custom machine type VMs.
Commitments are aggregated by machine series. If you are unsure of how many commitments to purchase, you might want to purchase a smaller number of commitments, then add more as you need them. For example, you can purchase multiple contracts for 10 vCPUs and zero memory, then purchase separate contracts for additional memory.
To purchase a commitment for general-purpose machine types, see Purchase resource-based commitments without attached reservations and Purchase resource-based commitments with attached reservations .
Memory-optimized machine types
When you purchase commitments for memory-optimized machine series resources, you must use the correct commitment type that applies to your machine type. The following list outlines how the commitment types change depending on the machine type:
- M1 and M2 machine types: A single, combined commitment type covers all M1 machine types and M2 machine types .
- M3 machine types: A single commitment type covers all M3 machine types .
- M4 machine types: There are two commitment types for M4 machine types
:
- One for the M4 machine type that has 6 TB of memory
- One for all other M4 machine types
-
X4 machine types: For X4 machine types , there is a unique commitment type for each of the available memory options:
- 6 TB of memory (
x4-480-6t-metal) - 8 TB of memory (
x4-480-8t-metal) - 12 TB of memory (
x4-960-12t-metal) - 16 TB of memory (
x4-960-16t-metal) - 24 TB of memory (
x4-1440-24t-metal) - 32 TB of memory (
x4-1920-32t-metal)
- 6 TB of memory (
You must purchase the commitment type that matches the machine series and type of your instance.
The Memory Optimized Upgrade Premium Core and RAM SKUs, which are specific to M2 machine types, are not eligible for CUDs. The prices for these SKUs are incorporated into the price rates that are documented on the VM instance pricing page and in the pricing calculator .
If you intend to use memory-optimized machine types, purchase memory-optimized commitments. To purchase a commitment for memory-optimized machine types, see Purchase resource-based commitments without attached reservations .
Storage-optimized machine types
To purchase commitments for storage-optimized Z3 machine types, see Purchase resource-based commitments without attached reservations and Purchase resource-based commitments with attached reservations .
Compute-optimized machine types
To purchase commitments for compute-optimized machine types, see one of the following:
- For C2 and C2D compute-optimized machine types: See Purchase resource-based commitments without attached reservations .
- For H3 and H4D compute-optimized machine types: See Purchase resource-based commitments with attached reservations .
Accelerator-optimized machine types
Accelerator-optimized VMs have a specific model and number of NVIDIA GPUs attached. When you purchase commitments for these machine types, you must also reserve your committed GPUs and attach those reservations to your commitments.
To purchase a commitment for these machine types, see the following:
- For A3 Mega, A3 High, A3 Edge, A2, G4, or G2 machine types: See Purchase resource-based commitments with attached reservations .
- For A4X Max, A4X, A4, or A3 Ultra machine types: You must use the future reservations in AI Hypercomputer consumption option. For more information, see Reserve capacity through your account team in the AI Hypercomputer documentation.
Commitments for GPUs and Local SSD disk resources
When you purchase commitments for GPUs, you can only specify one GPU type for any given commitment. Consequently, that commitment covers usage only for the specified GPU type. If you want to receive CUDs for using multiple GPU types, then you must purchase separate commitments for each GPU type. For example, suppose that you use both NVIDIA V100 GPUs and NVIDIA P100 GPUs. If you only have a commitment for NVIDIA P100 GPUs, then that commitment can't cover your usage from NVIDIA V100 GPUs. To receive CUDs for both NVIDIA P100 GPU usage and NVIDIA V100 GPU usage, you must purchase separate commitments for each GPU type.
Additionally, to purchase commitments for GPUs, Local SSD disks, or both you must reserve the resources and attach the reservations to your commitment. Reserving these resources is required to make sure that the resources are always available for you (whether you use them or not). There are no additional charges for reserving the resources.
To learn how to purchase commitments for GPUs or Local SSD disks, see the following:
-
For GPUs used with A4X Max, A4X, A4, or A3 Ultra machine types: You must use the future reservations in AI Hypercomputer consumption option. For more information, see Reserve capacity through your account team in the AI Hypercomputer documentation.
-
For all other GPU types and Local SSD disks: See Purchase resource-based commitments with attached reservations .
To learn more about commitments with attached reservations, see Attach reservations to resource-based commitments .
Software license commitments
Similar to hardware resource commitments, you can purchase these commitments for a plan of either one or three years. In return for your commitment to pay for these resources, you receive these resources at discounted prices for the duration of your commitment's term. The percentage of discount that you receive off on-demand prices is also referred to as the committed use discount rate, or CUD rate.
You can purchase commitments for your licenses if you run your workloads on VMs that use the following operating system (OS) images:
- SUSE Linux Enterprise Server (SLES) images
- SLES for SAP images
- Red Hat Enterprise Linux (RHEL) images
The CUD rates that you receive for license commitments of each OS image depend on the number of vCPUs that your VM uses. The following tables show the CUD rates for each type of software license commitment:
| License commitment type | Number of vCPUs | 1-year CUD rate | 3-year CUD rate |
|---|---|---|---|
|
SLES images
|
1-2 | 77% | 79% |
|
SLES images
|
3-4 | 54% | 59% |
|
SLES images
|
5+ | 45% | 50% |
|
SLES for SAP images
|
1-2 | 59% | 63% |
|
SLES for SAP images
|
3-4 | 59% | 63% |
|
SLES for SAP images
|
5+ | 59% | 63% |
|
RHEL images
|
1-8 | 20% | Unavailable |
|
RHEL images
|
9-127 | 20% | Unavailable |
|
RHEL images
|
128+ | 20% | Unavailable |
When you purchase a license commitment, the licenses enter a pool for the specified project and region. The licenses aren't tied to specific VMs. When a VM starts, it consumes a license from the pool. When the VM stops, the license returns to the pool for other VMs to use. You receive the discount as long as a running VM consumes an available license from the pool.
For example, if you need to run 10 VMs in two regions (5 VMs in us-central1
and 5 VMs in us-west1
) and under the same project ID, you must purchase 5
licenses in each region to cover those running VMs. For each commitment, your
committed licenses can apply to any 5 concurrently running VMs at any time
during the year in the respective region. You are billed monthly for the
commitments regardless of your usage.
After you purchase a commitment, your commitment becomes active on the following day at 12 AM US and Canadian Pacific Time (UTC-8, or UTC-7 during daylight saving time). Compute Engine maintains a lien on your project for each region in your project where you purchase a commitment. When you purchase a new commitment for any region in your project, Compute Engine associates the lien for that region with the newly created commitment.
Between the time of your commitment purchase and its activation time, the
status of your commitment remains as NOT_YET_ACTIVE
(or as PENDING
on the
Google Cloud console). After activation, the status of your commitment changes to ACTIVE
.
For example, suppose you purchase your commitment on January 20, 2024, at 10:00 PM
US and Canadian Pacific Time (UTC-8 or UTC-7). Compute Engine creates your
commitment immediately with its status as NOT_YET_ACTIVE
. Your
commitment becomes ACTIVE
on January 21, 2024, at 12:00 AM US
and Canadian Pacific Time (UTC-8 or UTC-7).
You can't cancel a license commitment after you purchase it. When your license commitments expire, your running VMs continue to run and you are charged for the licenses at on-demand image prices.
To purchase commitments for licenses, see Purchase resource-based commitments for OS licenses .
Quotas for commitments and committed resources
You can only purchase resource-based commitments for resources in a specific region if you have quota available in that region for both of the following:
- Commitments
- Committed resources (with the exception of memory)
Specifically, if you want to purchase commitments for any vCPUs, GPUs, or Local SSD disks, then you need to have quota available both for commitments and for those specific committed SKUs in the region where you want to purchase the commitment. There is no quota on memory, so you don't need to have separate quota for committed memory to purchase a commitment for memory.
For example, to purchase 5 commitments that cover 32 vCPUs of general-purpose
N1 machine type, 16 GB memory, 4 NVIDIA P4 GPUs, and 2 Local SSD disks in
the us-central1
region, you must have quota for each of the following:
- Five commitments in
us-central1 - 32 committed N1 vCPUs in
us-central1 - Four committed NVIDIA P4 GPUs in
us-central1 - 750 GB (or 2 Local SSD disks) of committed Local SSD disk space in
us-central1
Quota limits
By default, Compute Engine offers a specific amount of commitment quota for each type of committed resource. These quota limits determine the number of commitments you can purchase and the amount of resources you can commit to. To learn how to view the current quota limits and quota usage values for your commitments and committed resources, see View quotas in the Google Cloud console .
If you consistently pay for a very high amount of committed vCPUs for your projects across different regions, then you might be eligible for unlimited quota on your committed vCPUs for all machine types (except for memory-optimized machine types) in all regions.
If you use up all your commitment quota, you won't be able to purchase new commitments. Likewise, if you exhaust your committed resource quota, then you won't be able to purchase a new commitment for that resource even if you have commitment quota available. For example, if you used up all of your commitment quota, then the server returns the following error when you make a commitment purchase request:
"Quota 'COMMITMENTS' exceeded. Limit: 0.0"
Increase quota limits
If you don't have enough quota for your commitments or your committed resources, you can always request for a quota increase from the Quotas page . You can request for quota increases at any time. To learn how to submit a request to increase quota limits for your resources, see Request a quota adjustment .
For example, consider a scenario where you purchased two commitments for a
total of four NVIDIA V100
GPUs in the us-central1
region and met your quota
limits. Suppose you want to purchase two new commitments for two NVIDIA V100 GPUs
each, in the same region, you must do the following:
-
Submit a new quota request to increase your
Committed NVIDIA V100 GPUsquota inus-central1to the new maximum number (eight) that you want. -
Submit a new quota request to increase your
Commitmentsquota inus-central1to match the new maximum number (four) that you want.
Wait for your requests to be approved and closed. After your requests are
approved, your commitment and committed GPU quotas in us-central1
increase to
match your new needs. You can then purchase your new commitments.
If you place a request for an increase in quota limit for a resource that already has unlimited quota by default, then the quota value for that resource remains unlimited and you are notified that your requested limit is below the approved limit.
Set a cap for quota limits
You can set a cap on the quota value for your committed resources by creating a quota override . For resources that have unlimited quota by default, the quota override decreases the quota value. To remove the quota override for the resource and return to unlimited quota values by default, you must reset the quota value .
To learn more about how to manage quotas for your resources, see View and manage quotas .
CUD recommendations
Google Cloud analyzes your compute instance spending trends with and without a commitment and generates CUDs recommendations. You can use CUD recommendations to optimize your compute costs. You can compare the costs with and without a commitment, and estimate how much you can save each month with a commitment.
The Recommender generates a card with information about your instance usage over the last 30 days. If your instances show a trend of uncommitted usage over 30 days, then the Recommender classifies this as an opportunity to purchase commitments to reduce your instance costs.
CUD recommendations are refreshed once per day and take the previous 30 days of usage history into consideration. The recommendations are based on two logical model types that analyze your consumption:
- Recommendations for stable usage: Calculates the recommended commitment quantity by analyzing resources that were continuously active over the 30-day period. These commitments cover steady-state workloads.
- Recommendations for optimal savings: Calculates the recommended commitment quantity to maximize overall net savings. This model also considers periods of bursting or intermittent usage. This model recommends commitments for usage periods that exceed a financial break-even threshold, which represents the point where your discount outweighs the commitment cost compared to standard rates. For example, if a commitment offers a 30% discount, then an instance needs to run for more than 70% of the month to break even. Because this model maximizes overall net savings, recommended commitment quantities might sometimes exceed your uncommitted usage on specific days or hours.
Usage is considered uncommitted and eligible if the following is true:
- The instance's uptime during the 30-day period met or exceeded the financial break-even threshold.
- The resource belongs to a machine series or resource type that is eligible for resource-based CUDs .
- The resource belongs to a machine series or resource type that supports CUD recommendations .
- The instance's usage was not already covered by an existing commitment.
CUD recommendations are available in the Google Cloud console, through Cloud Billing data export to BigQuery , and through the Recommender API .
In the Billingsection of the Google Cloud console, you can view CUD recommendations on the following pages:
- FinOps hub : Displays only the top recommendations that yield the highest estimated savings, which are typically the optimal savings recommendations.
- Recommendations page: Displays all available recommendations, which includes both stable usage and optimal savings recommendations. You can also view commitment recommendations for specific services or projects.
For information about how to view these recommendations, see View recommendations .
After you select a specific recommendation, you can also create a scenario to simulate specific conditions and customize your recommendation. You can do the following as part of your scenario modeling:
- Toggle between 1-year and 3-year commitment terms.
- Adjust your coverage threshold.
- Choose a different usage period to calculate your recommendation.
- Opt to ignore atypical usage history.
To learn how to purchase your selected commitment recommendation, see Apply recommendations to purchase additional commitments .
View your commitments
View the list of all your commitments in the Google Cloud console, the Google Cloud CLI, or REST.
Console
In the Google Cloud console, view a list of commitments in the Committed use discountspage.
gcloud
Make a request using the commitments list
command:
gcloud compute commitments list
The tool returns a list of commitments:
NAME REGION END_TIMESTAMP STATUS my-commitment us-east1 2018-03-17T00:00:00.000-07:00 NOT_YET_ACTIVE
REST
You can get a list of commitments across all regions by making an aggregatedList
request
to the following URL:
https://compute.googleapis.com/compute/v1/projects/ PROJECT_ID
/aggregated/commitments
Which returns a list of commitments:
"commitments": [
{
"kind": "compute#commitment",
"id": "3294122326373778983",
"creationTimestamp": "2017-02-09T15:18:32.411-08:00",
"name": "example-commitment",
"region": "https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1",
"selfLink": "https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/commitments/example-commitment",
"status": "NOT_YET_ACTIVE",
"statusMessage": "The commitment is not yet active (its startTimestamp is in the future). It will not apply to current resource usage.",
"plan": "TWELVE_MONTH",
"startTimestamp": "2017-02-10T00:00:00.000-08:00",
"endTimestamp": "2018-02-10T00:00:00.000-08:00",
"resources": [
{
"type": "VCPU",
"amount": "5"
},
{
"type": "MEMORY",
"amount": "32500"
}]
}
]
Modify a commitment
You can modify your active commitments in the following ways:
- You can change the auto-renew status for your commitment. For more information, see Renew commitments automatically .
- You can extend your commitment's term beyond the preset duration of 1 or 3 years by specifying a custom end date for your commitment. For more information, see Extend commitment terms .
- You can modify the amount of resources in your hardware commitments by either merging or splitting your existing commitments. For more information, see Merge and split commitments .
- You can upgrade your 1-year hardware commitments and convert them into 3-year commitments. For more information, see Upgrade commitments .
- You can change the Cloud Billing account that is linked to, and pays for, the project where you purchased your resource-based commitments. For more information, see Change the billing account for a project and Impact of changing a project's Cloud Billing account .
After you purchase a commitment, you can't modify the commitment's project, commitment type, or region.
Cancel a commitment
After you purchase a commitment, you can't cancel it. You must pay the agreed upon monthly amount for the duration of the commitment. Commitments are not affected by future changes to on-demand prices of your committed Compute Engine resources.
If you accidentally purchased a commitment or made a mistake while configuring your commitment, then you have 14 calendar days from the commitment start date to contact Cloud Billing support for help. Approval of any changes is subject to Google's discretion and isn't assured until confirmed by Google.
Understand your bill with committed use discounts
Read the following documents to gain a better understanding of your billing:
- View and download the cost details of your invoice or statement .
- Analyze the effectiveness of your committed use discounts .
- Understand your savings with cost breakdown reports .
Support
If you have any questions regarding committed use discounts on your bill, you can contact Google Cloud support .
What's next
- Learn how to renew resource-based commitments automatically .
- Learn how to extend the term of resource-based commitments .
- Learn how to upgrade resource-based commitments .
- Learn how to merge and split resource-based commitments .
- Learn how to analyze the effectiveness of your CUDs .
- Review the prices of your resources with and without CUDs .

