Neste documento, explicamos como usar o Compute Engine para fazer o seguinte:
Consumir instâncias de máquina virtual (VM) reservadas.
Verificar o consumo das reservas.
Conferir os relatórios de uso da reserva.
Para mais informações sobre como consumir reservas em outros produtos do Google Cloud que usam VMs, consulte a documentação de reservas para os seguintes produtos:
- Batch
- Dataflow
- Dataproc
- Google Kubernetes Engine
- Vertex AI:
Antes de começar
- Revise os requisitos e restrições para reservas.
-
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud.
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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.
-
Para criar reservas:
compute.reservations.create
no projeto -
Para criar VMs:
compute.instances.create
no projeto- Para usar uma imagem personalizada para criar a VM:
compute.images.useReadOnly
na imagem - Usar um snapshot para criar a VM:
compute.snapshots.useReadOnly
no snapshot - Usar um modelo de instância para criar a VM:
compute.instanceTemplates.useReadOnly
no modelo de instância - Atribuir uma rede legada à VM:
compute.networks.use
no projeto - Especificar um endereço IP estático para a VM:
compute.addresses.use
no projeto - Atribuir um endereço IP externo à VM ao usar uma rede legada:
compute.networks.useExternalIp
no projeto - Especificar uma sub-rede para a VM:
compute.subnetworks.use
no projeto ou na sub-rede escolhida - Atribuir um endereço IP externo à VM ao usar uma rede VPC:
compute.subnetworks.useExternalIp
no projeto ou na sub-rede escolhida - Definir os metadados da instância de VM para a VM:
compute.instances.setMetadata
no projeto - Definir tags para a VM:
compute.instances.setTags
na VM - Definir rótulos para a VM:
compute.instances.setLabels
na VM - Definir uma conta de serviço para a VM usar:
compute.instances.setServiceAccount
na VM - Criar um disco para a VM:
compute.disks.create
no projeto - Anexar um disco atual no modo somente leitura ou de leitura e gravação:
compute.disks.use
no disco - Anexar um disco atual no modo somente leitura:
compute.disks.useReadOnly
no disco
-
Para criar modelos de instância:
compute.instanceTemplates.create
no projeto Consumir qualquer reserva correspondente: a VM pode consumir automaticamente qualquer reserva com propriedades correspondentes (padrão).
Esse modelo será útil se você criar e excluir muitas VMs e quiser usar reservas sempre que possível. Nesse cenário, uma VM pode ser criada independentemente das propriedades corresponderem a uma reserva ou não. Se elas corresponderem, a VM começará a consumir a reserva dependendo da ordem de consumo da reserva.
Consumir uma reserva específica: a VM pode consumir apenas uma reserva específica. A reserva não pode ser consumida automaticamente.
Essa opção é útil quando, por exemplo, você quer manter uma certa quantidade de capacidade como backup para eventos especiais. Nesse cenário, uma VM só pode ser criada se as propriedades dela e da reserva específica forem correspondentes.
Não é possível consumir nenhuma reserva: a VM não pode consumir nenhuma reserva.
Essa opção é útil quando, por exemplo, você cria uma VM temporária que você não quer que consuma recursos reservados.
Para criar uma reserva com recursos que podem ser usados por instâncias de VM com uma propriedade de afinidade de reserva configurada para consumir qualquer reserva (padrão), siga estas etapas:
Selecione o tipo de reserva que você quer criar:
Para criar uma reserva independente, faça o seguinte:
No console do Google Cloud, acesse a página Reservas.
Na guia Reserva sob demanda (padrão), clique em
Criar reserva.A página Criar uma reserva é aberta.
Para criar uma reserva anexada a um compromisso, faça o seguinte:
No console do Google Cloud, acesse a página Desconto por compromisso de uso.
Acesse "Descontos por uso contínuo"
A página Lista de compromissos é aberta.
Clique em
Comprar compromisso.A página Comprar um desconto por compromisso de uso é aberta.
Especifique as propriedades do compromisso. Em seguida, na seção Reservas, clique em Adicionar um item.
A seção Adicionar uma nova reserva vai aparecer.
Para mais informações sobre como adquirir um compromisso com uma reserva anexada, consulte Comprar compromissos com reservas anexadas.
No campo Nome, insira um nome para a reserva. Neste exemplo, digite
reservation-01
.Escolha a Região e a Zona em que você quer reservar recursos. Para este exemplo, selecione
us-central1
como a região eus-central1-a
como a zona.Escolha o Tipo de compartilhamento preferido:
- Para criar uma reserva para um único projeto, selecione Local.
- Para criar uma reserva compartilhada entre vários projetos, selecione Compartilhado. Para compartilhar essa reserva com outros projetos, clique em Adicionar projetos e selecione os projetos pretendidos na organização atual.
Na seção Usar com instância de VM, selecione Usar reserva automaticamente, para que qualquer instância de VM correspondente possa usar essa reserva automaticamente.
No campo Número de instâncias de VM, insira o número de VMs que você quer reservar. Neste exemplo, digite
2
.Especifique os recursos a serem reservados para cada instância:
- Se você quiser reservar VMs que correspondam a um modelo de instância existente, selecione Usar modelo de instância e selecione um modelo de instância na lista.
- Caso contrário, selecione Especificar tipo de máquina e especifique o seguinte:
- Nos campos Família de máquinas, Série e Tipo de máquina, selecione um grupo, uma série e um tipo de máquina.
- Opcional: especifique uma plataforma de CPU e/ou GPUs mínimas:
- Para expandir a seção Plataforma de CPU e GPU, clique na seta de expansão .
- Opcional: para especificar uma plataforma mínima de CPU, selecione uma opção na lista Plataforma de CPU.
- Opcional: para adicionar GPUs, clique em Adicionar GPU. Em seguida, nos campos Tipo de GPU e Número de GPUs, selecione o tipo e o número de GPUs para cada VM.
- Opcional: adicione SSDs locais:
- No campo Número de discos, selecione o número de SSDs locais para cada VM.
- No campo Tipo de interface, selecione a interface dos SSDs locais.
Neste exemplo, selecione Especificar tipo de máquina. Em seguida, selecione o tipo de máquina
n2-standard-32
para a família de máquinasGeneral-purpose
e a sérieN2
e escolha a plataforma de CPU mínimaIntel Cascade Lake
.Conclua a criação da reserva:
Se você estiver criando uma reserva independente, clique em Criar.
Se você estiver criando uma reserva vinculada a um compromisso:
- Para concluir a especificação das propriedades desta reserva, clique em Concluído.
- Para concluir a criação do compromisso e das reservas anexadas, clique em Comprar.
No mesmo projeto ou em um projeto com que a reserva seja compartilhada, crie uma instância de VM que vise qualquer reserva aberta.
Verifique se as propriedades da VM correspondem às propriedades da VM no
reservation-01
, incluindo a zona, o tipo de máquina (família de máquinas, vCPUs e memória), a plataforma mínima de CPU, a quantidade e o tipo de GPU e o tamanho e a interface do SSD local.Para mais informações sobre como criar uma VM, consulte Criar e iniciar uma VM.
No console do Google Cloud, acesse a página Criar uma instância.
A página Criar uma instância será aberta.
Especifique um nome para sua VM.
Nas seções a seguir, selecione uma configuração que corresponda exatamente a todas as propriedades da reserva, incluindo todas as propriedades opcionais. Neste exemplo, você precisa corresponder as seguintes propriedades da instância de VM com
reservation-01
:- Região:
us-central1
- Zona:
us-central1-a
- Tipo de máquina:
n2-standard-32
- Plataforma mínima de CPU:
Intel Cascade Lake
- GPUs: nenhuma
- SSDs locais: nenhum
- Região:
Expanda a seção Opções avançadas e a seção Gerenciamento. Na lista Reservas, clique em Usar automaticamente a reserva criada.
Para criar a VM, clique em Criar.
Crie uma reserva aberta chamada
reservation-01
.gcloud compute reservations create reservation-01 \ --vm-count=2 \ --machine-type=n2-standard-32 \ --min-cpu-platform="Intel Cascade Lake" \ --zone=us-central1-a
Crie uma instância de VM que vise qualquer reserva aberta e que corresponda às propriedades da instância em
reservation-01
, incluindo a zona, tipo de máquina (família de máquinas, vCPUs e memória), plataforma mínima de CPU, quantidade e tipo de GPU e quantidade e interface de SSD localgcloud compute instances create instance-1 \ --machine-type=n2-standard-32 \ --min-cpu-platform="Intel Cascade Lake" \ --zone=us-central1-a \ --reservation-affinity=any
Crie uma reserva aberta chamada
reservation-01
.POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations { "name": "reservation-01", "specificReservation": { "count": "2", "instanceProperties": { "machineType": "n2-standard-32", "minCpuPlatform": "Intel Cascade Lake", } } }
Crie uma instância de VM que vise qualquer reserva aberta e que corresponda às propriedades da instância em
reservation-01
, incluindo a zona, tipo de máquina (família de máquinas, vCPUs e memória), plataforma mínima de CPU, quantidade e tipo de GPU e quantidade e interface de SSD localPOST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances { "name": "instance-1", "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" } }
- No console do Google Cloud, marque a caixa de seleção Selecionar reserva específica.
- Na CLI gcloud, inclua a sinalização
--require-specific-reservation
. - Na API Compute Engine, defina o campo
specificReservationRequired
comotrue
. - No Terraform, defina o campo
specific_reservation_required
comotrue
. Para criar uma reserva com recursos que só podem ser usados por instâncias de VM que visam especificamente a reserva por nome, siga estas etapas:
Selecione uma das seguintes opções:
Para criar uma reserva independente, faça o seguinte:
No console do Google Cloud, acesse a página Reservas.
Na guia Reservas sob demanda (padrão), clique em
Criar reserva.A página Criar uma reserva é aberta.
Para criar uma reserva anexada a um compromisso, faça o seguinte:
No console do Google Cloud, acesse a página Desconto por compromisso de uso.
Clique em
Comprar compromisso.A página Comprar um desconto por compromisso de uso é aberta.
Especifique as propriedades do compromisso. Em seguida, na seção Reservas, clique em Adicionar um item.
A seção Adicionar uma nova reserva vai aparecer.
Para mais informações sobre como adquirir um compromisso com uma reserva anexada, consulte Comprar compromissos com reservas anexadas.
No campo Nome, insira um nome para a reserva. Neste exemplo, digite
reservation-02
.Escolha a Região e a Zona em que você quer reservar recursos. Para este exemplo, selecione
us-central1
como a região eus-central1-a
como a zona.Para especificar que a reserva será uma reserva de projeto único, selecione Local como o Tipo de compartilhamento.
Na seção Usar com instância de VM, escolha Selecionar reserva específica para que apenas instâncias de VM correspondentes que visem especificamente essa reserva por nome possam usá-la.
No campo Número de instâncias de VM, insira o número de VMs que você quer reservar. Neste exemplo, digite
10
.Especifique os recursos a serem reservados para cada instância:
- Se você quiser reservar VMs que correspondam a um modelo de instância existente, selecione Usar modelo de instância e selecione um modelo de instância na lista.
- Caso contrário, selecione Especificar tipo de máquina e especifique o seguinte:
- Nos campos Família de máquinas, Série e Tipo de máquina, selecione um grupo, uma série e um tipo de máquina.
- Opcional: especifique uma plataforma de CPU e/ou GPUs mínimas:
- Para expandir a seção Plataforma de CPU e GPU, clique na seta de expansão .
- Opcional: para especificar uma plataforma mínima de CPU, selecione uma opção na lista Plataforma de CPU.
- Opcional: para adicionar GPUs, clique em Adicionar GPU. Em seguida, nos campos Tipo de GPU e Número de GPUs, selecione o tipo e o número de GPUs para cada VM.
- Opcional: adicione SSDs locais:
- No campo Número de discos, selecione o número de SSDs locais para cada VM.
- No campo Tipo de interface, selecione a interface dos SSDs locais.
Neste exemplo, selecione Especificar tipo de máquina. Em seguida, selecione o tipo de máquina
n2-standard-32
para a família de máquinasGeneral-purpose
e a sérieN2
e escolha a plataforma de CPU mínimaIntel Cascade Lake
.Conclua a criação da reserva:
Se você estiver criando uma reserva independente, clique em Criar.
Se você estiver criando uma reserva vinculada a um compromisso:
- Para concluir a especificação das propriedades desta reserva, clique em Concluído.
- Para concluir a criação do compromisso e das reservas anexadas, clique em Comprar.
No mesmo projeto, crie uma instância de VM voltada para essa reserva específica por nome.
Verificar se as propriedades da VM correspondem às propriedades dessa reserva específica, incluindo zona, tipo de máquina (família de máquinas, vCPUs e memória), plataforma mínima de CPU, quantidade e tipo de GPU e SSD local e o tamanho.
Para mais informações sobre como criar uma VM, consulte Criar e iniciar uma VM.
No console do Google Cloud, acesse a página Criar uma instância.
No campo Nome, insira um nome para a VM.
Nas seções a seguir, selecione uma configuração que corresponda exatamente a todas as propriedades da reserva, incluindo todas as propriedades opcionais. Neste exemplo, você precisa corresponder as seguintes propriedades da instância de VM com
reservation-02
:- Região:
us-central1
- Zona:
us-central1-a
- Tipo de máquina:
n2-standard-32
- Plataforma mínima de CPU:
Intel Cascade Lake
- GPUs: nenhuma
- SSDs locais: nenhum
- Região:
Expanda a seção Opções avançadas e faça isto:
Expanda a seção Gerenciamento.
Na seção Reservas, na lista Política do aplicativo, selecione Selecionar reserva específica.
Selecione a reserva com as propriedades de VM correspondentes que você quer que a VM consuma. Neste exemplo, selecione
reservation-02
.
Para criar a VM, clique em Criar.
Crie uma reserva com o nome
reservation-02
com a sinalização--require-specific-reservation
. Esses recursos reservados só podem ser usados por VMs que visem especificamente essa reserva pelo nome.gcloud compute reservations create reservation-02 \ --machine-type=n2-standard-32 \ --min-cpu-platform="Intel Cascade Lake" \ --vm-count=10 \ --zone=us-central1-a \ --require-specific-reservation
Crie uma instância de VM que vise
reservation-02
pelo nome usando as sinalizações--reservation-affinity
e--reservation
.Verifique se as propriedades da VM correspondem às propriedades de VM da reserva, incluindo zona, tipo de máquina (família de máquinas, vCPUs e memória), plataforma mínima de CPU, quantidade e tipo de GPU e interface do SSD local e tamanho.
gcloud compute instances create instance-2 \ --machine-type=n2-standard-32 \ --min-cpu-platform="Intel Cascade Lake" \ --zone=us-central1-a \ --reservation-affinity=specific \ --reservation=reservation-02
Crie uma reserva chamada
reservation-02
com o campospecificReservationRequired
definido comotrue
.POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations { "name":"reservation-02", "specificReservation":{ "count":"10", "instanceProperties":{ "machineType":"n2-standard-32", "minCpuPlatform": "Intel Cascade Lake", } }, "specificReservationRequired": true }
Crie uma instância de VM que vise
reservation-02
pelo nome usando o camporeservationAffinity
.Verifique se as propriedades da VM correspondem às propriedades de VM da reserva, incluindo zona, tipo de máquina (família de máquinas, vCPUs e memória), plataforma mínima de CPU, quantidade e tipo de GPU e interface do SSD local e tamanho.
POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances { "name": "instance-2", "machineType": "zones/us-central1-a/machineTypes/n2-standard-32", "minCpuPlatform": "Intel Cascade Lake", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/debian-clouid/global/images/family/debian-12" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "reservationAffinity": { "consumeReservationType": "SPECIFIC_RESERVATION", "key": "compute.googleapis.com/reservation-name", "values": [ "reservation-02" ] } }
Para criar uma reserva compartilhada com recursos que só podem ser usados por VMs que visam especificamente essa reserva por nome, siga estas etapas:
Selecione uma das seguintes opções:
Para criar uma reserva independente, faça o seguinte:
No console do Google Cloud, acesse a página Reservas.
Na guia Reservas sob demanda (padrão), clique em
Criar reserva.A página Criar uma reserva é aberta.
Para criar uma reserva anexada a um compromisso, faça o seguinte:
No console do Google Cloud, acesse a página Desconto por compromisso de uso.
Clique em
Comprar compromisso.A página Comprar um desconto por compromisso de uso é aberta.
Especifique as propriedades do compromisso. Em seguida, na seção Reservas, clique em Adicionar um item.
A seção Adicionar uma nova reserva vai aparecer.
Para mais informações sobre como adquirir um compromisso com uma reserva anexada, consulte Comprar compromissos com reservas anexadas.
No campo Nome, insira um nome para a reserva. Neste exemplo, digite
reservation-02
.Escolha a Região e a Zona em que você quer reservar recursos. Para este exemplo, selecione
us-central1
como a região eus-central1-a
como a zona.Para especificar que sua reserva é uma reserva compartilhada, selecione Compartilhado como o Tipo de compartilhamento.
Clique em
Adicionar projetos e selecione os projetos da organização atual com que você quer compartilhar a reserva.Na seção Usar com instância de VM, escolha Selecionar reserva específica para que apenas instâncias de VM correspondentes que visem especificamente essa reserva por nome possam usá-la.
No campo Número de instâncias de VM, insira o número de VMs que você quer reservar. Neste exemplo, digite
10
.Especifique os recursos a serem reservados para cada instância:
- Se você quiser reservar VMs que correspondam a um modelo de instância existente, selecione Usar modelo de instância e selecione um modelo de instância na lista.
- Caso contrário, selecione Especificar tipo de máquina e especifique o seguinte:
- Nos campos Família de máquinas, Série e Tipo de máquina, selecione um grupo, uma série e um tipo de máquina.
- Opcional: especifique uma plataforma de CPU e/ou GPUs mínimas:
- Para expandir a seção Plataforma de CPU e GPU, clique na seta de expansão .
- Opcional: para especificar uma plataforma mínima de CPU, selecione uma opção na lista Plataforma de CPU.
- Opcional: para adicionar GPUs, clique em Adicionar GPU. Em seguida, nos campos Tipo de GPU e Número de GPUs, selecione o tipo e o número de GPUs para cada VM.
- Opcional: adicione SSDs locais:
- No campo Número de discos, selecione o número de SSDs locais para cada VM.
- No campo Tipo de interface, selecione a interface dos SSDs locais.
Neste exemplo, selecione Especificar tipo de máquina. Em seguida, selecione o tipo de máquina
n2-standard-32
para a família de máquinasGeneral-purpose
e a sérieN2
e escolha a plataforma de CPU mínimaIntel Cascade Lake
. 1. Conclua a criação da reserva:Se você estiver criando uma reserva independente, clique em Criar.
Se você estiver criando uma reserva vinculada a um compromisso:
- Para concluir a especificação das propriedades desta reserva, clique em Concluído.
- Para concluir a criação do compromisso e das reservas anexadas, clique em Comprar.
No mesmo projeto ou em um projeto com que a reserva seja compartilhada, crie uma VM que vise essa reserva específica pelo nome.
Verificar se as propriedades da VM correspondem às propriedades dessa reserva específica, incluindo zona, tipo de máquina (família de máquinas, vCPUs e memória), plataforma mínima de CPU, quantidade e tipo de GPU e SSD local e o tamanho.
No console do Google Cloud, acesse a página Criar uma instância.
A página Criar uma instância será aberta.
Especifique um Nome para sua VM.
Nas seções a seguir, selecione uma configuração que corresponda exatamente a todas as propriedades da reserva, incluindo todas as propriedades opcionais. Neste exemplo, você precisa corresponder as seguintes propriedades da instância de VM com
reservation-02
:- Região:
us-central1
- Zona:
us-central1-a
- Tipo de máquina:
n2-standard-32
- Plataforma mínima de CPU:
Intel Cascade Lake
- GPUs: nenhuma
- SSDs locais: nenhum
- Região:
Expanda a seção Opções avançadas e a seção Gerenciamento. Na lista Reservas, escolha Selecionar reserva específica e faça o seguinte:
- Selecione um projeto de reserva que tenha reservas
compartilhadas com seu projeto atual. Neste exemplo, selecione
o projeto usado para criar
reservation-02
. - Selecione o Nome da reserva da reserva compartilhada
que você quer que a instância de VM consuma. Neste exemplo,
selecione
reservation-02
.
- Selecione um projeto de reserva que tenha reservas
compartilhadas com seu projeto atual. Neste exemplo, selecione
o projeto usado para criar
Para criar a VM, clique em Criar.
Crie uma reserva com o nome
reservation-02
com a sinalização--require-specific-reservation
. Esses recursos reservados só podem ser usados por VMs que visem especificamente essa reserva pelo nome.gcloud compute reservations create reservation-02 \ --machine-type=n2-standard-32 \ --min-cpu-platform="Intel Cascade Lake" \ --vm-count=10 \ --zone=us-central1-a \ --project=my-owner-project \ --share-setting=projects \ --share-with=project-1,project-2 \ --require-specific-reservation
Crie uma instância de VM que vise
reservation-02
pelo nome usando as sinalizações--reservation-affinity
e--reservation
. Para consumir essa reserva de qualquer projeto de consumidor com que essa reserva seja compartilhada, você também precisa especificar o projeto que criou a reserva,my-owner-project
.Verifique se as propriedades da VM correspondem às propriedades de VM da reserva, incluindo zona, tipo de máquina (família de máquinas, vCPUs e memória), plataforma mínima de CPU, quantidade e tipo de GPU e interface do SSD local e tamanho.
gcloud compute instances create instance-2 \ --machine-type=n2-standard-32 \ --min-cpu-platform="Intel Cascade Lake" \ --zone=us-central1-a \ --reservation-affinity=specific \ --reservation=projects/my-owner-project/reservations/reservation-02
Crie uma reserva chamada
reservation-02
com o campospecificReservationRequired
definido comotrue
.POST https://compute.googleapis.com/compute/v1/projects/my-owner-project/zones/us-central1-a/reservations { "name":"reservation-02", "specificReservation":{ "count":"10", "instanceProperties":{ "machineType":"n2-standard-32", "minCpuPlatform": "Intel Cascade Lake" } }, "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "project-1": { "projectId": "project-1" }, "project-2": { "projectId": "project-2" } } }, "specificReservationRequired": true }
Crie uma instância de VM que vise
reservation-02
pelo nome usando o camporeservationAffinity
. Para consumir essa reserva de qualquer projeto de consumidor com que ela é compartilhada, você também precisa especificar o projeto do proprietário da reserva,my-owner-project
.Verifique se as propriedades da VM correspondem às propriedades de VM da reserva, incluindo zona, tipo de máquina (família de máquinas, vCPUs e memória), plataforma mínima de CPU, quantidade e tipo de GPU e interface do SSD local e tamanho.
POST https://compute.googleapis.com/compute/v1/projects/project-2/zones/us-central1-a/instances { "name": "instance-2", "machineType": "zones/us-central1-a/machineTypes/n2-standard-32", "minCpuPlatform": "Intel Cascade Lake", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/debian-clouid/global/images/family/debian-12" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "reservationAffinity": { "consumeReservationType": "SPECIFIC_RESERVATION", "key": "compute.googleapis.com/reservation-name", "values": [ "projects/my-owner-project/reservations/reservation-02" ] } }
Defina a propriedade de afinidade de reserva das VMs para não consumir explicitamente nenhuma reserva, conforme descrito nesta seção.
Verifique se as VMs não correspondem às propriedades da VM da reserva.
No console do Google Cloud, acesse a página Criar uma instância.
No campo Nome, insira um nome para a VM.
Nas listas Região e Zona, selecione a região e a zona em que a VM será criada.
Na seção Configuração da máquina, especifique o tipo de máquina a ser usado na VM.
Expanda a seção Opções avançadas e depois faça o seguinte:
Expanda a seção Gerenciamento.
Na seção Reservas, na lista Política do aplicativo, selecione Não usar.
Clique em Criar.
VM_NAME
: o nome da VM.MACHINE_TYPE
: o tipo de máquina a ser usado para a VM.ZONE
: a zona em que a instância de VM será criada.PROJECT_ID
: o ID do projeto em que a VM será criada.ZONE
: a zona em que a instância de VM será criada.VM_NAME
: o nome da VM.MACHINE_TYPE
: o tipo de máquina a ser usado para a VM.IMAGE_PROJECT
: o projeto de imagem que contém a imagem do SO, por exemplo,debian-cloud
. Para mais informações sobre os projetos de imagem com suporte, consulte Imagens públicas.IMAGE
: especifique uma destas opções:Uma versão específica da imagem do SO. Por exemplo:
debian-12-bookworm-v20240617
Uma família de imagens, que precisa ser formatada como
family/IMAGE_FAMILY
. Especifica a imagem do SO mais recente e não descontinuada. Por exemplo, se você especificarfamily/debian-12
, a versão mais recente na família de imagens do Debian 12 será usada. Para mais informações sobre o uso de famílias de imagens, consulte Práticas recomendadas para famílias de imagens.
No console do Google Cloud, acesse a página Criar um modelo de instância.
No campo Nome, insira um nome para o modelo de instância.
Na seção Local, especifique se você quer criar um modelo de instância regional (padrão) ou global.
Na seção Configuração da máquina, especifique o tipo de máquina a ser usado para as VMs criadas com o modelo.
Expanda a seção Opções avançadas e depois faça o seguinte:
Expanda a seção Gerenciamento.
Na seção Reservas, na lista Política do aplicativo, selecione Não usar.
Clique em Criar.
INSTANCE_TEMPLATE_NAME
: o nome do modelo de instância.MACHINE_TYPE
: o tipo de máquina a ser usado para as VMs criadas usando o modelo de instância.Para criar um modelo de instância global: método
instanceTemplates.insert
.Para criar um modelo de instância regional: método
regionInstanceTemplates.insert
.PROJECT_ID
: o ID do projeto em que o modelo de instância será criado.INSTANCE_TEMPLATE_NAME
: o nome do modelo de instância.MACHINE_TYPE
: o tipo de máquina a ser usado para as VMs criadas usando o modelo de instância.IMAGE_PROJECT
: o projeto de imagem que contém a imagem do SO, por exemplo,debian-cloud
. Para mais informações sobre os projetos de imagem com suporte, consulte Imagens públicas.IMAGE
: especifique uma destas opções:Uma versão específica da imagem do SO. Por exemplo:
debian-12-bookworm-v20240617
Uma família de imagens, que precisa ser formatada como
family/IMAGE_FAMILY
. Especifica a imagem do SO mais recente e não descontinuada. Por exemplo, se você especificarfamily/debian-12
, a versão mais recente na família de imagens do Debian 12 será usada. Para mais informações sobre o uso de famílias de imagens, consulte Práticas recomendadas para famílias de imagens.
Excluir ou atualizar a reserva específica usada para o teste.
Excluir a VM ou atualizá-la para ter uma afinidade de reserva diferente (
reservationAffinity
).-
Se o número de VMs que consomem uma reserva aumentar em 1 após a criação ou atualização de uma VM, provavelmente sua ação fez com que a VM começasse a consumir a reserva. Essa é a maneira mais rápida de verificar se uma reserva está sendo consumida. No entanto, talvez não funcione bem para verificar qual VM exata está consumindo a reserva.
Crie a VM para segmentar uma reserva específica
Se você conseguir criar com sucesso uma VM que visa uma reserva específica, ela consumirá a reserva. Esse é o método mais confiável para verificar se uma VM específica está consumindo uma reserva e se as propriedades dela correspondem às propriedades da reserva.
Monitorar o consumo das reservas
Ao usar o Cloud Monitoring, é possível acessar e visualizar as informações associadas ao consumo das reservas criadas no projeto. O monitoramento atualiza os dados de consumo das reservas pelo menos uma vez a cada 30 minutos. Esse método é útil para verificar a tendência de consumo de uma ou mais reservas em um projeto, bem como receber notificações sobre reservas subutilizadas ou não utilizadas.
Conferir o histórico de uso das suas reservas
Ao usar o planejador de capacidade (Pré-lançamento), você pode acessar e conferir o histórico de uso das reservas, desde a criação até a exclusão. O Planejador de capacidade atualiza os dados de consumo de reservas a cada 24 horas. Esse método é útil para verificar o consumo anterior das suas reservas em um projeto, pasta ou organização, além de ajudar a planejar as necessidades de capacidade futuras.
- Os recursos reservados que estão em uso. Essas entradas aparecem como recursos normais de vCPU, memória, GPU e SSD local;
- Os recursos reservados que não estão em uso. Essas entradas têm nomes normais de SKU e URIs de recurso de reserva.
- O total de recursos reservados. Essas entradas têm nomes de SKU de reserva e URIs de recurso de reserva. Não há custos associados a essas entradas. Use essas entradas para calcular quanto de suas reservas você está usando.
- A linha 1 mostra a RAM reservada atualmente em uso. O
ResourceId
da linha mostra que essa RAM é usada por uma VM chamadamy-instance
. - A linha 2 mostra a RAM reservada que não está em uso. O
ResourceId
da linha mostra que essa RAM reservada mantida pormy-reservation
; ela ainda não é usada por nenhuma instância. - A linha 3 mostra o total de RAM reservada da reserva.
- Saiba como monitorar o consumo das reservas.
- Saiba como modificar reservas.
- Saiba como excluir reservas.
Go
Para usar os exemplos Go desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
Java
Para usar os exemplos Java desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
Node.js
Para usar os exemplos Node.js desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
Python
Para usar os exemplos Python desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Funções exigidas
Para receber as permissões necessárias para consumir reservas, peça ao administrador para conceder a você o papel do IAM de Administrador da instância da computação (v1) (
roles/compute.instanceAdmin.v1
) no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.Esse papel predefinido contém as permissões necessárias para consumir reservas. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para consumir reservas:
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Consumir VMs reservadas
Ao criar uma instância de máquina virtual (VM), ela começa a consumir uma reserva somente se as propriedades da VM e da reserva forem correspondentes. Além disso, é preciso definir a propriedade de afinidade de reserva da VM como uma das seguintes opções:
Consumir VMs de qualquer reserva correspondente
Nesse modelo de consumo, as VMs atuais e novas consomem automaticamente uma reserva se as propriedades corresponderem às propriedades da VM especificadas nela.
Ao usar esse modelo de consumo, as VMs do projeto atual consomem todas as reservas de um único projeto antes de consumir qualquer reserva compartilhada. Para mais informações sobre como as reservas são consumidas automaticamente, consulte a ordem de consumo.
Ao criar uma reserva, esse é o modelo de consumo padrão, desde que não use a flag ou a opção que indica a necessidade de reservas específicas.
Console
gcloud
Go
Java
Node.js
Python
REST
Consumir VMs de uma reserva específica
Neste modelo, apenas novas VMs que visam uma reserva específica pelo nome consomem essa reserva, e a reserva não é consumida automaticamente.
Ao criar a reserva, especifique que as VMs precisam segmentar a reserva específica usando um dos métodos a seguir:
Em seguida, crie VMs que criem especificamente essa reserva. Só é possível criar uma VM que visa uma reserva específica se as propriedades da VM e da reserva forem correspondentes. Caso contrário, a criação da VM irá falhar.
Se você estiver usando um modelo de instância para criar VMs em um grupo de instâncias gerenciado e regional, crie reservas idênticas com o mesmo nome em cada zona aplicável. Em seguida, vise as reservas mencionando-as por nome no modelo de instância do grupo.
Por exemplo, crie uma reserva específica chamada
reservation-02
e, em seguida, crie uma VM correspondente que vise essa reserva e que corresponda às propriedades da VM da reserva.Dependendo do tipo de instância que você quer consumir, siga as etapas em Consumir uma reserva específica de projeto único ou Consumir uma reserva compartilhada específica.
Consumir uma reserva específica de projeto único
Para consumir uma reserva específica de projeto único, selecione uma das seguintes opções:
Console
gcloud
Go
Java
Node.js
Python
REST
Consumir uma reserva compartilhada específica
Para consumir uma reserva compartilhada específica, selecione uma das seguintes opções:
Console
gcloud
Go
Java
Python
REST
Criar VMs sem consumir reservas
Se você criar uma reserva consumida automaticamente, qualquer VM em execução com propriedades correspondentes no projeto poderá consumir a reserva. Para impedir que uma ou mais VMs consumam a reserva, faça o seguinte:
Para criar VMs que não consomem reservas explicitamente, selecione um dos seguintes métodos:
Criar uma VM para não consumir reservas
Para criar uma VM que não consuma reservas explicitamente, selecione uma das seguintes opções:
Console
gcloud
Para criar uma VM que não consuma reservas explicitamente, use o comando
gcloud compute instances create
com a flag--reservation-affinity=none
.gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --reservation-affinity=none \ --zone=ZONE
Substitua:
Go
Java
Node.js
Python
REST
Para criar uma VM que não consuma reservas explicitamente, faça uma solicitação
POST
para o métodoinstances.insert
. No corpo da solicitação, inclua o campoconsumeReservationType
definido comoNO_RESERVATION
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "reservationAffinity": { "consumeReservationType": "NO_RESERVATION" } }
Substitua:
Para mais informações sobre como criar uma VM, consulte Criar e iniciar uma instância do Compute Engine.
Criar um modelo de instância para não consumir reservas
Para criar um modelo de instância que crie VMs que não consomem reservas explicitamente, selecione uma das seguintes opções:
Console
gcloud
Para criar um modelo de instância que crie VMs que não consomem reservas explicitamente, use o comando
gcloud compute instances-templates create
com a flag--reservation-affinity=none
.Por exemplo, para criar um modelo de instância global que crie VMs que não consomem reservas explicitamente, execute o seguinte comando:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --machine-type=MACHINE_TYPE \ --reservation-affinity=none
Substitua:
Go
Java
Node.js
Python
REST
Para criar um modelo de instância que crie VMs que não consomem reservas explicitamente, faça uma solicitação
POST
para um dos seguintes métodos:No corpo da solicitação, inclua o campo
consumeReservationType
e defina-o comoNO_RESERVATION
.Por exemplo, para criar um modelo de instância global que crie VMs que não consumam reservas explicitamente, faça uma solicitação da seguinte maneira:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/InstanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "machineType": "MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "reservationAffinity": { "consumeReservationType": "NO_RESERVATION" } } }
Substitua:
Para mais informações sobre como criar modelos de instância, consulte Como criar modelos de instância.
Testar se as propriedades da VM correspondem a uma reserva
Para testar se as VMs podem consumir automaticamente uma reserva, crie uma cópia da reserva como uma reserva específica e verifique se uma VM que você planeja criar pode consumir essa reserva. Se você conseguir criar a VM, terá verificado que ela pode consumir corretamente a reserva correspondente. Caso contrário, a criação da VM falhará porque as propriedades não correspondem ou não há recursos reservados disponíveis. Após o teste, é possível realizar uma ou mais das seguintes ações:
Verificar o consumo das reservas
Para garantir que as VMs estejam consumindo as reservas, você pode verificar o consumo usando estes métodos:
Se você verificar que uma VM não está consumindo uma reserva depois de verificar que a afinidade de reserva da VM pode consumir a reserva, que a reserva não está totalmente consumida e que a VM e as propriedades da reserva estão correspondentes, consulte Disponibilidade de recursos.
Conferir relatórios de uso da reserva
É possível exportar relatórios detalhados de uso do Compute Engine para um bucket do Cloud Storage usando o recurso de exportação de uso. Para instruções, consulte Como conferir relatórios de uso.
O relatório de uso mostra o seguinte:
Medição Formato MeasurementId
Formato Resource URI
Recursos reservados que estão em uso com.google.cloud/services/compute-engine/SKU_NAME
https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/RESOURCE_TYPE/RESOURCE_NAME
.
Por exemplo,https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/my-instance
Recursos reservados que não estão em uso com.google.cloud/services/compute-engine/SKU_NAME
https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME
.
Por exemplo,https://compute.googleapis.com/compute/v1/projects/my-project/zones/europe-west1-b/reservations/my-reservation
Total de recursos reservados com.google.cloud/services/compute-engine/ReservationSKU_NAME
https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME
.
Por exemplo,https://compute.googleapis.com/compute/v1/projects/my-project/zones/europe-west1-b/reservations/my-reservation
Por exemplo, no seguinte snippet de um relatório de uso para uma reserva chamada
my-reservation
:Report Date,MeasurementId,Quantity,Unit,Resource URI,ResourceId,Location 2019-06-06,com.google.cloud/services/compute-engine/VmimageN2StandardRam,166970074857472,byte-seconds,https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central2-a/instances/my-instance,1775485842510981624,us-central2-a 2019-06-06,com.google.cloud/services/compute-engine/VmimageN2StandardRam,166970074857472,byte-seconds,https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central2-a/reservations/my-reservation,7.58809E+17,us-central2-a 2019-06-06,com.google.cloud/services/compute-engine/ReservationN2StandardRam,333940149714944,byte-seconds,https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central2-a/reservations/my-reservation,7.58809E+17,us-central2-a ...
Resolver problemas
Saiba como resolver problemas com consumo de reserva.
A seguir
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 2024-12-22 UTC.
-