Neste documento, explicamos como impedir que as instâncias do Compute Engine consumam reservas. Para saber mais sobre reservas, consulte Reservas para recursos zonais do Compute Engine.
Reservas consumidas automaticamente permitem que instâncias com propriedades correspondentes às reservas as consumam automaticamente. Para impedir que as instâncias consumam uma reserva, faça uma das seguintes ações:
Configure as instâncias para não consumir reservas, conforme descrito neste documento.
Crie ou atualize instâncias com propriedades que não correspondem à reserva.
É possível evitar o consumo de reservas quando você quer usar as instâncias para tarefas como testes, depuração ou implantações isoladas.
Limitações
Só é possível atualizar uma instância para que ela não consuma reservas se ela estiver configurada para consumir automaticamente as reservas correspondentes.
Antes de começar
-
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 Trusted Cloud by S3NS .
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 Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.
gcloud
-
Instale a Google Cloud CLI e faça login CLI gcloud com sua identidade federada. Depois de fazer login, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud init
- Set a default region and zone.
Go
Para usar os exemplos Go desta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Instale a Google Cloud CLI e faça login CLI gcloud com sua identidade federada.
Create local authentication credentials for your user account:
gcloud auth application-default login
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.
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 a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Instale a Google Cloud CLI e faça login CLI gcloud com sua identidade federada.
Create local authentication credentials for your user account:
gcloud auth application-default login
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.
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 a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Instale a Google Cloud CLI e faça login CLI gcloud com sua identidade federada.
Create local authentication credentials for your user account:
gcloud auth application-default login
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.
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 a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Instale a Google Cloud CLI e faça login CLI gcloud com sua identidade federada.
Create local authentication credentials for your user account:
gcloud auth application-default login
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.
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 a CLI gcloud.
Instale a Google Cloud CLI e faça login CLI gcloud com sua identidade federada.
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Trusted Cloud .
Funções exigidas
Para receber as permissões necessárias para impedir que uma instância de computação consuma 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 impedir que uma instância de computação consuma 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 impedir que uma instância de computação consuma 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 - 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
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Impedir o consumo de reserva
Para evitar que uma instância de computação consuma reservas, defina a propriedade de afinidade de reserva (
reservationAffinity
) para não consumir reservas. Essa propriedade controla se uma instância pode consumir reservas correspondentes, uma reserva específica ou nenhuma reserva.Para impedir que uma ou mais instâncias consumam reservas, use um dos seguintes métodos:
Impedir o consumo em uma instância atual
É possível atualizar uma instância em execução para que ela não consuma mais reservas automaticamente. É necessário reiniciar a instância para que as mudanças entrem em vigor, conforme descrito nesta seção.
Para impedir que uma instância consuma reservas, selecione uma das seguintes opções:
gcloud
Crie um arquivo YAML vazio.
Para exportar as propriedades de uma instância para o arquivo YAML que você acabou de criar, use o comando
gcloud compute instances export
:gcloud compute instances export INSTANCE_NAME \ --destination=YAML_FILE \ --zone=ZONE
Substitua:
INSTANCE_NAME
: o nome da instância.YAML_FILE
: o caminho para o arquivo YAML vazio que você criou na etapa anterior.ZONE
: a zona em que a instância existe.
No arquivo de configuração YAML, defina
consumeReservationType
comoNO_RESERVATION
:reservationAffinity: consumeReservationType: NO_RESERVATION
Para atualizar e reiniciar a instância, use o comando
gcloud compute instances update-from-file
com a flag--most-disruptive-allowed-action
definida comoRESTART
:gcloud compute instances update-from-file INSTANCE_NAME \ --most-disruptive-allowed-action=RESTART \ --source=YAML_FILE \ --zone=ZONE
Substitua:
INSTANCE_NAME
: o nome da instância.YAML_FILE
: o caminho para o arquivo YAML com os dados de configuração que você modificou na etapa anterior.ZONE
: a zona em que a instância existe.
REST
Para conferir as propriedades de uma instância atual, faça uma solicitação
GET
para o métodoinstances.get
:GET https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
Substitua:
PROJECT_ID
: o ID do projeto em que você criou a instância.ZONE
: a zona em que a instância existe.INSTANCE_NAME
: o nome da instância.
Armazene a saída da solicitação
GET
em um arquivo ou editor de texto. Modifique a saída copiada para mudar o campoconsumeReservationType
paraNO_RESERVATION
:{ ... "reservationAffinity": { "consumeReservationType": "NO_RESERVATION" }, ... }
Para atualizar e reiniciar a instância, faça uma solicitação
PUT
ao métodoinstances.update
. Na solicitação, faça o seguinte:No URL da solicitação, inclua o parâmetro de consulta
mostDisruptiveAllowedAction
definido comoRESTART
.Para o corpo da solicitação, use a saída da solicitação
GET
que você editou em uma etapa anterior.
A solicitação é semelhante ao exemplo a seguir:
PUT https://compute.s3nsapis.fr/compute/v1/projects/example-project/zones/us-central-1/instances/instance-01?mostDisruptiveAllowedAction=RESTART { ... "reservationAffinity": { "consumeReservationType": "NO_RESERVATION" }, ... }
Para mais informações sobre como atualizar uma instância, consulte Atualizar propriedades da instância.
Evitar o consumo ao criar uma instância
Para criar uma instância de computação que não possa consumir reservas, selecione uma das seguintes opções:
Console
No console Trusted Cloud , acesse a página Criar uma instância.
No campo Nome, insira um nome para a instância.
Nas listas Região e Zona, selecione a região e a zona em que a instância será criada.
Especifique o tipo de máquina a ser usado para a instância.
No menu de navegação, clique em Avançado.
Na seção Reservas, selecione Não usar uma reserva.
Clique em Criar.
gcloud
Para criar uma instância que não possa consumir reservas, use o comando
gcloud compute instances create
com a flag--reservation-affinity
definida comonone
:gcloud compute instances create INSTANCE_NAME \ --machine-type=MACHINE_TYPE \ --reservation-affinity=none \ --zone=ZONE
Substitua:
INSTANCE_NAME
: o nome da instância.MACHINE_TYPE
: o tipo de máquina a ser usado para a instância.ZONE
: a zona em que a instância será criada.
Go
Para criar uma instância que não possa consumir reservas, use o seguinte exemplo de código:
Java
Para criar uma instância que não possa consumir reservas, use o seguinte exemplo de código:
Node.js
Para criar uma instância que não possa consumir reservas, use o seguinte exemplo de código:
Python
Para criar uma instância que não possa consumir reservas, use o seguinte exemplo de código:
REST
Para criar uma instância que não possa consumir reservas, 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.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "INSTANCE_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:
PROJECT_ID
: o ID do projeto em que você quer criar a instância.ZONE
: a zona em que a instância será criada.INSTANCE_NAME
: o nome da instância.MACHINE_TYPE
: o tipo de máquina a ser usado para a 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.
Para mais informações sobre como criar uma instância, consulte Criar e iniciar uma instância do Compute Engine.
Impedir o consumo ao criar um modelo de instância
Depois de criar um modelo de instância que configura as instâncias para não consumir reservas, é possível usar o modelo para fazer o seguinte:
Impeça que as instâncias de computação em um grupo gerenciado de instâncias (MIG) consumam reservas fazendo o seguinte:
Para criar um modelo de instância que configure instâncias para não consumir reservas, selecione uma das seguintes opções:
Console
No console Trusted 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 instâncias 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, selecione Não usar uma reserva.
Clique em Criar.
gcloud
Para criar um modelo de instância que configure instâncias para não consumir reservas, use o comando
gcloud compute instances-templates create
com a flag--reservation-affinity
definida comonone
.Para criar um modelo de instância regional que configura as instâncias para não consumir reservas, execute o seguinte comando. Se quiser criar um modelo de instância global, use o mesmo comando sem a flag
--instance-template-region
.gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --instance-template-region=REGION \ --machine-type=MACHINE_TYPE \ --reservation-affinity=none
Substitua:
INSTANCE_TEMPLATE_NAME
: o nome do modelo de instância.REGION
: a região em que o modelo de instância será criado.MACHINE_TYPE
: o tipo de máquina a ser usado para as instâncias criadas usando o modelo de instância.
Go
Para criar um modelo de instância que configure instâncias para não consumir reservas, use o seguinte exemplo de código:
Java
Para criar um modelo de instância que configure instâncias para não consumir reservas, use o seguinte exemplo de código:
Node.js
Para criar um modelo de instância que configure instâncias para não consumir reservas, use o seguinte exemplo de código:
Python
Para criar um modelo de instância que configure instâncias para não consumir reservas, use o seguinte exemplo de código:
REST
Para criar um modelo de instância que configure instâncias para não consumir reservas, faça uma solicitação
POST
para um dos seguintes métodos:Para criar um modelo de instância global: método
instanceTemplates.insert
.Para criar um modelo de instância regional: método
regionInstanceTemplates.insert
.
No corpo da solicitação, inclua o campo
consumeReservationType
e defina-o comoNO_RESERVATION
.Por exemplo, para criar um modelo de instância regional e especificar que ele não consuma reservas, faça uma solicitação da seguinte maneira:
POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/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:
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 instâncias 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.
Para mais informações sobre como criar modelos de instância, consulte Como criar modelos de instância.
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 2025-08-19 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-19 UTC."],[[["This document outlines methods to prevent Compute Engine instances from consuming reservations, which is useful for tasks like testing or isolated deployments."],["You can configure existing or new instances to not consume reservations by setting the `reservationAffinity` property to `NO_RESERVATION`."],["Methods to prevent reservation consumption include updating an existing instance, creating a new instance, creating instances in bulk, and creating instance templates."],["To update an existing instance, you can export the properties to a YAML file, modify it to set `consumeReservationType` to `NO_RESERVATION`, then update the instance using the updated file and restart."],["When creating new instances, instance templates, or bulk instances, setting the `--reservation-affinity` flag to `none` or the `consumeReservationType` to `NO_RESERVATION` in the request body will prevent them from consuming reservations."]]],[]] -