Veja o encerramento controlado numa instância do Compute Engine


Este documento explica como ver as definições e o progresso de um encerramento elegante numa instância do Compute Engine. Para saber mais sobre o encerramento controlado, consulte a vista geral do encerramento controlado.

Quando vê os detalhes de uma instância, pode fazer o seguinte:

  • Veja as definições de encerramento elegante. Pode verificar se o encerramento gradual está ativado e a sua duração.

  • Monitorize o encerramento controlado. Quando um encerramento gradual está em curso, pode verificar o seguinte:

    • Quando o processo de encerramento controlado atinge o limite de tempo.

    • Se estiver em curso uma operação de paragem ou eliminação.

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 ver o encerramento controlado de uma instância de computação, peça ao seu administrador para lhe conceder a função de IAM 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.get on the project , que é necessária para ver o encerramento normal de uma instância de computação.

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

Veja as definições de encerramento gradual

Para ver as definições de encerramento controlado numa instância de computação, 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 sua instância.

    A página de detalhes da instância é aberta no separador Detalhes.

  3. Para verificar as definições de encerramento gradual, na secção Políticas de disponibilidade, verifique o valor do campo Duração máxima do encerramento gradual. Este campo mostra o período de encerramento gradual. Se for apresentado um hífen (-), significa que o encerramento elegante está desativado.

gcloud

Para ver as definições de encerramento controlado numa 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 encerramento controlado estiver ativado, o resultado é semelhante ao seguinte:

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

O resultado inclui o valor MAX_DURATION. Este valor indica a duração do período de encerramento gradual em segundos. Se não especificou um período de encerramento personalizado quando ativou o encerramento controlado na instância, o Compute Engine omite o campo maxDuration e define o período de encerramento controlado como 10 minutos.

REST

Para ver as definições de encerramento gradual numa instância, 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 criou a instância.

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

  • INSTANCE_NAME: o nome da instância.

Se o encerramento controlado estiver ativado, o resultado é semelhante ao seguinte:

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

O resultado inclui o valor MAX_DURATION. Este valor indica a duração do período de encerramento gradual em segundos. Se não especificou um período de encerramento personalizado quando ativou o encerramento controlado na instância, o Compute Engine omite o campo maxDuration e define o período de encerramento controlado como 10 minutos.

Monitorize o encerramento controlado

Para monitorizar um encerramento gradual numa instância de computação, 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 sua instância.

    A página de detalhes da instância é aberta no separador Detalhes.

  3. Se estiver em curso um encerramento gradual, na secção Informações básicas, verifique os seguintes campos:

    • Estado: este campo mostra o estado da sua instância. Durante um encerramento normal, este campo apresenta Paragem pendente e um temporizador de contagem decrescente. O temporizador faz a contagem decrescente até ao momento em que o encerramento elegante termina.

    • Estado do destino: este campo mostra se o Compute Engine está a parar (Parado) ou a eliminar (Eliminado) a instância.

gcloud

Para monitorizar um encerramento normal em curso numa 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 estiver em curso um encerramento controlado, o resultado é semelhante ao seguinte:

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

Esta saída inclui os seguintes valores:

  • MAX_DURATION: a duração do período de encerramento normal em segundos. Depois de o Compute Engine definir STOP_STATE como STOPPING, elimina o campo maxDuration.

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

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

    • PENDING_STOP: o Compute Engine iniciou o encerramento elegante. A instância permanece neste estado até terminar manualmente o encerramento gradual ou o período de encerramento gradual expirar.

    • STOPPING: o encerramento controlado terminou e o Compute Engine continua com a operação de paragem ou eliminação.

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

Se estiver em execução uma operação de paragem, depois de o Compute Engine definir o campo status como TERMINATE, elimina o campo shutdownDetails.

REST

Para monitorizar um encerramento gradual em curso numa instância, 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 criou a instância.

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

  • INSTANCE_NAME: o nome da instância.

Se estiver em curso um encerramento controlado, o resultado é semelhante ao seguinte:

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

Esta saída inclui os seguintes valores:

  • MAX_DURATION: a duração do período de encerramento normal em segundos. Depois de o Compute Engine definir STOP_STATE como STOPPING, elimina o campo maxDuration.

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

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

    • PENDING_STOP: o Compute Engine iniciou o encerramento elegante. A instância permanece neste estado até terminar manualmente o encerramento gradual ou o período de encerramento gradual expirar.

    • STOPPING: o encerramento controlado terminou e o Compute Engine continua com a operação de paragem ou eliminação.

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

Se estiver em execução uma operação de paragem, depois de o Compute Engine definir o campo status como TERMINATE, elimina o campo shutdownDetails.

Servidor de metadados

  1. Ligue-se à instância.

  2. Consultar o servidor de metadados:

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

    Se estiver em curso um encerramento controlado, o resultado é semelhante ao seguinte:

    {
      "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 encerramento normal em segundos. Depois de o Compute Engine definir STOP_STATE como STOPPING, elimina o campo maxDuration.

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

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

      • PENDING_STOP: o Compute Engine iniciou o encerramento gradual. A instância permanece neste estado até terminar manualmente o encerramento gradual ou o período de encerramento gradual expirar.

      • STOPPING: o encerramento controlado terminou e o Compute Engine continua com a operação de paragem ou eliminação.

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

O que se segue?