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

Neste documento, explicamos como desativar o encerramento completo em uma instância do Compute Engine. Para saber mais sobre o encerramento completo, incluindo como pular o encerramento completo em operações individuais de parada ou exclusão, consulte Visão geral do encerramento completo.

Se você ativou o encerramento completo em uma instância, é possível desativá-lo para fazer o seguinte:

  • Acelere as operações de parada ou exclusão para evitar cobranças desnecessárias.

  • Atualize as propriedades da instância que exigem uma reinicialização.

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 Google Cloud para acessar serviços Google Cloud e APIs, 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 nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para 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 a permissão necessária 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, 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

É possível desativar o encerramento completo em uma instância de computação sem reiniciá-la. No entanto, não é possível desativar o encerramento completo enquanto a instância está nesse processo (PENDING_STOP).

Para desativar o encerramento completo em uma instância, 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 para ver os detalhes dela.

    A página de detalhes da instância é aberta com a guia Detalhes selecionada.

  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, use o comando gcloud beta compute instances update com a flag --no-graceful-shutdown:

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

Substitua:

  • INSTANCE_NAME: o nome da instância.

  • ZONE: a zona em que a instância está.

REST

  1. Crie um arquivo JSON vazio.

  2. Para conferir as propriedades de uma instância atual, faça uma solicitação GET para o método instances.get da versão Beta:

    GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
    

    Substitua:

    • PROJECT_ID: o ID do projeto em que a instância está.

    • ZONE: a zona em que a instância está.

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

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

    1. Insira as propriedades da instância fornecidas 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, faça uma solicitação PUT ao método instances.update da versão Beta. 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 que estão no arquivo JSON que você criou e atualizou nas etapas anteriores.

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

    PUT https://compute.googleapis.com/compute/beta/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 o pedido de atualização é válido e se os recursos estão disponíveis, mas não atualiza a instância.

    • REFRESH: se as propriedades da instância modificada não exigirem a reinicialização dela, o Compute Engine vai atualizar a instância.

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

A seguir