Desative o encerramento normal numa instância do Compute Engine


Este documento explica como desativar o encerramento controlado numa instância do Compute Engine existente. Para saber mais sobre o encerramento controlado, incluindo como ignorá-lo para operações individuais de paragem ou eliminação, consulte a vista geral do encerramento controlado.

Se ativou o encerramento elegante numa instância, pode desativá-lo para fazer o seguinte:

  • Acelere as operações de paragem ou eliminação para evitar encargos desnecessários.

  • Atualize as propriedades da instância que requerem um reinício.

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

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

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    2. 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 init

      Se 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 a autorização de que precisa para desativar o encerramento normal numa instância de computação, peça ao seu administrador para lhe conceder a função IAM de 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 a autorização compute.instances.update on the instance , que é necessária para desativar o encerramento gradual numa instância de computação.

Também pode obter esta autorização com funções personalizadas ou outras funções predefinidas.

Desative o encerramento elegante numa instância

Pode desativar o encerramento gradual numa instância de computação sem reiniciar a instância. No entanto, não pode desativar o encerramento controlado enquanto a instância estiver no processo de encerramento controlado (PENDING_STOP).

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

Consola

  1. Na Google Cloud consola, aceda à página Instâncias de VM.

    Aceder às instâncias de VM

  2. Na coluna Nome, clique no nome da instância para ver os respetivos detalhes.

    É aberta a página de detalhes da instância e o separador Detalhes está selecionado.

  3. Clique em Editar.

  4. Na secção Gestão, desmarque a caixa de verificação Encerrar a VM corretamente.

  5. Clique em Guardar.

gcloud

Para desativar o encerramento normal numa 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 o seguinte:

  • INSTANCE_NAME: o nome da instância.

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

REST

  1. Crie um ficheiro JSON vazio.

  2. Para ver as propriedades de uma instância existente, faça um pedido GET ao 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 ficheiro JSON vazio que criou nos passos anteriores, faça o seguinte:

    1. Introduza as propriedades da instância a partir do resultado do pedido GET.

    2. Localize o campo gracefulShutdown.enabled e, em seguida, altere o respetivo valor para false:

      {
        ...
        "scheduling": {
          ...
          "gracefulShutdown": {
            "enabled": false
          }
        },
        ...
      }
      
  4. Para atualizar a instância, faça um pedido PUT ao método beta.instances.update Inclua o seguinte:

    • No URL do pedido, inclua o parâmetro de consulta mostDisruptiveAllowedAction.

    • No corpo do pedido, inclua as propriedades da instância do ficheiro JSON que criou e atualizou nos passos anteriores.

    O pedido PUT para atualizar a instância é semelhante ao seguinte:

    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: o pedido verifica se o seu 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 modificadas não exigirem o reinício da instância, o Compute Engine atualiza a instância.

Para mais informações sobre a atualização das propriedades de uma instância, consulte o artigo Atualize as propriedades da instância.

O que se segue?