Este documento explica como diminuir o tempo de encerramento de uma instância do Compute Engine configurando a instância para ignorar o encerramento do SO convidado na paragem ou na eliminação.
Se configurar uma instância para ignorar o encerramento do SO convidado na paragem ou eliminação,
o Compute Engine encerra imediatamente o SO convidado quando o
estado da instância muda para STOPPING
. Esta ação ajuda a libertar quota ou recursos mais rapidamente, acelerando a paragem ou a eliminação de uma instância. Para saber mais
acerca das fases pelas quais uma instância passa durante a paragem ou a eliminação,
incluindo o intervalo predefinido para o encerramento do SO convidado limpo, consulte
Operação de paragem.
Antes de começar
-
Se ainda não o tiver feito, configure a autenticação.
A autenticação valida a sua identidade para aceder a Google Cloud serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se no Compute Engine selecionando uma das seguintes opções:
Select the tab for how you plan to use the samples on this page:
gcloud
-
Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
- Set a default region and zone.
REST
Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.
Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.
Funções necessárias
Para receber as autorizações de que precisa para configurar uma instância de modo a ignorar o encerramento do SO convidado, peça ao seu administrador para lhe conceder a função IAM Administrador de instâncias do Compute (v1) (
roles/compute.instanceAdmin.v1
) no seu projeto. Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.Esta função predefinida contém as autorizações necessárias para configurar uma instância para ignorar o encerramento do SO convidado. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
São necessárias as seguintes autorizações para configurar uma instância de modo a ignorar o encerramento 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 - Para usar um instantâneo para criar a VM:
compute.snapshots.useReadOnly
no instantâneo - Para usar um modelo de instância para criar a VM:
compute.instanceTemplates.useReadOnly
no modelo de instância - Para atribuir uma rede antiga à VM:
compute.networks.use
no projeto - Para especificar um endereço IP estático para a VM:
compute.addresses.use
no projeto - Para atribuir um endereço IP externo à VM quando usar uma rede antiga:
compute.networks.useExternalIp
no projeto - Para especificar uma sub-rede para a VM:
compute.subnetworks.use
no projeto ou na sub-rede escolhida - Para atribuir um endereço IP externo à VM quando usar uma rede VPC:
compute.subnetworks.useExternalIp
no projeto ou na sub-rede escolhida - Para definir os metadados da instância de VM para a VM:
compute.instances.setMetadata
no projeto - Para definir etiquetas para a VM:
compute.instances.setTags
na VM - Para definir etiquetas para a VM:
compute.instances.setLabels
na VM - Para definir uma conta de serviço para a VM usar:
compute.instances.setServiceAccount
na VM - Para criar um novo disco para a VM:
compute.disks.create
no projeto - Para anexar um disco existente no modo de leitura ou leitura/escrita:
compute.disks.use
no disco - Para anexar um disco existente no modo de leitura:
compute.disks.useReadOnly
no disco
-
Para criar um modelo de instância:
compute.instanceTemplates.create
no projeto -
Para atualizar uma instância:
compute.instances.update
na instância
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
Configure instâncias para ignorar o encerramento do SO convidado
Para configurar uma instância de computação de modo a ignorar o encerramento do SO convidado quando parar ou eliminar a instância, use um dos seguintes métodos:
Configure o encerramento do SO convidado numa instância existente
Configure o encerramento do SO convidado enquanto cria uma instância
Configure o encerramento do SO convidado enquanto cria instâncias em massa
Configure o encerramento do SO convidado enquanto cria um modelo de instância
Configure o encerramento do SO convidado numa instância existente
Só pode configurar uma instância de computação para ignorar o encerramento do SO convidado se a instância estiver parada (
TERMINATED
).Para configurar uma instância para ignorar o encerramento do SO convidado, selecione uma das seguintes opções:
gcloud
Se ainda não o fez, pare a instância.
Para configurar uma instância para ignorar o encerramento 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 o seguinte:
INSTANCE_NAME
: o nome da instância.ZONE
: a zona onde a instância existe.
REST
Se ainda não o fez, pare a instância.
Para configurar uma instância para ignorar o encerramento do SO convidado, faça um pedido ao método
instances.setScheduling
beta.POST
No corpo do pedido, 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 o artigo Atualize as propriedades da instância.
Configure o encerramento do SO convidado enquanto cria uma instância
Para criar uma instância de computação configurada para ignorar o encerramento do SO convidado, selecione uma das seguintes opções:
gcloud
Para criar uma instância configurada para ignorar o encerramento 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 o seguinte:
INSTANCE_NAME
: o nome da instância.MACHINE_TYPE
: o tipo de máquina a usar para a instância.ZONE
: a zona onde quer criar a instância.
REST
Para criar uma instância configurada para ignorar o encerramento do SO convidado, faça um pedido
POST
ao métodoinstances.insert
. No corpo do pedido, 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 o seguinte:
PROJECT_ID
: o ID do projeto onde quer criar a instância.ZONE
: a zona onde quer criar a instância.INSTANCE_NAME
: o nome da instância.MACHINE_TYPE
: o tipo de máquina a usar 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 imagens suportados, consulte o artigo Imagens públicas.IMAGE
: especifique uma das seguintes opções:Uma versão específica da imagem do SO, por exemplo,
debian-12-bookworm-v20240617
.Uma família de imagens, que tem de formatar como
family/IMAGE_FAMILY
. Este valor especifica a imagem do SO mais recente e não descontinuada. Por exemplo, se especificarfamily/debian-12
, o Compute Engine usa a versão mais recente na família de imagens Debian 12. Para mais informações sobre como usar famílias de imagens, consulte as práticas recomendadas para famílias de imagens.
Para mais informações sobre como criar uma instância, consulte o artigo Crie e inicie uma instância do Compute Engine.
Configure o encerramento do SO convidado enquanto cria instâncias em massa
Para criar instâncias de computação em massa configuradas para ignorar o encerramento do SO convidado, selecione uma das seguintes opções:
gcloud
Para criar instâncias em massa configuradas para ignorar o encerramento 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 numa ú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 o seguinte:
COUNT
: o número de instâncias a criar.MACHINE_TYPE
: o tipo de máquina a usar para as instâncias.NAME_PATTERN
: o padrão de nome para as instâncias. Para substituir uma sequência de números num nome de instância, use uma sequência de carateres de cardinal (#
). Por exemplo, se usarinstance-#
como um padrão de nome, o Compute Engine gera instâncias com nomes que começam porinstance-1
,instance-2
e continua este padrão incremental até ao número de instâncias que especificar emCOUNT
.ZONE
: a zona onde quer criar instâncias.
REST
Para criar instâncias em massa configuradas para ignorar o encerramento do SO convidado, faça um pedido
POST
ao métodoinstances.bulkInsert
. No corpo do pedido, inclua o camposkipGuestOsShutdown
definido comotrue
.Por exemplo, para criar instâncias em massa que usam um padrão de nome numa única zona, faça um pedido
POST
da seguinte forma: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 o seguinte:
PROJECT_ID
: o ID do projeto onde quer criar instâncias em massa.ZONE
: a zona onde quer criar instâncias.COUNT
: o número de instâncias a criar.NAME_PATTERN
: o padrão de nome para as instâncias. Para substituir uma sequência de números num nome de instância, use uma sequência de carateres de cardinal (#
). Por exemplo, se usarinstance-#
como um padrão de nome, o Compute Engine gera instâncias com nomes que começam porinstance-1
,instance-2
e continua este padrão incremental até ao número de instâncias que especificar emCOUNT
.MACHINE_TYPE
: o tipo de máquina a usar 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 imagens suportados, consulte o artigo Imagens públicas.IMAGE
: especifique uma das seguintes opções:Uma versão específica da imagem do SO, por exemplo,
debian-12-bookworm-v20240617
.Uma família de imagens, que tem de formatar como
family/IMAGE_FAMILY
. Este valor especifica a imagem do SO mais recente e não descontinuada. Por exemplo, se especificarfamily/debian-12
, o Compute Engine usa a versão mais recente na família de imagens Debian 12. Para mais informações sobre como usar famílias de imagens, consulte as práticas recomendadas para famílias de imagens.
Para mais informações sobre como criar instâncias em massa, consulte o artigo Crie instâncias em massa.
Configure o encerramento do SO convidado enquanto cria um modelo de instância
Depois de criar um modelo de instância configurado para ignorar o encerramento do SO convidado quando para ou elimina instâncias de computação, pode usar o modelo de instância para fazer o seguinte:
Pode configurar as instâncias num grupo de instâncias gerido (MIG) para ignorar o encerramento do SO convidado na paragem ou eliminação quando faz o seguinte:
Crie 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 encerramento 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 que deve ignorar o encerramento 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 o seguinte:
INSTANCE_TEMPLATE_NAME
: o nome do modelo de instância.REGION
: a região onde quer criar o modelo de instância.MACHINE_TYPE
: o tipo de máquina a especificar no modelo de instância.
REST
Para criar um modelo de instância configurado para ignorar o encerramento do SO convidado, faça um pedido
POST
a 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 do pedido, inclua o campo
skipGuestOsShutdown
definido comotrue
.Por exemplo, para criar um modelo de instância regional que especifique a omissão do encerramento do SO convidado, faça um pedido
POST
da seguinte forma: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 o seguinte:
PROJECT_ID
: o ID do projeto onde quer criar o modelo de instância.REGION
: a região onde 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 imagens suportados, consulte o artigo Imagens públicas.IMAGE
: especifique uma das seguintes opções:Uma versão específica da imagem do SO, por exemplo,
debian-12-bookworm-v20240617
.Uma família de imagens, que tem de estar formatada como
family/IMAGE_FAMILY
. Isto especifica a imagem do SO não descontinuada mais recente. Por exemplo, se especificarfamily/debian-12
, é usada a versão mais recente na família de imagens do Debian 12. Para mais informações sobre a utilização de famílias de imagens, consulte o artigo Práticas recomendadas para famílias de imagens.
MACHINE_TYPE
: o tipo de máquina a especificar no modelo de instância.
Para mais informações sobre como criar um modelo de instância, consulte o artigo Crie modelos de instância.
Veja a definição de encerramento do SO convidado
Pode verificar se o Compute Engine ignora o encerramento do SO convidado quando para ou elimina uma instância de computação.
Para ver a hora de encerramento do SO convidado numa instância, selecione uma das seguintes opções:
gcloud
Para ver os detalhes de uma instância e se esta ignora o encerramento do SO convidado, use o comando
gcloud compute instances describe
:gcloud compute instances describe INSTANCE_NAME \ --zone=ZONE
Substitua o seguinte:
INSTANCE_NAME
: o nome da instância.ZONE
: a zona onde a instância existe.
Se configurou a instância para ignorar o encerramento do SO convidado, o resultado contém o campo
skipGuestOsShutdown
definido comotrue
, como no exemplo seguinte:... scheduling: automaticRestart: true skipGuestOsShutdown: true onHostMaintenance: MIGRATE preemptible: false provisioningModel: STANDARD ...
Caso contrário, se o campo
skipGuestOsShutdown
estiver em falta ou estiver definido comofalse
, o SO convidado usa o tempo de encerramento predefinido.REST
Para ver os detalhes de uma instância e se esta ignora o encerramento do SO convidado, faça um pedido
GET
ao métodoinstances.get
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
Substitua o seguinte:
PROJECT_ID
: o ID do projeto onde a instância existe.ZONE
: a zona onde a instância existe.INSTANCE_NAME
: o nome da instância.
Se configurou a instância para ignorar o encerramento do SO convidado, o resultado contém o campo
skipGuestOsShutdown
definido comotrue
, como no exemplo seguinte:{ ... "scheduling": { "automaticRestart": true, "skipGuestOsShutdown": true, "onHostMaintenance": "MIGRATE", "preemptible": false, "provisioningModel": "STANDARD" }, ... }
Caso contrário, se o campo
skipGuestOsShutdown
estiver em falta ou estiver definido comofalse
, o SO convidado usa o tempo de encerramento predefinido.O que se segue?
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-09-19 UTC.
-