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


Este documento explica como visualizar as configurações e o progresso de um encerramento normal em uma instância do Compute Engine. Para saber mais sobre o desligamento normal, consulte Visão geral do desligamento normal .

Ao visualizar os detalhes de uma instância, você pode fazer o seguinte:

  • Veja as configurações de desligamento normal . Você pode verificar se o desligamento normal está habilitado e quanto tempo dura.

  • Monitore o desligamento normal . Quando um encerramento normal está em andamento, você pode verificar o seguinte:

    • Quando o processo de desligamento normal expira.

    • Se uma operação de interrupção ou exclusão estiver em andamento.

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 visualizar o encerramento normal de 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.get on the project , que é necessária para visualizar o encerramento normal de uma instância de computação.

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

Ver configurações de desligamento normal

Para visualizar as configurações de desligamento normal em uma instância de computação, 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 sua instância.

    A página de detalhes da instância é aberta na guia Detalhes .

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

gcloud

Para visualizar as configurações de desligamento normal em uma instância, use o comando gcloud beta compute instances describe :

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

Substitua o seguinte:

  • INSTANCE_NAME : o nome da instância.

  • ZONE : a zona onde a instância existe.

Se o desligamento normal estiver ativado, a saída será semelhante a esta:

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

A saída inclui o valor MAX_DURATION . Este valor indica quanto tempo dura o período de desligamento normal, em segundos. Se você não especificou um período de encerramento personalizado ao ativar o encerramento normal na instância, o Compute Engine omitirá o campo maxDuration e definirá o período de encerramento normal como 10 minutos.

DESCANSAR

Para visualizar as configurações de desligamento normal em uma instância, 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 você criou a instância.

  • ZONE : a zona onde a instância existe.

  • INSTANCE_NAME : o nome da instância.

Se o desligamento normal estiver ativado, a saída será semelhante a esta:

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

A saída inclui o valor MAX_DURATION . Este valor indica quanto tempo dura o período de desligamento normal, em segundos. Se você não especificou um período de encerramento personalizado ao ativar o encerramento normal na instância, o Compute Engine omitirá o campo maxDuration e definirá o período de encerramento normal como 10 minutos.

Monitore o desligamento normal

Para monitorar um encerramento normal em andamento em uma instância de computação, 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 sua instância.

    A página de detalhes da instância é aberta na guia Detalhes .

  3. Se um encerramento normal estiver em andamento, na seção Informações básicas , verifique os seguintes campos:

    • Status : este campo mostra o estado da sua instância . Durante um desligamento normal, este campo exibe Parada pendente e um cronômetro de contagem regressiva. O cronômetro faz a contagem regressiva até o momento em que o desligamento normal termina.

    • Estado de destino : este campo mostra se o Compute Engine está interrompendo ( Stopped ) ou excluindo ( Deleted ) a instância.

gcloud

Para monitorar um encerramento normal em andamento em uma instância, use o comando gcloud beta compute instances describe :

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

Substitua o seguinte:

  • INSTANCE_NAME : o nome da instância.

  • ZONE : a zona onde a instância existe.

Se um encerramento normal estiver em andamento, a saída será semelhante a esta:

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

Essa saída inclui os seguintes valores:

  • MAX_DURATION : a duração do período de desligamento normal 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 STOP_STATE foi iniciado.

  • STOP_STATE : a fase de parada da instância. O valor pode ser um dos seguintes:

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

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

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

Se uma operação de parada estiver em execução, depois que o Compute Engine definir o campo status como TERMINATE , ele excluirá o campo shutdownDetails .

DESCANSAR

Para monitorar um encerramento normal em andamento em uma instância, 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 você criou a instância.

  • ZONE : a zona onde a instância existe.

  • INSTANCE_NAME : o nome da instância.

Se um encerramento normal estiver em andamento, a saída será semelhante a esta:

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

Essa saída inclui os seguintes valores:

  • MAX_DURATION : a duração do período de desligamento normal 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 STOP_STATE foi iniciado.

  • STOP_STATE : a fase de parada da instância. O valor pode ser um dos seguintes:

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

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

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

Se uma operação de parada estiver em execução, depois que o Compute Engine definir o campo status como TERMINATE , ele excluirá o campo shutdownDetails .

Servidor de metadados

  1. Conecte-se à instância.

  2. Consulte o servidor de metadados:

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

    Se um encerramento normal 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 normal 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 STOP_STATE foi iniciado.

    • STOP_STATE : a fase de parada da instância. O valor pode ser um dos seguintes:

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

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

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

O que vem a seguir