Este documento explica como ativar o encerramento controlado numa instância do Compute Engine nova ou existente. Para saber mais sobre o encerramento controlado, consulte o artigo Vista geral do encerramento controlado.
Quando ativa o encerramento normal numa instância, pode dar ao respetivo SO convidado até uma hora para encerrar corretamente quando para ou elimina a instância. Isto ajuda a evitar uma potencial perda de dados ou sistemas de ficheiros danificados.
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:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud initSe 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 initSe 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 ativar o encerramento controlado numa instância de computação, 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 ativar o encerramento controlado numa instância de computação. 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 ativar o encerramento normal numa instância de computação:
-
Para criar instâncias:
compute.instances.createno projeto- Para usar uma imagem personalizada para criar a VM:
compute.images.useReadOnlyna imagem - Para usar um instantâneo para criar a VM:
compute.snapshots.useReadOnlyno instantâneo - Para usar um modelo de instância para criar a VM:
compute.instanceTemplates.useReadOnlyno modelo de instância - Para atribuir uma rede antiga à VM:
compute.networks.useno projeto - Para especificar um endereço IP estático para a VM:
compute.addresses.useno projeto - Para atribuir um endereço IP externo à VM quando usar uma rede antiga:
compute.networks.useExternalIpno projeto - Para especificar uma sub-rede para a VM:
compute.subnetworks.useno projeto ou na sub-rede escolhida - Para atribuir um endereço IP externo à VM quando usar uma rede VPC:
compute.subnetworks.useExternalIpno projeto ou na sub-rede escolhida - Para definir os metadados da instância de VM para a VM:
compute.instances.setMetadatano projeto - Para definir etiquetas para a VM:
compute.instances.setTagsna VM - Para definir etiquetas para a VM:
compute.instances.setLabelsna VM - Para definir uma conta de serviço para a VM usar:
compute.instances.setServiceAccountna VM - Para criar um novo disco para a VM:
compute.disks.createno projeto - Para anexar um disco existente no modo de leitura ou leitura/escrita:
compute.disks.useno disco - Para anexar um disco existente no modo de leitura:
compute.disks.useReadOnlyno disco
-
Para criar um modelo de instância:
compute.instanceTemplates.createno projeto -
Para ativar o encerramento controlado numa instância existente:
compute.instances.updatena instância
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
Ative o encerramento elegante
Para ativar o encerramento controlado numa instância de computação, use um dos seguintes métodos:
Ative o encerramento normal durante a criação de uma instância
Ative o encerramento normal durante a criação de instâncias em massa
Ative o encerramento elegante ao criar um modelo de instância
Ative o encerramento elegante numa instância existente
Pode ativar o encerramento controlado numa instância de computação existente sem a parar nem reiniciar. O período de encerramento normal predefinido é de 10 minutos, mas pode especificar um período de encerramento personalizado entre um segundo e uma hora.
Para ativar o encerramento controlado numa instância existente, selecione uma das seguintes opções:
Consola
Na Google Cloud consola, aceda à página Instâncias de VM.
Na coluna Nome, clique no nome da instância na qual quer ativar o encerramento elegante.
É apresentada a página de detalhes da instância.
Clique em Editar.
Na secção Gestão, faça o seguinte:
Selecione a caixa de verificação Encerrar a VM normalmente.
Opcional: para especificar um período de encerramento normal personalizado, especifique uma duração no campo Duração máxima.
Clique em Guardar.
gcloud
Para ativar o encerramento normal numa instância existente, use o comando
gcloud beta compute instances updatecom a flag--graceful-shutdown:gcloud beta compute instances update INSTANCE_NAME \ --graceful-shutdown \ --zone=ZONESubstitua o seguinte:
INSTANCE_NAME: o nome da instância.ZONE: a zona onde a instância está localizada.
Opcionalmente, para especificar um período de encerramento normalizado personalizado, inclua a flag
--graceful-shutdown-max-duration:gcloud beta compute instances update INSTANCE_NAME \ --graceful-shutdown \ --graceful-shutdown-max-duration=MAX_DURATION \ --zone=ZONESubstitua
MAX_DURATIONpor uma duração para o período de encerramento. O valor tem de estar formatado como o número de horas, minutos ou segundos, seguido deh,mes, respetivamente. Por exemplo, especifique1hdurante uma hora ou20m10sdurante 20 minutos e 10 segundos.REST
Crie um ficheiro JSON vazio.
Para ver as propriedades de uma instância existente, faça um pedido
GETao método betainstances.get:GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAMESubstitua o seguinte:
PROJECT_ID: o ID do projeto onde a instância está localizada.ZONE: a zona onde a instância está localizada.INSTANCE_NAME: o nome de uma instância existente.
No ficheiro JSON vazio que criou nos passos anteriores, faça o seguinte:
Introduza os detalhes da configuração da instância a partir do resultado do pedido
GET.No campo
scheduling, adicione o campogracefulShutdownda seguinte forma:{ ... "scheduling": { ... "gracefulShutdown": { "enabled": true } }, ... }Opcionalmente, para especificar um período de encerramento normalizado personalizado, inclua o campo
maxDuration:{ ... "scheduling": { ... "gracefulShutdown": { ... "enabled": true, "maxDuration": { "seconds": "MAX_DURATION" } } }, ... }Substitua
MAX_DURATIONpor uma duração em segundos para o período de encerramento gradual. O valor tem de estar compreendido entre1e3600, que corresponde a 3600 segundos (uma hora).
Para atualizar a instância e reiniciá-la, faça um pedido
PUTao métodoinstances.updatebeta. Na solicitação, faça o seguinte:No URL do pedido, inclua o parâmetro de consulta
mostDisruptiveAllowedActiondefinido comoRESTART.No corpo do pedido, inclua as propriedades da instância do ficheiro JSON que criou e atualizou nos passos anteriores.
O pedido
PUTpara atualizar a instância é semelhante ao seguinte:PUT https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?mostDisruptiveAllowedAction=RESTART { ... "scheduling": { ... "gracefulShutdown": { "enabled": true } }, ... }
Para mais informações sobre a atualização das propriedades de uma instância, consulte o artigo Atualize as propriedades da instância.
Ative o encerramento correto durante a criação de uma instância
Quando cria uma instância de computação com o encerramento elegante ativado, o período de encerramento predefinido é de 10 minutos. Opcionalmente, pode especificar um período de encerramento personalizado entre um segundo e uma hora.
Para criar uma instância com o encerramento elegante ativado, selecione uma das seguintes opções:
Consola
Na Google Cloud consola, aceda à página Instâncias de VM.
Clique em Criar instância.
É apresentada a página Criar uma instância.
Especifique um Nome para a instância.
Especifique a Região e a Zona nas quais criar a instância.
Especifique um tipo de máquina para a instância.
No menu de navegação, clique em Avançadas.
Expanda a secção Definições avançadas do modelo de aprovisionamento de VMs e, em seguida, faça o seguinte:
Selecione a caixa de verificação Encerrar a VM normalmente.
Opcional: para especificar um período de encerramento normal personalizado, especifique uma duração no campo Duração máxima.
Clique em Criar.
gcloud
Para criar uma instância com o encerramento elegante ativado, use o comando
gcloud beta compute instances createcom a flag--graceful-shutdown:gcloud beta compute instances create INSTANCE_NAME \ --graceful-shutdown \ --machine-type=MACHINE_TYPE \ --zone=ZONESubstitua 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 na qual criar a instância.
Opcionalmente, para especificar um período de encerramento normalizado personalizado, inclua a flag
--graceful-shutdown-max-duration:gcloud beta compute instances create INSTANCE_NAME \ --graceful-shutdown \ --graceful-shutdown-max-duration=MAX_DURATION \ --machine-type=MACHINE_TYPE \ --zone=ZONESubstitua
MAX_DURATIONpor uma duração para o período de encerramento elegante. O valor tem de ser formatado como o número de horas, minutos ou segundos, seguido deh,mes, respetivamente. Por exemplo, especifique1hpara uma hora ou20m10spara 20 minutos e 10 segundos.REST
Para criar uma instância com o encerramento elegante ativado, faça um
POSTpedido ao métodobeta.instances.insert. No corpo do pedido, inclua o campogracefulShutdown:POST https://compute.googleapis.com/compute/beta/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": { "gracefulShutdown": { "enabled": true } } }Substitua o seguinte:
PROJECT_ID: o ID do projeto no qual criar a instância.ZONE: a zona na qual criar a instância.INSTANCE_NAME: o nome da instância.MACHINE_TYPE: o tipo de máquina da 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. Esta formatação especifica a imagem do SO mais recente e não descontinuada. 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.
Opcionalmente, para especificar um período de encerramento normal personalizado, inclua o campo
maxDurationno corpo do pedido:POST https://compute.googleapis.com/compute/beta/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": { "gracefulShutdown": { "enabled": true, "maxDuration": { "seconds": "MAX_DURATION" } } } }Substitua
MAX_DURATIONpor uma duração em segundos para o período de encerramento gradual. O valor tem de estar compreendido entre1e3600, que é 3600 segundos (uma hora).Para mais opções de configuração ao criar uma instância, consulte o artigo Crie e inicie uma instância do Compute Engine.
Ative o encerramento elegante durante a criação de instâncias em massa
Quando cria instâncias de computação em massa com o encerramento elegante ativado, o período de encerramento predefinido é de 10 minutos. Opcionalmente, pode especificar um período de encerramento personalizado entre um segundo e uma hora.
Para criar instâncias em massa com o encerramento elegante ativado, selecione uma das seguintes opções:
gcloud
Para criar instâncias em massa com o encerramento simples ativado, use o comando
gcloud beta compute instances bulk createcom a flag--graceful-shutdown.Por exemplo, para criar instâncias em massa numa única zona e especificar um padrão de nome para as instâncias, execute o seguinte comando:
gcloud beta compute instances bulk create \ --count=COUNT \ --graceful-shutdown \ --machine-type=MACHINE_TYPE \ --name-pattern="NAME_PATTERN" \ --zone=ZONESubstitua o seguinte:
COUNT: o número de instâncias a criar.MACHINE_TYPE: o tipo de máquina 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, usarinstance-#para o padrão de nome gera instâncias com nomes que começam porinstance-1,instance-2e continuam até ao número de instâncias especificado porCOUNT.ZONE: a zona na qual criar instâncias em massa.
Opcionalmente, para especificar um período de encerramento normalizado personalizado, inclua a flag
--graceful-shutdown-max-duration:gcloud beta compute instances bulk create \ --count=COUNT \ --graceful-shutdown \ --graceful-shutdown-max-duration=MAX_DURATION \ --machine-type=MACHINE_TYPE \ --name-pattern="NAME_PATTERN" \ --zone=ZONESubstitua
MAX_DURATIONpor uma duração para o período de encerramento elegante. O valor tem de ser formatado como o número de horas, minutos ou segundos, seguido deh,mes, respetivamente. Por exemplo, especifique1hpara uma hora ou20m10spara 20 minutos e 10 segundos.REST
Para criar instâncias em massa com o encerramento controlado ativado, faça um pedido ao método beta
instances.bulkInsert.POSTNo corpo do pedido, inclua o campogracefulShutdown.Por exemplo, para criar instâncias em massa numa única zona e especificar um padrão de nome para as instâncias, faça um pedido
POSTda seguinte forma:POST https://compute.googleapis.com/compute/beta/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": { "gracefulShutdown": { "enabled": true } } } }Substitua o seguinte:
PROJECT_ID: o ID do projeto no qual criar instâncias em massa.ZONE: a zona na qual criar instâncias em massa.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, usarinstance-#para o padrão de nome gera instâncias com nomes que começam porinstance-1,instance-2e continuam até ao número de instâncias especificado porCOUNT.MACHINE_TYPE: o tipo de máquina 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 estar formatada como
family/IMAGE_FAMILY. Esta formatação especifica a imagem do SO mais recente e não descontinuada. 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.
ZONE: a zona na qual criar instâncias em massa.
Opcionalmente, para especificar um período de encerramento normal personalizado, inclua o campo
maxDurationno corpo do pedido:POST https://compute.googleapis.com/compute/beta/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": { "gracefulShutdown": { "enabled": true, "maxDuration": { "seconds": "MAX_DURATION" } } } } }Substitua
MAX_DURATIONpor uma duração em segundos para o período de encerramento gradual. O valor tem de estar compreendido entre1e3600, que é 3600 segundos (uma hora).Para ver mais opções de configuração quando cria instâncias em massa, consulte o artigo Crie VMs em massa.
Ative o encerramento elegante durante a criação de um modelo de instância
Quando cria um modelo de instância com o encerramento elegante ativado, o período de encerramento predefinido é de 10 minutos. Opcionalmente, pode especificar um período de encerramento personalizado entre um segundo e uma hora.
Todas as instâncias de computação criadas com o modelo de instância têm o encerramento normal ativado.
Para criar um modelo de instância com o encerramento elegante ativado, selecione uma das seguintes opções:
Consola
Na Google Cloud consola, aceda à página Modelos de instâncias.
Clique em Criar modelo de instância.
É apresentada a página Criar um modelo de instância.
No campo Nome, introduza um nome para o modelo de instância.
Selecione a Localização da seguinte forma:
Para reduzir a dependência entre regiões através da criação de um modelo de instância regional, faça o seguinte:
Escolha Regional, se ainda não estiver selecionado.
No campo Região, selecione a região na qual criar o modelo de instância.
Caso contrário, para usar o modelo de instância em várias regiões, escolha Global.
Na secção Configuração da máquina, especifique um tipo de máquina.
Expanda a secção Definições avançadas do modelo de aprovisionamento de VMs e, em seguida, faça o seguinte:
Selecione a caixa de verificação Encerrar a VM normalmente.
Opcional: para especificar um período de encerramento normal personalizado, especifique uma duração no campo Duração máxima.
Clique em Criar.
gcloud
Para criar um modelo de instância com o encerramento elegante ativado, use o comando
gcloud beta compute instance-templates createcom a flag--graceful-shutdown.Por exemplo, para criar um modelo de instância regional com o encerramento elegante ativado, execute o seguinte comando:
gcloud beta compute instance-templates create INSTANCE_TEMPLATE_NAME \ --graceful-shutdown \ --instance-template-region=REGION \ --machine-type=MACHINE_TYPESubstitua o seguinte:
INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.REGION: a região na qual criar o modelo de instância.MACHINE_TYPE: o tipo de máquina para as instâncias criadas com o modelo de instância.
Opcionalmente, para especificar um período de encerramento normalizado personalizado, inclua a flag
--graceful-shutdown-max-duration.gcloud beta compute instance-templates create INSTANCE_TEMPLATE_NAME \ --graceful-shutdown \ --graceful-shutdown-max-duration=MAX_DURATION \ --instance-template-region=REGION \ --machine-type=MACHINE_TYPESubstitua
MAX_DURATIONpor uma duração para o período de encerramento. O valor tem de estar formatado como o número de horas, minutos ou segundos, seguido deh,mes, respetivamente. Por exemplo, especifique1hdurante uma hora ou20m10sdurante 20 minutos e 10 segundos.REST
Para criar um modelo de instância com o encerramento elegante ativado, faça um pedido
POSTa um dos seguintes métodos:Para criar um modelo de instância global: método beta
instanceTemplates.insert.Para criar um modelo de instância regional: método beta
regionInstanceTemplates.insert.
Por exemplo, para criar um modelo de instância regional com o encerramento elegante ativado, faça um pedido
POSTda seguinte forma:POST https://compute.googleapis.com/compute/beta/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": { "gracefulShutdown": { "enabled": true } } } }Substitua o seguinte:
PROJECT_ID: o ID do projeto onde criar o modelo de instância.REGION: a região onde 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. Esta formatação especifica a imagem do SO mais recente e não descontinuada. 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 para as instâncias criadas com o modelo de instância.
Opcionalmente, para especificar um período de encerramento gradual personalizado, inclua o campo
maxDurationno corpo do pedido.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/global/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": { "gracefulShutdown": { "enabled": true, "maxDuration": { "seconds": "MAX_DURATION" } } } } }Substitua
MAX_DURATIONpor uma duração em segundos para o período de encerramento. O valor tem de estar compreendido entre1e3600, que corresponde a 3600 segundos (uma hora).Para mais opções de configuração ao criar um modelo de instância, consulte o artigo Crie modelos de instâncias.
O que se segue?
Veja o encerramento controlado numa instância do Compute Engine
Desative o encerramento elegante numa instância do Compute Engine
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-10-19 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-10-19 UTC."],[],[]] -