Este documento explica como consumir reservas no Compute Engine. Para saber como usar reservas noutros Google Cloud produtos, consulte a seguinte documentação:
- Lote
- Dataflow
- Dataproc
- Google Kubernetes Engine
- Cloud TPU
- Vertex AI:
Depois de criar uma reserva ou o Compute Engine criar automaticamente uma reserva para si para satisfazer uma reserva futura, o Compute Engine retém os recursos reservados para si. Em seguida, pode usar esses recursos reservados para criar instâncias do Compute Engine que correspondam às propriedades da reserva. Esta ação é conhecida como consumir uma reserva. Pode usar a capacidade reservada para criar instâncias até que a reserva seja totalmente consumida.
Limitações
Não pode consumir uma reserva para criar os seguintes recursos do Compute Engine:
VMs do Spot ou instâncias preemptivas
Nós de inquilino único
Antes de começar
-
Se ainda não o tiver feito, configure a autenticação.
A autenticação valida a sua identidade para aceder a Google Cloud serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se no Compute Engine selecionando uma das seguintes opções:
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
-
Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
- Set a default region and zone.
Go
Para usar os Go exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Set up authentication for a local development environment.
Java
Para usar os Java exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Set up authentication for a local development environment.
Node.js
Para usar os Node.js exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Set up authentication for a local development environment.
Python
Para usar os Python exemplos nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as Credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Set up authentication for a local development environment.
REST
Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.
Instale a CLI Google Cloud.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.
Funções necessárias
Para receber as autorizações de que precisa para consumir reservas, peça ao seu administrador para lhe conceder a função de IAM Administrador de instâncias do Compute (v1) (
roles/compute.instanceAdmin.v1
) no projeto. Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.Esta função predefinida contém as autorizações necessárias para consumir reservas. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
São necessárias as seguintes autorizações para consumir reservas:
-
Para criar reservas:
compute.reservations.create
no projeto -
Para criar instâncias:
compute.instances.create
no projeto- Para usar uma imagem personalizada para criar a VM:
compute.images.useReadOnly
na imagem - Para usar um instantâneo para criar a VM:
compute.snapshots.useReadOnly
no instantâneo - Para usar um modelo de instância para criar a VM:
compute.instanceTemplates.useReadOnly
no modelo de instância - Para atribuir uma rede antiga à VM:
compute.networks.use
no projeto - Para especificar um endereço IP estático para a VM:
compute.addresses.use
no projeto - Para atribuir um endereço IP externo à VM quando usar uma rede antiga:
compute.networks.useExternalIp
no projeto - Para especificar uma sub-rede para a VM:
compute.subnetworks.use
no projeto ou na sub-rede escolhida - Para atribuir um endereço IP externo à VM quando usar uma rede VPC:
compute.subnetworks.useExternalIp
no projeto ou na sub-rede escolhida - Para definir os metadados da instância de VM para a VM:
compute.instances.setMetadata
no projeto - Para definir etiquetas para a VM:
compute.instances.setTags
na VM - Para definir etiquetas para a VM:
compute.instances.setLabels
na VM - Para definir uma conta de serviço para a VM usar:
compute.instances.setServiceAccount
na VM - Para criar um novo disco para a VM:
compute.disks.create
no projeto - Para anexar um disco existente no modo de leitura ou leitura/escrita:
compute.disks.use
no disco - Para anexar um disco existente no modo de leitura:
compute.disks.useReadOnly
no disco
-
Para criar modelos de instâncias:
compute.instanceTemplates.create
no projeto
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
Consuma uma reserva
Os exemplos nas secções seguintes mostram como consumir uma reserva através da criação de uma única instância de computação. Também pode consumir reservas criando instâncias que correspondam às propriedades das reservas através de uma opção de implementação diferente ou atualizando as propriedades das instâncias existentes para corresponderem às reservas consumidas automaticamente.
Para consumir uma reserva, use um dos seguintes métodos:
Para criar uma instância que consuma uma reserva automática, independentemente de como essa reserva foi criada, consulte o artigo Consuma uma reserva consumida automaticamente.
Para criar uma instância que consuma uma reserva específica que criou, consulte Consuma uma reserva especificamente segmentada.
Para criar uma instância para consumir uma reserva específica que foi criada automaticamente pelo Compute Engine (neste caso, para satisfazer uma reserva futura no modo de calendário), consulte o artigo Consuma uma reserva criada automaticamente para um pedido no modo de calendário.
Use uma reserva consumida automaticamente
As reservas consumidas automaticamente permitem que quaisquer instâncias de computação que correspondam às propriedades da reserva a consumam automaticamente. Este comportamento de consumo aplica-se a instâncias em execução novas e existentes. Quando cria reservas ou o Compute Engine cria automaticamente uma reserva para satisfazer uma reserva futura, este tipo de reserva é a predefinição.
Se as propriedades de uma reserva automática de projeto único e de uma reserva automática partilhada corresponderem, as instâncias no seu projeto consomem primeiro a reserva de projeto único e, em seguida, consomem a reserva partilhada. Para mais informações, consulte a ordem de consumo das reservas.
Para criar e consumir uma reserva automática de exemplo, selecione uma das seguintes opções:
Consola
O exemplo seguinte mostra como criar uma reserva automática na zona
us-central1-a
para três instâncias N2 com 32 vCPUs e o Intel Cascade Lake como a plataforma de CPU mínima. Também mostra como criar uma única instância para consumir a reserva.Para criar a reserva automática de exemplo e usá-la, faça o seguinte:
Para criar uma reserva de exemplo, conclua os seguintes passos:
Na Google Cloud consola, aceda à página Reservas.
Os passos restantes aparecem automaticamente na consolaGoogle Cloud .
No separador Reserva a pedido (predefinição), clique em
Criar reserva. É apresentada a página Criar uma reserva.No campo Nome, introduza um nome para a reserva. Por exemplo, introduza
reservation-01
.Selecione a Região e a Zona onde reservar recursos. Por exemplo, selecione us-central1 e us-central1-a, respetivamente.
Na secção Tipo de partilha, faça uma das seguintes ações:
Para criar uma reserva de projeto único, selecione Local.
Para criar uma reserva partilhada, selecione Partilhada e, de seguida, especifique os projetos com os quais quer partilhar a reserva.
Na secção Usar com instância de VM, selecione Usar reserva automaticamente, se ainda não estiver selecionada.
No campo Número de instâncias de VM, introduza
3
.No separador Utilização geral, selecione N2.
Na secção Tipo de máquina, no separador Predefinição (predefinição), selecione n2-standard-32.
Expanda Plataforma da CPU e GPU e, de seguida, no campo Plataforma da CPU, selecione Intel Cascade Lake ou posterior.
Clique em Criar.
Para criar uma instância que consuma a reserva de exemplo, conclua os seguintes passos:
Na Google Cloud consola, aceda à página Criar uma instância.
É apresentada a página Criar uma instância, que mostra o painel Configuração da máquina.
No painel Configuração do computador, faça o seguinte:
No campo Nome, introduza um nome para a instância. Para este exemplo, introduza
instance-01
.Especifique a região e a zona onde reservar recursos. Para este exemplo, selecione us-central1 e us-central1-a, respetivamente.
No separador Utilização geral, selecione N2.
Na secção Tipo de máquina, no separador Predefinição (predefinição), selecione n2-standard-32.
Expanda a secção Opções avançadas e, de seguida, no campo Plataforma da CPU, selecione Intel Cascade Lake ou posterior.
Opcional: consumir automaticamente uma reserva correspondente é a predefinição. No entanto, se quiser especificar esta definição, faça o seguinte:
No menu de navegação, clique em Avançadas. É apresentado o painel Avançadas.
Na secção Reservas, selecione Usar seleção automática.
Clique em Criar.
gcloud
O exemplo seguinte mostra como criar uma reserva automática na zona
us-central1-a
para três instâncias N2 com 32 vCPUs e o Intel Cascade Lake como a plataforma de CPU mínima. Também mostra como criar uma única instância para consumir a reserva.Para criar a reserva automática de exemplo e usá-la, faça o seguinte:
Para criar a reserva de exemplo, use o comando
gcloud compute reservations create
:gcloud compute reservations create reservation-01 \ --machine-type=n2-standard-32 \ --min-cpu-platform="Intel Cascade Lake" \ --vm-count=3 \ --zone=us-central1-a
Para criar uma instância que consuma a reserva de exemplo, use o comando
gcloud compute instances create
com a flag--reservation-affinity
definida comoany
. Uma vez queany
é a configuração predefinida, também pode omitir esta flag.gcloud compute instances create instance-01 \ --machine-type=n2-standard-32 \ --min-cpu-platform="Intel Cascade Lake" \ --reservation-affinity=any \ --zone=us-central1-a
Go
Para criar o exemplo de reserva automática através de um modelo de instância e criar uma instância para consumir a reserva através do mesmo modelo, use o seguinte exemplo de código:
Java
O exemplo seguinte mostra como criar uma instância N1 com quatro vCPUs e o Intel Skylake como a plataforma de CPU mínima na zona
us-central1-a
. A instância consome automaticamente uma reserva correspondente.Para criar a instância de exemplo, use o seguinte exemplo de código:
Node.js
O exemplo seguinte mostra como criar uma instância N1 com quatro vCPUs e o Intel Skylake como a plataforma de CPU mínima na zona
us-central1-a
. A instância consome automaticamente uma reserva correspondente.Para criar a instância de exemplo, use o seguinte exemplo de código:
Python
O exemplo seguinte mostra como criar uma reserva automática na zona
us-central1-a
para três instâncias N1 com 1 vCPU e o Intel Ivy como a plataforma de CPU mínima. Também mostra como criar uma única instância para consumir a reserva.Para criar a reserva automática de exemplo e usá-la, faça o seguinte:
REST
O exemplo seguinte mostra como criar uma reserva automática na zona
us-central1-a
para três instâncias N2 com 32 vCPUs e o Intel Cascade Lake como a plataforma de CPU mínima. Também mostra como criar uma única instância para consumir a reserva.Para criar a reserva automática de exemplo e usá-la, faça o seguinte:
Para criar a reserva de exemplo, faça um pedido
POST
ao métodoreservations.insert
:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations { "name": "reservation-01", "specificReservation": { "count": "3", "instanceProperties": { "machineType": "n2-standard-32", "minCpuPlatform": "Intel Cascade Lake", } } }
Para criar uma instância que consuma a reserva de exemplo, faça um pedido
POST
ao métodoinstances.insert
. No corpo do pedido, inclua o campoconsumeReservationType
definido comoANY_RESERVATION
. No entanto, uma vez queANY_RESERVATION
é a configuração predefinida, também pode omitir o campo.POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instances { "name": "instance-01", "machineType": "zones/us-central1-a/machineTypes/n2-standard-32", "minCpuPlatform": "Intel Cascade Lake", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/family/debian-12" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "reservationAffinity": { "consumeReservationType": "ANY_RESERVATION" } }
Consuma uma reserva especificamente segmentada
As reservas especificamente segmentadas permitem que novas instâncias de computação correspondam às propriedades da reserva e segmentem a reserva para a consumir. As instâncias só são criadas com êxito se as respetivas propriedades corresponderem às propriedades de reserva. Caso contrário, ocorrem erros.
Com base no método de criação que quer usar, crie reservas específicas e instâncias que as segmentem da seguinte forma:
Método de criação Quando cria uma reserva Quando cria instâncias Google Cloud consola Na secção Usar com instância de VM, selecione Selecionar reserva específica. No painel Avançadas, na secção Reservas, selecione Escolher uma reserva. Em seguida, siga as instruções para selecionar uma reserva. CLI do Google Cloud Inclua a flag --require-specific-reservation
.Inclua as seguintes flags:
- A flag
--reservation-affinity
está definida comospecific
. - O sinalizador
--reservation
está definido para o URL da reserva.
Go Inclua o campo SpecificReservationRequired
definido comotrue
.No campo ReservationAffinity
, inclua os seguintes campos:- O campo
ConsumeReservationType
está definido comoSPECIFIC_RESERVATION
. - O campo
Key
está definido comocompute.googleapis.com/reservation-name
. - O campo
Values
está definido como o URL da reserva.
Java Inclua o campo setSpecificReservationRequired
definido comotrue
.No campo ReservationAffinity
, inclua os seguintes campos:- O campo
setConsumeReservationType
está definido comoSPECIFIC_RESERVATION
. - O campo
setKey
está definido comocompute.googleapis.com/reservation-name
. - O campo
addValues
está definido como o URL da reserva.
Node.js e API REST Inclua o campo specificReservationRequired
definido comotrue
.No campo reservationAffinity
, inclua os seguintes campos:- O campo
consumeReservationType
está definido comoSPECIFIC_RESERVATION
. - O campo
key
está definido comocompute.googleapis.com/reservation-name
. - O campo
values
está definido como o URL da reserva.
Python e Terraform Inclua o campo specific_reservation_required
definido comotrue
.No campo reservation_affinity
, inclua os seguintes campos:- O campo
consume_reservation_type
está definido comoSPECIFIC_RESERVATION
. - O campo
key
está definido comocompute.googleapis.com/reservation-name
. - O campo
values
está definido como o URL da reserva.
Para criar uma reserva específica de exemplo e uma instância para a consumir, selecione uma das seguintes opções:
Consola
O exemplo seguinte mostra como criar uma reserva específica na zona
us-central1-a
para três instâncias N2 com 32 vCPUs e o Intel Cascade Lake como a plataforma de CPU mínima. Também mostra como criar uma única instância para consumir a reserva.Para criar a reserva específica do exemplo e consumi-la, faça o seguinte:
Para criar uma reserva de exemplo, conclua os seguintes passos:
Na Google Cloud consola, aceda à página Reservas.
Os passos restantes aparecem automaticamente na consolaGoogle Cloud .
No separador Reserva a pedido (predefinição), clique em
Criar reserva. É apresentada a página Criar uma reserva.No campo Nome, introduza um nome para a reserva. Por exemplo, introduza
reservation-02
.Especifique a região e a zona onde reservar recursos. Para este exemplo, selecione us-central1 e us-central1-a, respetivamente.
Na secção Tipo de partilha, faça uma das seguintes ações:
Para criar uma reserva de projeto único, selecione Local.
Para criar uma reserva partilhada, selecione Partilhada e, de seguida, especifique os projetos com os quais quer partilhar a reserva.
Na secção Usar com instância de VM, selecione Selecionar reserva específica.
No campo Número de instâncias de VM, introduza
3
.No separador Utilização geral, selecione N2.
Na secção Tipo de máquina, no separador Predefinição (predefinição), selecione n2-standard-32.
Expanda Plataforma da CPU e GPU e, de seguida, no campo Plataforma da CPU, selecione Intel Cascade Lake ou posterior.
Clique em Criar.
Para criar uma instância que consuma a reserva de exemplo, conclua os seguintes passos:
Na Google Cloud consola, aceda à página Criar uma instância.
É apresentada a página Criar uma instância, que mostra o painel Configuração da máquina.
No painel Configuração do computador, faça o seguinte:
No campo Nome, introduza um nome para a instância. Para este exemplo, introduza
instance-02
.Especifique a região e a zona onde reservar recursos. Para este exemplo, selecione us-central1 e us-central1-a, respetivamente.
No separador Utilização geral, selecione N2.
Na secção Tipo de máquina, no separador Predefinição (predefinição), selecione n2-standard-32.
Expanda a secção Opções avançadas e, de seguida, no campo Plataforma da CPU, selecione Intel Cascade Lake ou posterior.
No menu de navegação, clique em Avançadas. O painel Avançadas é apresentado.
Na secção Reservas, selecione Escolher uma reserva e, de seguida, clique em Escolher reserva.
No painel Escolha uma reserva apresentado, faça o seguinte:
Selecione a reserva específica que criou nos passos anteriores. Se quiser consumir uma reserva partilhada existente num projeto diferente, na lista Projeto, selecione o projeto no qual a reserva existe.
Clique em Escolher.
Clique em Criar.
gcloud
O exemplo seguinte mostra como criar uma reserva específica na zona
us-central1-a
para três instâncias N2 com 32 vCPUs e o Intel Cascade Lake como a plataforma de CPU mínima. Também mostra como criar uma única instância para consumir a reserva.Para criar a reserva específica do exemplo e consumi-la, faça o seguinte:
Para criar a reserva de exemplo, use o comando
gcloud compute reservations create
com a flag--require-specific-reservation
:gcloud compute reservations create reservation-02 \ --machine-type=n2-standard-32 \ --min-cpu-platform="Intel Cascade Lake" \ --require-specific-reservation \ --vm-count=3 \ --zone=us-central1-a
Para criar uma instância que consuma a reserva de exemplo, use o comando
gcloud compute instances create
com as flags--reservation
e--reservation-affinity=specific
:gcloud compute instances create instance-02 \ --machine-type=n2-standard-32 \ --min-cpu-platform="Intel Cascade Lake" \ --reservation-affinity=specific \ --reservation=RESERVATION_URL \ --zone=us-central1-a
Substitua
RESERVATION_URL
pelo URL da reserva. Especifique um dos seguintes valores:Se criou a reserva no mesmo projeto:
reservation-02
Se a reserva estiver num projeto diferente:
projects/PROJECT_ID/reservations/reservation-02
Go
Os exemplos seguintes mostram como criar uma instância N2 com 32 vCPUs e Intel Cascade Lake como a plataforma de CPU mínima, na zona
us-central1-a
para consumir uma reserva específica correspondente:Para criar a instância de exemplo para consumir uma reserva específica de um único projeto, use o seguinte exemplo de código:
Para criar a instância de exemplo para consumir uma reserva específica partilhada, use o seguinte exemplo de código:
Java
Os exemplos seguintes mostram como criar uma instância N1 com quatro vCPUs e o Intel Skylake como a plataforma de CPU mínima, na zona
us-central1-a
, para consumir uma reserva específica correspondente:Para criar uma reserva de exemplo como uma reserva de projeto único e criar uma instância para a consumir, use o seguinte exemplo de código:
Para criar uma reserva de exemplo como uma reserva partilhada e criar uma instância para a consumir, use o seguinte exemplo de código:
Node.js
Os exemplos seguintes mostram como criar uma instância N1 com 4 vCPUs e Intel Skylake como a plataforma de CPU mínima, na zona
us-central1-a
para consumir uma reserva específica correspondente:Python
Os exemplos seguintes mostram como criar uma instância N2 com 32 vCPUs e Intel Cascade Lake como a plataforma de CPU mínima, na zona
us-central1-a
para consumir uma reserva específica correspondente:Para criar a reserva específica do exemplo e consumi-la, faça o seguinte:
Para criar e consumir a reserva de exemplo como uma reserva de projeto único, use o seguinte exemplo de código:
Para criar e consumir o exemplo de reserva como uma reserva partilhada, use o seguinte exemplo de código:
REST
O exemplo seguinte mostra como criar uma reserva específica na zona
us-central1-a
para três instâncias N2 com 32 vCPUs e o Intel Cascade Lake como a plataforma de CPU mínima. Também mostra como criar uma única instância para consumir a reserva.Para criar a reserva específica do exemplo e consumi-la, faça o seguinte:
Para criar a reserva de exemplo, faça um pedido
POST
ao métodoinstances.insert
. No corpo do pedido, inclua o conjunto de camposspecificReservationRequired
definido comotrue
:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations { "name": "reservation-02", "specificReservation": { "count": "3", "instanceProperties": { "machineType": "n2-standard-32", "minCpuPlatform": "Intel Cascade Lake", } }, "specificReservationRequired": true }
Para criar uma instância que consuma a reserva de exemplo, faça um pedido
POST
ao métodoinstances.insert
. No corpo do pedido, no camporeservationAffinity
, inclua o seguinte:O campo
consumeReservationType
está definido comoSPECIFIC_RESERVATION
.O campo
key
está definido comocompute.googleapis.com/reservation-name
.O campo
values
está definido como o URL da reserva.
O pedido é semelhante ao seguinte:
POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instances { "name": "instance-02", "machineType": "zones/us-central1-a/machineTypes/n2-standard-32", "minCpuPlatform": "Intel Cascade Lake", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/family/debian-12" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "reservationAffinity": { "consumeReservationType": "SPECIFIC_RESERVATION", "key": "compute.googleapis.com/reservation-name", "values": [ "RESERVATION_URL" ] } }
Substitua
RESERVATION_URL
pelo URL da reserva. Especifique um dos seguintes valores:Se criou a reserva no mesmo projeto:
reservation-02
Se a reserva estiver num projeto diferente:
projects/PROJECT_ID/reservations/reservation-02
Consuma uma reserva criada automaticamente para um pedido no modo de calendário
Este tipo de reserva permite que novas instâncias de computação consumam uma reserva que o Compute Engine cria automaticamente para cumprir uma reserva futura no modo de calendário.
Para consumir este tipo de reserva, tem de criar uma instância da seguinte forma:
A instância tem de segmentar especificamente a reserva.
A instância tem de ser parada ou eliminada na hora de fim da reserva.
A instância tem de usar o modelo de aprovisionamento associado a reservas. Quando cria uma instância, pode especificar este modelo da seguinte forma:
Na Google Cloud consola, se especificar um tipo de máquina suportado para reservas futuras no modo de calendário, o modelo associado à reserva é selecionado automaticamente.
Na CLI gcloud, inclua a flag
--provisioning-model
definida comoreservation-bound
.Na API REST, inclua o campo
provisioningModel
definido comoRESERVATION_BOUND
.
O exemplo seguinte cria um pedido de reserva futuro no modo de calendário para instâncias A3 Ultra. O exemplo também mostra os campos a especificar quando cria uma instância A3 Ultra autónoma para consumir a reserva criada automaticamente para o pedido.
Para usar a reserva criada automaticamente de exemplo, selecione uma das seguintes opções:
Consola
Crie um pedido de exemplo para cinco instâncias A3 Ultra e envie-o para revisão:
Na Google Cloud consola, aceda à página Reservas.
Clique no separador Reservas futuras.
Clique em
Criar reserva futura. É apresentada a página Crie uma reserva futura.Na secção Configuração de hardware, selecione Especificar tipo de máquina e, em seguida, especifique uma instância A3 Ultra.
Na secção Método de obtenção, conclua os seguintes passos:
Selecione Pesquisar capacidade durante um período máximo de 90 dias.
Nas listas Região e Zona, especifique a região e a zona onde reservar recursos. Para este exemplo, selecione us-central1 e us-central1-a, respetivamente.
No campo Capacidade total necessária, introduza
5
.Na secção Período de reserva, especifique o período de reserva para a reserva.
Especifique os restantes campos e, de seguida, clique em Enviar.
Na hora de início do pedido, para criar uma instância A3 Ultra para consumir a reserva criada automaticamente de exemplo, faça o seguinte:
Na Google Cloud consola, aceda à página Criar uma instância.
No campo Nome, introduza um nome para a instância. Para este exemplo, introduza
example-instance
.Especifique a Região e a Zona onde quer reservar recursos. Para este exemplo, selecione us-central1 e us-central1-a, respetivamente.
Clique no separador GPUs e, de seguida, na lista Tipo de GPU, selecione NVIDIA H200 141 GB. Esta ação especifica uma instância A3 Ultra e define o modelo de aprovisionamento como Associado à reserva.
No menu de navegação, clique em Avançadas.
Na secção Reservas, selecione Escolher uma reserva e, de seguida, clique em Escolher uma reserva.
No painel Escolha uma reserva, faça o seguinte:
Selecione uma reserva específica. Se quiser consumir uma reserva partilhada que exista num projeto diferente, na lista Projeto, selecione o projeto no qual a reserva existe.
Clique em Escolher.
Na secção Modelo de aprovisionamento, expanda a secção Definições avançadas do modelo de aprovisionamento de VMs.
Na lista No encerramento da VM, selecione Parar (predefinição) ou Eliminar.
Clique em Criar.
gcloud
Para criar um pedido de exemplo de cinco VMs A3 Ultra e enviá-lo para revisão, use o comando
gcloud beta compute future-reservations create
:gcloud beta compute future-reservations create example-fr \ --auto-delete-auto-created-reservations \ --deployment-type=DENSE \ --planning-status=SUBMITTED \ --require-specific-reservation \ --reservation-mode=CALENDAR \ --reservation-name=example-reservation \ --share-type=local \ --start-time=2025-10-05T00:00:00Z \ --end-time=2025-10-19T00:00:00Z \ --machine-type=a3-ultragpu-8g \ --total-count=5 \ --zone=us-central1-a
Suponha que Google Cloud aprova o pedido e o Compute Engine cria automaticamente uma reserva vazia. Na hora de início do pedido, a 5 de outubro de 2025, o Compute Engine aumenta o número de VMs de GPU reservadas na reserva. Em seguida, pode usar a reserva.
Na hora de início do pedido, para criar uma instância A3 Ultra para consumir a reserva criada automaticamente de exemplo, use o comando
gcloud compute instances create
com as seguintes flags:A bandeira de
--instance-termination-action
.A flag
--provisioning-model
está definida comoRESERVATION_BOUND
.A bandeira de
--reservation
.A flag
--reservation-affinity
está definida comospecific
.
O comando é semelhante ao seguinte. Para ver os requisitos completos para criar uma instância A3 Ultra, consulte o artigo Crie uma instância A3 Ultra ou A4.
gcloud compute instance create example-instance \ --machine-type=a3-ultragpu-8g \ --instance-termination-action=TERMINATION_ACTION \ --provisioning-model=RESERVATION_BOUND \ --reservation-affinity=specific \ --reservation=RESERVATION_URL \ --zone=us-central1-a \ ...
O comando inclui os seguintes valores:
TERMINATION_ACTION
: se o Compute Engine para (STOP
) ou elimina (DELETE
) a VM no final do período de reserva.RESERVATION_URL
: o URL da reserva, que está formatado da seguinte forma:Se a reserva criada automaticamente existir no seu projeto:
example-reservation
.Se a reserva criada automaticamente existir num projeto diferente:
projects/PROJECT_ID/reservations/example-reservation
.
REST
Para criar um pedido de exemplo de cinco instâncias A3 Ultra e enviá-lo para revisão, faça um pedido
POST
ao método betafutureReservations.insert
:POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations { "name": "example-request-calendar-mode", "autoDeleteAutoCreatedReservations": true, "deploymentType": "DENSE", "planningStatus": "SUBMITTED", "reservationMode": "CALENDAR", "reservationName": "example-reservation", "shareSettings": { "shareType": "LOCAL" }, "specificReservationRequired": true, "specificSkuProperties": { "machineType": "a3-ultragpu-8g", "totalCount": 5 }, "timeWindow": { "startTime": "2025-10-05T00:00:00Z", "endTime": "2025-10-19T00:00:00Z" } }
Suponha que Google Cloud aprova o pedido e o Compute Engine cria automaticamente uma reserva vazia. Na hora de início do pedido, a 5 de outubro de 2025, o Compute Engine aumenta o número de VMs de GPU reservadas na reserva. Em seguida, pode usar a reserva.
À hora de início do pedido, para criar uma instância A3 Ultra para consumir a reserva criada automaticamente de exemplo, faça um pedido
POST
para o métodoinstances.insert
. No corpo do pedido, inclua os seguintes campos:O campo
reservationAffinity.consumeReservationType
está definido comoSPECIFIC_RESERVATION
.O campo
reservationAffinity.key
está definido comocompute.googleapis.com/reservation-name
.O campo
reservationAffinity.values
está definido como o URL da reserva.O campo
scheduling.instanceTerminationAction
.O campo
scheduling.provisioningModel
está definido comoRESERVATION_BOUND
.
O pedido é semelhante ao seguinte. Para ver os requisitos completos para criar uma instância A3 Ultra, consulte o artigo Crie uma instância A3 Ultra ou A4.
POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/ { { "machineType": "projects/example-project/zones/us-central1-a/machineTypes/a3-ultragpu-8g", "name": "example-instance", "reservationAffinity": { "consumeReservationType": "SPECIFIC_RESERVATION", "key": "compute.googleapis.com/reservation-name", "values":[ "RESERVATION_URL" ], }, "scheduling": { "instanceTerminationAction": "TERMINATION_ACTION", "provisioningModel": "RESERVATION_BOUND" }, ... } }
O corpo do pedido inclui os seguintes valores:
RESERVATION_URL
: o URL da reserva, que está formatado da seguinte forma:Se a reserva criada automaticamente existir no seu projeto:
example-reservation
.Se a reserva criada automaticamente existir num projeto diferente:
projects/PROJECT_ID/reservations/example-reservation
.
TERMINATION_ACTION
: se o Compute Engine para (STOP
) ou elimina (DELETE
) a VM no final do período de reserva.
Teste se as propriedades da instância correspondem a uma reserva consumida automaticamente
Para testar se as propriedades de uma instância de computação correspondem a uma reserva consumida automaticamente, faça o seguinte:
Crie uma cópia da reserva como uma reserva especificamente segmentada para uma única instância.
Crie uma instância de teste para consumir a reserva.
Se conseguir criar a instância de teste, as respetivas propriedades correspondem às propriedades da reserva de teste. Caso contrário, ocorrem erros.
Depois de confirmar que as propriedades da instância de teste e da reserva de teste correspondem, elimine a reserva e a instância de teste.
Valide o consumo de reservas
Para validar o consumo de reservas, pode fazer uma ou mais das seguintes ações:
Para ver o número atual de instâncias de computação que estão a consumir as suas reservas e quantas mais instâncias as podem consumir, veja as reservas.
Para monitorizar os dados de consumo de reservas atualizados a cada 30 minutos e receber alertas quando as reservas são consumidas ou não consumidas, monitorize o consumo de reservas.
Para ver os dados de consumo de reservas atualizados a cada 24 horas, faça uma das seguintes ações:
- Para receber relatórios de consumo num contentor do Cloud Storage para analisar tendências de consumo e identificar reservas não consumidas, veja o relatório de utilização de reservas.
- Para ver o consumo de reservas passado e previsto para analisar as tendências de consumo e planear as necessidades de capacidade futuras, use o Planeador de capacidade.
O que se segue?
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-09-19 UTC.
-