Desativar o encerramento normal em uma instância do Compute Engine


Este documento explica como desativar o encerramento normal em uma instância existente do Compute Engine. Para saber mais sobre o encerramento normal, incluindo como ignorar o encerramento normal para operações individuais de interrupção ou exclusão, consulte Visão geral do encerramento normal .

Se você tiver habilitado o encerramento normal em uma instância, poderá desativá-lo para fazer o seguinte:

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

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

Antes de começar

  • Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar 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

    1. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Set a default region and zone.
    3. REST

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

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.

Funções obrigatórias

Para obter a permissão necessária para desabilitar o desligamento normal em uma instância de computação, peça ao administrador para conceder a você a função do IAM Compute Instance Admin (v1) ( roles/compute.instanceAdmin.v1 ) em seu projeto. Para obter mais informações sobre a concessão de funções, consulte Gerenciar acesso a projetos, pastas e organizações .

Essa função predefinida contém a permissão compute.instances.update on the instance , que é necessária para desabilitar o desligamento normal em uma instância de computação.

Você também poderá obter essa permissão com funções personalizadas ou outras funções predefinidas .

Desabilitar o desligamento normal em uma instância

Você pode desabilitar o desligamento normal em uma instância de computação sem reiniciar a instância. No entanto, você não pode desabilitar o encerramento normal enquanto a instância estiver em processo de encerramento normal ( PENDING_STOP ).

Para desativar o encerramento normal em uma instância, selecione uma das seguintes opções:

Console

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

    Acesse as instâncias de VM

  2. Na coluna Nome , clique no nome da instância para visualizar seus detalhes.

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

  3. Clique em Editar .

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

  5. Clique em Salvar .

gcloud

Para desativar o encerramento normal em uma instância, use o comando gcloud beta compute instances update com a sinalização --no-graceful-shutdown :

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

Substitua o seguinte:

  • INSTANCE_NAME : o nome da instância.

  • ZONE : a zona onde a instância está localizada.

DESCANSAR

  1. Crie um arquivo JSON vazio.

  2. Para visualizar as propriedades de uma instância existente, faça uma solicitação GET para o método beta instances.get :

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

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

  3. No arquivo JSON vazio criado nas etapas anteriores, faça o seguinte:

    1. Insira as propriedades da instância na saída da solicitação GET .

    2. Localize o campo gracefulShutdown.enabled e altere seu valor para false :

      {
        ...
        "scheduling": {
          ...
          "gracefulShutdown": {
            "enabled": false
          }
        },
        ...
      }
      
  4. Para atualizar a instância, faça uma solicitação PUT para o método beta 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 do arquivo JSON que você criou e atualizou nas etapas anteriores.

    A solicitação PUT para atualizar a instância é semelhante a 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 sua solicitação de atualização é válida e se os recursos estão disponíveis, mas não atualiza a instância.

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

Para obter mais informações sobre como atualizar as propriedades de uma instância, consulte Atualizar propriedades da instância .

O que vem a seguir