About reservations (original) (raw)

This document gives you an overview of reservations. To learn more about the different types of reservations, seeChoose a reservation type.

When you create a reservation, Compute Engine verifies that the requested capacity is available in the specified zone. If so, then Compute Engine reserves resources, creates the reservation, and the following is enabled:

Reservations are useful for growth, migrations, or disaster recovery.

How reservations work

A reservation provides a high level of assurance of capacity for one or more VMs with the configuration the user specifies. You might also use a reservation withCompute Engine commitmentsor other products that use VMs.

When you create a reservation, you define the following properties:

When you stop, suspend, or delete a VM that consumes a reservation, the VM no longer counts toward the reservation. The reserved capacity becomes available again.

If you want to delete a reservation to release the reserved capacity, but keep any VMs that consume the reservation, then consider the following:

How shared reservations work

Each VM in a shared reservation can be consumed by a VM in either the project that created the reservation (owner project) or any of the projects the reservation is shared with (consumer projects). When a VM stops consuming a shared reservation, the shared reservation can be consumed by a different VM in any of the projects that the reservation is shared with. If a shared reservation reserves multiple VMs, VMs from multiple projects can consume the same shared reservation simultaneously.

By default, projects can't create and modify shared reservations. To create and modify a shared reservation in a project, the project must be added to the allowlist of theShared Reservations Owner Projects (compute.sharedReservationsOwnerProjects) organizational policy constraint. If you share a reservation, then it is affected byadditional quota requirements and has different consumption behavior than single-project reservations.

Requirements

All reservations have the following requirements:

Additional requirements for reservations attached to commitments

Additionally, reservations that are attached to commitments have the following requirements:

To learn more, seeAttach reservations to resource-based commitments.

Additional requirements for reservations created from an instance template

Additionally, if you create a reservation by specifying aninstance template, make sure of the following:

Additional quota requirements for shared reservations

Additionally, there are the following quota implications for the owner and consumer projects of a shared reservation:

For example, assume that project A (the owner project) creates a shared reservation for 10 resources and shares the reservation with project B and C (the consumer projects). Upon creating the shared reservation, project A consumes quota for 10 resources. Then, if project A and B consume 2 reserved resources each, project A and B each consume quota for 2 resources. In total, project A consumes quota for 12 resources, project B consumes quota for 2 resources, and project C consumes quota for 0 resources (as it didn't consume the reservation).

Additional requirements for reservations with compact placement policies

Additionally, to specify a compact placement policy for a reservation, make sure of the following requirements:

Restrictions

All reservations have the following restrictions:

Additional restrictions for reservations attached to commitments

Additionally, reservations that are attached to commitments have the following restrictions:

To learn more, seeAttach reservations to resource-based commitments.

Additional restrictions for shared reservations

Additionally, shared reservations have the following restrictions:

You can mitigate the limitations of some of these requirements by following thebest practices for shared reservations.

Additional restrictions for reservations with compact placement policies

Additionally, reservations that specify a compact placement policy have the following restrictions:

Billing

Reservations are billed at the same rate as their reserved resources, including the same on-demand prices and1-minute minimum chargesas unreserved, running VMs.Sustained use discounts (SUDs),CUDs, and custom pricing also apply as they would for running VMs.

For example, suppose that you have the following scenario:

Reservations that include committed use discounts.

In this scenario, Google Cloud bills you as follows:

Covered by Number of vCPUs
Committed use discount price 3
On-demand price (2 vCPU used reservations + 5 vCPU unused reservations) 7

A reservation incurs charges for its reserved resources for as long as the reservation exists, regardless of whether or not its resources are being used. While consuming a reservation, a VM does not incur duplicate resources charges since the reservation is already billed for the cost of the reserved resources. For details, see VMs pricing.

Additionally, you can monitor the consumption trends of your reservations to reduce unnecessary costs from wasted or unused resources. For more information, seeMonitor reservations consumption.

Additional billing information for shared reservations

There are no additional charges for using shared reservations—they are billed at the same price as single-project Compute Engine reservations. But, the project that is billed for shared reservations changes with consumption as different projects might qualify for different CUDs.

The billing project and price for shared reservations are managed as follows:

What's next