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


Este documento explica como conferir os detalhes de uma interrupção suave em uma instância do Compute Engine. Para saber mais sobre o desligamento automático, consulte Visão geral do desligamento automático.

A visualização dos detalhes de uma desativação suave ajuda a monitorar o processo de desativação suave ou revisar as configurações.

Antes de começar

  • Configure a autenticação, caso ainda não tenha feito isso. A autenticação é o processo de verificação da 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:

    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. Install the Google Cloud CLI, then initialize it by running the following command:

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

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

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

Funções exigidas

Para receber a permissão necessária para visualizar o desligamento suave de uma instância de computação, peça ao administrador para conceder a você o papel do IAM de Administrador da instância da computação (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.get on the project, que é necessária para conferir o desligamento suave de uma instância de computação.

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

Conferir os detalhes de uma desativação suave

Para conferir os detalhes de uma desativação suave 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 VMs.

    Acessar instâncias de VM

  2. Na coluna Nome, clique no nome da sua instância.

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

  3. Para verificar as configurações de desligamento suave, na seção Políticas de disponibilidade, verifique o valor do campo Duração máxima do desligamento suave. Esse campo mostra o período de desligamento suave. Se mostrar um hífen (-), o desligamento tranquilo está desativado.

  4. Para monitorar um encerramento suave em andamento, na seção Informações básicas, marque os seguintes campos:

    • Status: esse campo mostra o estado da sua instância. Durante um desligamento suave, a mensagem Parada pendente e um timer de contagem regressiva são exibidos, mostrando o tempo restante até o fim do período de desligamento suave.

    • Estado de destino: esse campo mostra se o Compute Engine está interrompendo (Parada) ou excluindo (Excluída) a instância.

gcloud

Para conferir os detalhes de uma instância e o desligamento suave dela, use o comando gcloud beta compute instances describe:

gcloud beta compute instances describe INSTANCE_NAME \
    --zone=ZONE

Substitua:

  • INSTANCE_NAME: o nome da instância.

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

Para verificar as configurações de desligamento suave ou monitorar um desligamento em andamento, faça o seguinte:

  • Para verificar as configurações de desligamento suave na instância, consulte o campo scheduling na saída:

    ...
    scheduling:
      ...
      gracefulShutdown:
        enabled: true
        maxDuration:
          seconds: 'MAX_DURATION'
      ...
    ...
    

    Essa saída inclui o valor MAX_DURATION, que especifica quanto tempo o período de desligamento suave dura em segundos. Se você não tiver especificado um período de desligamento personalizado ao ativar o desligamento suave na instância, o Compute Engine vai omitir o campo maxDuration e definir o período de desligamento suave como 10 minutos.

  • Para monitorar o status de uma desativação suave em andamento, confira o campo shutdownDetails na saída:

    ...
    resourceStatus:
      ...
      shutdownDetails:
        maxDuration:
          seconds: 'MAX_DURATION'
        requestTimestamp: 'REQUEST_TIMESTAMP'
        stopState: STOP_STATE
        targetState: TARGET_STATE
    ...
    

    Esta saída inclui os seguintes valores:

    • MAX_DURATION: a duração do período de desligamento tranquilo em segundos. Depois que o Compute Engine define STOP_STATE como STOPPING, ele exclui o campo maxDuration.

    • REQUEST_TIMESTAMP: o carimbo de data/hora em que o STOP_STATE começou.

    • STOP_STATE: a fase de interrupção da instância. O papel pode ser um dos seguintes:

      • PENDING_STOP: o Compute Engine iniciou o desligamento normal. A instância permanece nesse estado até que você conclua manualmente o encerramento suave ou o período de encerramento suave expire.

      • STOPPING: o encerramento suave foi encerrado e o Compute Engine continua com a operação de parada ou exclusão.

    • TARGET_STATE: se o Compute Engine está interrompendo (STOPPED) ou excluindo (DELETED) a instância.

    Depois que o Compute Engine termina de interromper a instância, ele exclui o campo shutdownDetails.

REST

Para conferir os detalhes de uma instância e o desligamento suave dela, faça uma solicitação GET para o método instances.get 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á localizada.

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

  • INSTANCE_NAME: o nome da instância.

Para verificar as configurações de desligamento suave ou monitorar um desligamento em andamento, faça uma das seguintes ações:

  • Para verificar as configurações de desligamento suave na instância, consulte o campo scheduling na saída:

    {
      ...
      "scheduling": {
        ...
        "gracefulShutdown": {
          "enabled": true,
          "maxDuration": {
            "seconds": "MAX_DURATION"
          }
        }
      },
      ...
    }
    

    Essa saída inclui o valor MAX_DURATION, que especifica quanto tempo o período de desligamento suave dura em segundos. Se você não tiver especificado um período de desligamento personalizado ao ativar o desligamento suave na instância, o Compute Engine vai omitir o campo maxDuration e definir o período de desligamento suave como 10 minutos.

  • Para monitorar o status de uma desativação suave em andamento, confira o campo shutdownDetails na saída:

    {
      ...
      "resourceStatus": {
        ...
        "shutdownDetails": {
          "maxDuration": {
            "seconds": "MAX_DURATION"
          },
          "requestTimestamp": "REQUEST_TIMESTAMP",
          "stopState": "STOP_STATE",
          "targetState": "TARGET_STATE"
        }
      },
      ...
    }
    

    Esta saída inclui os seguintes valores:

    • MAX_DURATION: a duração do período de desligamento tranquilo em segundos. Depois que o Compute Engine define STOP_STATE como STOPPING, ele exclui o campo maxDuration.

    • REQUEST_TIMESTAMP: o carimbo de data/hora em que o STOP_STATE começou.

    • STOP_STATE: a fase de interrupção da instância. O papel pode ser um dos seguintes:

      • PENDING_STOP: o Compute Engine iniciou o desligamento normal. A instância permanece nesse estado até que você conclua manualmente o encerramento suave ou o período de encerramento suave expire.

      • STOPPING: o encerramento suave foi encerrado e o Compute Engine continua com a operação de parada ou exclusão.

    • TARGET_STATE: se o Compute Engine está interrompendo (STOPPED) ou excluindo (DELETED) a instância.

    Depois que o Compute Engine termina de interromper a instância, ele exclui o campo shutdownDetails.

Servidor de metadados

  1. Conecte-se à instância.

  2. Para conferir os detalhes de uma desativação suave em andamento na instância, consulte o servidor de metadados:

    curl "http://metadata.google.internal/computeMetadata/v1/instance/shutdown-details/?recursive=true?alt=json" \-H "Metadata-Flavor: Google"
    

    Se uma desativação suave estiver em andamento, a saída será semelhante a esta:

    {
      "maxDuration": "MAX_DURATION",
      "requestTimestamp": "REQUEST_TIMESTAMP",
      "stopState": "STOP_STATE",
      "targetState": "TARGET_STATE"
    }
    

    A saída inclui os seguintes valores:

    • MAX_DURATION: a duração do período de desligamento tranquilo em segundos. Depois que o Compute Engine define STOP_STATE como STOPPING, ele exclui o campo maxDuration.

    • REQUEST_TIMESTAMP: o carimbo de data/hora em que o STOP_STATE começou.

    • STOP_STATE: a fase de interrupção da instância. O papel pode ser um dos seguintes:

      • PENDING_STOP: o Compute Engine iniciou o desligamento normal. A instância permanece nesse estado até que você conclua manualmente o encerramento suave ou o período de encerramento suave expire.

      • STOPPING: o encerramento suave foi encerrado e o Compute Engine continua com a operação de parada ou exclusão.

    • TARGET_STATE: se o Compute Engine está interrompendo (STOPPED) ou excluindo (DELETED) a instância.

A seguir