Desativar o desligamento suave em uma instância do Compute Engine

Neste documento, explicamos como desativar o encerramento completo em uma instância atual do Compute Engine.

Para acelerar as operações de interrupção ou exclusão e evitar cobranças desnecessárias, é possível desativar o encerramento completo de uma instância de computação. Essa ação configura as instâncias de computação para fazer a transição imediata para o estado STOPPING depois que uma operação de interrupção ou exclusão é iniciada. Não é necessário esperar que o timer de encerramento completo expire ou encerrar manualmente o encerramento completo.

Para saber mais sobre os requisitos e as limitações que se aplicam ao encerrar uma instância de computação, consulte Sobre o encerramento completo.

Antes de começar

  • Configure a autenticação, caso ainda não tenha feito isso. Com isso, você confirma 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:

    Selecione a guia para como planeja usar as amostras nesta página:

    Console

    Quando você usa o console do Google Cloud para acessar os serviços e as APIs do Google Cloud , não é necessário configurar a autenticação.

    gcloud

    1. Instale a CLI do Google Cloud. Após a instalação, inicialize a Google Cloud CLI executando o seguinte comando:

      gcloud init

      Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.

  • Defina uma região e uma zona padrão.
  • REST

    Para usar as amostras da API REST desta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.

      Instale a CLI do Google Cloud.

      Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.

    Saiba mais em Autenticar para usar REST na documentação de autenticação do Google Cloud .

Funções exigidas

Para receber as permissões necessárias para desativar o encerramento completo em uma instância de computação, peça ao administrador para conceder a você o papel do IAM de Administrador da instância do Compute (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 a permissão compute.instances.update na instância de computação, que é necessária para desativar o encerramento completo em uma instância de computação.

Também é possível receber essa permissão com papéis personalizados ou outros papéis predefinidos.

Desativar o encerramento completo em uma instância de computação

É possível desativar o encerramento completo em uma instância de computação sem reiniciar a instância de computação. No entanto, se a instância de computação estiver sendo encerrada de forma completa (PENDING_STOP), será necessário encerrar o encerramento completo antes de desativá-lo.

Para desativar o encerramento completo em uma instância de computação, selecione uma das seguintes opções:

Console

  1. No console do Google Cloud , acesse a página Instâncias de VM.

    Acessar instâncias de VM

  2. Na coluna Nome, clique no nome da instância de computação. A página de detalhes da instância de computação é aberta na guia Detalhes.

  3. Clique em Editar.

  4. Na seção Gerenciamento, desmarque a caixa de seleção Desligar a VM normalmente.

  5. Clique em Salvar.

gcloud

Para desativar o encerramento completo em uma instância de computação, use o comando gcloud compute instances update com a flag --no-graceful-shutdown:

gcloud compute instances update INSTANCE_NAME \
    --no-graceful-shutdown \
    --zone=ZONE

Substitua:

  • INSTANCE_NAME: o nome da instância de computação.

  • ZONE: a zona em que a instância de computação está.

REST

  1. Crie um arquivo JSON vazio.

  2. Para conferir as propriedades de uma instância de computação atual, faça uma solicitação GET para o método instances.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 de computação está.

    • ZONE: a zona em que a instância de computação está.

    • INSTANCE_NAME: o nome de uma instância de computação atual.

  3. No arquivo JSON vazio que você criou nas etapas anteriores, faça o seguinte:

    1. Insira os detalhes da configuração da instância de computação na saída da solicitação GET.

    2. Localize o campo gracefulShutdown.enabled e mude o valor dele para false:

      {
        ...
        "scheduling": {
          ...
          "gracefulShutdown": {
            "enabled": false
          }
        },
        ...
      }
      
  4. Para atualizar a instância de computação, faça uma solicitação PUT ao método instances.update. Inclua o seguinte:

    • No URL da solicitação, inclua o parâmetro de consulta mostDisruptiveAllowedAction.

    • No corpo da solicitação, inclua as propriedades da instância de computação que estão no arquivo JSON que você criou e atualizou nas etapas anteriores.

    A solicitação PUT para atualizar a instância de computação é parecida com esta:

    PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?mostDisruptiveAllowedAction=ALLOWED_ACTION
    
    {
      ...
      "scheduling": {
        ...
        "gracefulShutdown": {
          "enabled": false
        }
      },
      ...
    }
    

    Substitua ALLOWED_ACTION por um dos seguintes valores:

    • NO_EFFECT: a solicitação verifica se a solicitação de atualização é válida e se os recursos estão disponíveis, mas não atualiza a instância de computação.

    • REFRESH: se as propriedades modificadas não exigirem que a instância de computação seja reiniciada, o Compute Engine atualizará a instância de computação.

Para saber como atualizar as propriedades de uma instância de computação, consulte Atualizar as propriedades da instância.

A seguir