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:
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 da seguinte maneira.
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.
-
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
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.
A página Reservas é exibida.
Clique em
Criar reserva.A página Criar uma reserva será exibida.
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 é exibida.
Clique em
Comprar compromisso.A página Comprar um desconto por compromisso de uso é exibida.
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 é exibida.
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", } }, "specificReservationRequired": false }
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", "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.
A página Reservas é exibida.
Clique em
Criar reserva.A página Criar uma reserva será exibida.
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 é exibida.
Clique em
Comprar compromisso.A página Comprar um desconto por compromisso de uso é exibida.
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.
A página Criar uma instância é exibida.
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, em seguida, o Nome da reserva com as propriedades correspondentes que você quer que as instâncias consumam. 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", "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.
A página Reservas é exibida.
Clique em
Criar reserva.A página Criar uma reserva será exibida.
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 é exibida.
Clique em
Comprar compromisso.A página Comprar um desconto por compromisso de uso é exibida.
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 é exibida.
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", "reservationAffinity": { "consumeReservationType": "SPECIFIC_RESERVATION", "key": "compute.googleapis.com/reservation-name", "values": [ "projects/my-owner-project/reservations/reservation-02" ] }, ... }
Crie uma VM que não consuma explicitamente de uma reserva.
No Console do Google Cloud, acesse a página Criar uma instância.
Crie uma VM. Para mais informações, consulte Criar e iniciar uma VM.
Expanda a seção Opções avançadas e depois faça o seguinte:
- Expanda a seção Gerenciamento.
- Para garantir que essa VM não consuma de reservas atuais, na lista Reservas, selecione Não usar.
Clique em Criar.
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
).Visualize os detalhes da reserva antes e depois de criar ou atualizar uma VM.
Se o número de VMs usadas por uma reserva aumentar em um após a alteração, você provavelmente fez com que essa VM começasse a consumir a reserva. Esse é o método mais simples para verificar um consumo de reserva, mas talvez não funcione bem para verificar qual VM exata está consumindo uma 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 de VM correspondem a uma reserva.
Monitore 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 atual. Se você vir uma alteração nas medidas de uma reserva, isso significa que uma VM consumiu a reserva. Esse método é útil para verificar a tendência de consumo de uma ou mais reservas, bem como receber notificações sobre reservas subutilizadas ou não utilizadas.
- 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.
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 o encerramento automático, solicite ao administrador o papel do IAM de Administrador da instância do Compute (v1) (
roles/compute.instanceAdmin.v1
) no projeto. Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.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
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 um único projeto, use o console do Google Cloud, a CLI gcloud ou o REST.
Console
gcloud
REST
Consumir uma reserva compartilhada específica
Para consumir uma reserva compartilhada específica, use o console do Google Cloud, a CLI gcloud ou o REST.
Console
gcloud
REST
Criar VMs sem consumir reservas
Para evitar explicitamente o consumo de recursos de qualquer reserva, defina a propriedade de afinidade da reserva para não usar reservas ao criar a VM. Ou, para evitar implicitamente o uso de qualquer uma das suas reservas, crie uma VM que não corresponda às propriedades de nenhuma das suas reservas.
Console
gcloud
Crie uma VM que não consuma explicitamente uma reserva.
gcloud compute instances create instance-3 --reservation-affinity=none
Ou crie uma VM que não corresponda às propriedades da VM em nenhuma de suas reservas. Para revisar suas propriedades de reserva, consulte Conferir reservas.
REST
Crie uma VM que não consuma explicitamente uma reserva.
POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances { "machineType": "zones/us-central1-a/machineTypes/n2-standard-32", "name": "instance-3", "reservationAffinity": { "consumeReservationType": "NO_RESERVATION" }, ... }
Ou crie uma VM que não corresponda às propriedades da VM em nenhuma de suas reservas. Para revisar suas propriedades de reserva, consulte Conferir reservas.
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 com êxito, 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 verificar se uma VM está consumindo corretamente uma reserva, use um dos seguintes métodos:
Se você notar que uma VM não está consumindo uma reserva depois de verificar se a afinidade de reserva da VM pode consumir essa reserva, ela não será totalmente consumida e a VM e as propriedades da reserva serão correspondentes. Consulte a documentação de solução de problemas para a 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-11-21 UTC.
-