Neste documento, explicamos como diminuir o tempo de encerramento de uma instância do Compute Engine configurando-a para ignorar o encerramento do SO convidado ao parar ou excluir.
Se você configurar uma instância para ignorar o encerramento do SO convidado ao parar ou excluir,
o Compute Engine vai encerrar imediatamente o SO convidado quando o
estado da instância mudar para STOPPING
. Essa ação ajuda a liberar cota ou recursos mais rapidamente, acelerando a interrupção ou exclusão de uma instância. Para saber mais sobre as fases que uma instância passa durante a interrupção ou exclusão, incluindo o intervalo padrão para o encerramento limpo do SO convidado, consulte Operação de interrupção.
Antes de começar
-
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação verifica 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:
gcloud
-
Instale a CLI do Google Cloud. Após a instalação, inicialize a CLI do Google Cloud executando o seguinte comando:
gcloud init
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
- Set a default region and zone.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Instale a CLI do Google Cloud. Após a instalação, inicialize a CLI do Google Cloud executando o seguinte comando:
gcloud init
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud .
Funções exigidas
Para ter as permissões necessárias para configurar uma instância e ignorar o encerramento do SO convidado, 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 configurar uma instância e ignorar o desligamento do SO convidado. 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 configurar uma instância para ignorar o desligamento do SO convidado:
-
Para criar uma instância:
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 um modelo de instância:
compute.instanceTemplates.create
no projeto -
Para atualizar uma instância:
compute.instances.update
na instância
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Configurar instâncias para ignorar o encerramento do SO convidado
Para configurar uma instância de computação para ignorar o desligamento do SO convidado ao parar ou excluir a instância, use um dos seguintes métodos:
Configurar o desligamento do SO convidado em uma instância atual
Configurar o desligamento do SO convidado ao criar uma instância
Configurar o desligamento do SO convidado ao criar instâncias em massa
Configurar o desligamento do SO convidado ao criar um modelo de instância
Configurar o desligamento do SO convidado em uma instância atual
Só é possível configurar uma instância de computação para ignorar o encerramento do SO convidado se a instância estiver interrompida (
TERMINATED
).Para configurar uma instância para ignorar o desligamento do SO convidado, selecione uma das seguintes opções:
gcloud
Se ainda não tiver feito isso, pare a instância.
Para configurar uma instância para ignorar o desligamento do SO convidado, use o comando
gcloud beta compute instances set-scheduling
com a flag--skip-guest-os-shutdown
:gcloud beta compute instances set-scheduling INSTANCE_NAME \ --skip-guest-os-shutdown \ --zone=ZONE
Substitua:
INSTANCE_NAME
: o nome da instância.ZONE
: a zona em que a instância existe.
REST
Se ainda não tiver feito isso, pare a instância.
Para configurar uma instância para ignorar o desligamento do SO convidado, faça uma solicitação
POST
para o métodoinstances.setScheduling
da versão Beta. No corpo da solicitação, inclua o camposkipGuestOsShutdown
e defina-o comotrue
:POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setScheduling { "skipGuestOsShutdown": true }
Para mais informações sobre como atualizar uma instância, consulte Atualizar propriedades da instância.
Configurar o encerramento do SO convidado ao criar uma instância
Para criar uma instância de computação configurada para ignorar o desligamento do SO convidado, selecione uma das seguintes opções:
gcloud
Para criar uma instância configurada para ignorar o desligamento do SO convidado, use o comando
gcloud compute instances create
com a flag--skip-guest-os-shutdown
:gcloud compute instances create INSTANCE_NAME \ --machine-type=MACHINE_TYPE \ --skip-guest-os-shutdown \ --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 você quer criar a instância.
REST
Para criar uma instância configurada para ignorar o desligamento do SO convidado, faça uma solicitação
POST
para o métodoinstances.insert
. No corpo da solicitação, inclua o camposkipGuestOsShutdown
definido comotrue
:POST https://compute.googleapis.com/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" } ], "scheduling": { "skipGuestOsShutdown": true } }
Substitua:
PROJECT_ID
: o ID do projeto em que você quer criar a instância.ZONE
: a zona em que você quer criar a instância.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, 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
. Esse valor especifica a imagem do SO mais recente e não descontinuada. Por exemplo, se você especificarfamily/debian-12
, o Compute Engine usará a versão mais recente na família de imagens do Debian 12. Para mais informações sobre como usar 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.
Configurar o desligamento do SO convidado ao criar instâncias em massa
Para criar instâncias de computação em massa configuradas para ignorar o desligamento do SO convidado, selecione uma das seguintes opções:
gcloud
Para criar instâncias em massa configuradas para ignorar o desligamento do SO convidado, use o comando
gcloud compute instances bulk create
com a flag--skip-guest-os-shutdown
.Por exemplo, para criar instâncias em massa que usam um padrão de nome em uma única zona, execute o seguinte comando:
gcloud compute instances bulk create \ --count=COUNT \ --machine-type=MACHINE_TYPE \ --name-pattern="NAME_PATTERN" \ --skip-guest-os-shutdown \ --zone=ZONE
Substitua:
COUNT
: o número de instâncias a serem criadas.MACHINE_TYPE
: o tipo de máquina a ser usado para as instâncias.NAME_PATTERN
: o padrão de nome para as instâncias. Para substituir uma sequência de números no nome de uma instância, use uma sequência de caracteres hash (#
). Por exemplo, se você usarinstance-#
como um padrão de nome, o Compute Engine vai gerar instâncias com nomes que começam cominstance-1
,instance-2
e continuam esse padrão incremental até o número de instâncias que você especificar emCOUNT
.ZONE
: a zona em que você quer criar instâncias.
REST
Para criar instâncias em massa configuradas para ignorar o desligamento do SO convidado, faça uma solicitação
POST
para o métodoinstances.bulkInsert
. No corpo da solicitação, inclua o camposkipGuestOsShutdown
definido comotrue
.Por exemplo, para criar instâncias em massa que usam um padrão de nome em uma única zona, faça uma solicitação
POST
da seguinte maneira:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert { "count": COUNT, "namePattern": "NAME_PATTERN", "instanceProperties": { "machineType": "MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "scheduling": { "skipGuestOsShutdown": true } } }
Substitua:
PROJECT_ID
: o ID do projeto em que você quer criar instâncias em massa.ZONE
: a zona em que você quer criar instâncias.COUNT
: o número de instâncias a serem criadas.NAME_PATTERN
: o padrão de nome para as instâncias. Para substituir uma sequência de números no nome de uma instância, use uma sequência de caracteres hash (#
). Por exemplo, se você usarinstance-#
como um padrão de nome, o Compute Engine vai gerar instâncias com nomes que começam cominstance-1
,instance-2
e continuam esse padrão incremental até o número de instâncias que você especificar emCOUNT
.MACHINE_TYPE
: o tipo de máquina a ser usado para as instâncias.IMAGE_PROJECT
: o projeto de imagem que contém a imagem, 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
. Esse valor especifica a imagem do SO mais recente e não descontinuada. Por exemplo, se você especificarfamily/debian-12
, o Compute Engine usará a versão mais recente na família de imagens do Debian 12. Para mais informações sobre como usar famílias de imagens, consulte Práticas recomendadas para famílias de imagens.
Para mais informações sobre como criar instâncias em massa, consulte Criar instâncias em massa.
Configurar o desligamento do SO convidado ao criar um modelo de instância
Depois de criar um modelo de instância configurado para ignorar o encerramento do SO convidado ao parar ou excluir instâncias de computação, use o modelo para fazer o seguinte:
É possível configurar as instâncias em um grupo gerenciado de instâncias (MIG) para ignorar o encerramento do SO convidado ao interromper ou excluir quando você faz o seguinte:
Criar uma instância configurada para ignorar o encerramento do SO convidado
Para criar um modelo de instância configurado para ignorar o encerramento do SO convidado, selecione uma das seguintes opções:
gcloud
Para criar um modelo de instância configurado para ignorar o desligamento do SO convidado, use o comando
gcloud compute instance-templates create
com a flag--skip-guest-os-shutdown
.Por exemplo, para criar um modelo de instância regional que especifique a ação de ignorar o desligamento do SO convidado, 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 \ --skip-guest-os-shutdown
Substitua:
INSTANCE_TEMPLATE_NAME
: o nome do modelo de instância.REGION
: a região em que você quer criar o modelo de instância.MACHINE_TYPE
: o tipo de máquina a ser especificado no modelo de instância.
REST
Para criar um modelo de instância configurado para ignorar o desligamento do SO convidado, 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
skipGuestOsShutdown
definido comotrue
.Por exemplo, para criar um modelo de instância regional que especifique a ação de ignorar o desligamento do SO convidado, faça uma solicitação
POST
da seguinte maneira:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "network": "global/networks/default" } ], "scheduling": { "skipGuestOsShutdown": true } } }
Substitua:
PROJECT_ID
: o ID do projeto em que você quer criar o modelo de instância.REGION
: a região em que você quer criar o modelo de instância.INSTANCE_TEMPLATE_NAME
: o nome do modelo de instância.IMAGE_PROJECT
: o projeto de imagem que contém a imagem, 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.
MACHINE_TYPE
: o tipo de máquina a ser especificado no modelo de instância.
Para mais informações sobre como criar um modelo de instância, consulte Criar modelos de instância.
Ver a configuração de desligamento do SO convidado
É possível verificar se o Compute Engine ignora o encerramento do SO convidado ao parar ou excluir uma instância de computação.
Para conferir o tempo de desligamento do SO convidado em uma instância, selecione uma das seguintes opções:
gcloud
Para conferir os detalhes de uma instância e se ela ignora o desligamento do SO convidado, use o comando
gcloud compute instances describe
:gcloud compute instances describe INSTANCE_NAME \ --zone=ZONE
Substitua:
INSTANCE_NAME
: o nome da instância.ZONE
: a zona em que a instância existe.
Se você configurou a instância para ignorar o desligamento do SO convidado, a saída vai conter o campo
skipGuestOsShutdown
definido comotrue
, como no exemplo a seguir:... scheduling: automaticRestart: true skipGuestOsShutdown: true onHostMaintenance: MIGRATE preemptible: false provisioningModel: STANDARD ...
Caso contrário, se o campo
skipGuestOsShutdown
estiver ausente ou definido comofalse
, o SO convidado usará o tempo de desligamento padrão.REST
Para conferir os detalhes de uma instância e saber se ela ignora o desligamento do SO convidado, faça uma solicitação
GET
para o métodoinstances.get
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
Substitua:
PROJECT_ID
: o ID do projeto em que a instância existe.ZONE
: a zona em que a instância existe.INSTANCE_NAME
: o nome da instância.
Se você configurou a instância para ignorar o desligamento do SO convidado, a saída vai conter o campo
skipGuestOsShutdown
definido comotrue
, como no exemplo a seguir:{ ... "scheduling": { "automaticRestart": true, "skipGuestOsShutdown": true, "onHostMaintenance": "MIGRATE", "preemptible": false, "provisioningModel": "STANDARD" }, ... }
Caso contrário, se o campo
skipGuestOsShutdown
estiver ausente ou definido comofalse
, o SO convidado usará o tempo de desligamento padrão.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-09-18 UTC.
-