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ódigo ou exemplos em um ambiente de desenvolvimento local, faça a autenticação no Compute Engine com um destes métodos:

    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

    1. 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.

    2. Set a default region and zone.

    REST

    Para usar as amostras da API REST desta 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.

    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 on the instance, 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