Gerenciar eventos de host em VMs H4D

Este documento explica como usar os recursos de manutenção do host disponíveis com as VMs H4D. Ele explica como monitorar, planejar e realizar a manutenção programada em instâncias de máquina virtual (VM). Para gerenciar a manutenção nos blocos de capacidade reservados, independentemente de as VMs estarem em execução neles, consulte Gerenciar eventos de host em todas as reservas.

Ao gerenciar proativamente os próximos eventos de manutenção do host nas VMs, é possível minimizar as interrupções e manter o desempenho ideal.

Antes de começar

Selecione a guia para como planeja usar as amostras nesta página:

Console

Quando você usa o console do Cloud de Confiance para acessar os serviços e as APIs do Cloud de Confiance by S3NS , não é necessário configurar a autenticação.

gcloud

Instale a Google Cloud CLI e faça login na CLI gcloud com sua identidade federada. Depois de fazer login, inicialize a Google Cloud CLI executando o seguinte comando:

gcloud init

REST

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

    Instale a Google Cloud CLI e faça login na CLI gcloud com sua identidade federada.

Saiba mais em Autenticar para usar REST na documentação de autenticação do Cloud de Confiance .

Funções exigidas

Para receber as permissões necessárias para gerenciar eventos de manutenção de host em VMs, peça ao administrador para conceder a você os seguintes papéis do IAM:

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esses papéis predefinidos contêm as permissões necessárias para gerenciar eventos de manutenção do host em várias VMs. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As permissões a seguir são necessárias para gerenciar eventos de manutenção do host em VMs:

  • Para ver os detalhes de uma VM: compute.instances.get no projeto

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Visão geral

Para otimizar a manutenção das VMs, siga estas etapas:

  1. Entenda a manutenção do host. Saiba mais sobre a frequência e o comportamento de manutenção das suas VMs com base na série de máquinas. Essas informações ajudam a minimizar interrupções nas cargas de trabalho.

  2. Configure alertas de notificação. Crie alertas com base em registros para receber notificações quando a manutenção das suas VMs for programada, iniciada ou concluída. Essa abordagem ajuda você a planejar proativamente suas atividades e evitar inatividades inesperadas.

  3. Gerenciar a manutenção em VMs. Verifique se há manutenção programada para suas VMs. Se necessário, é possível iniciar manualmente a manutenção em todas as VMs. Esse processo ajuda a aumentar a resiliência das cargas de trabalho para hospedar eventos, evitar inatividade e maximizar a disponibilidade dos aplicativos.

Noções básicas sobre manutenção de host

Durante o ciclo de vida de uma instância do Compute Engine, a máquina host em que a instância é executada passa por vários eventos de host. Um evento de host pode incluir a manutenção regular da infraestrutura do Compute Engine ou, em casos raros, um erro de host. O Compute Engine também aplica alguns upgrades leves não destrutivos para o hipervisor e a rede em segundo plano.

A série de máquinas H4D oferece os seguintes recursos relacionados à manutenção do host:

Tipo de máquina Frequência típica de eventos de manutenção programada Comportamento de manutenção Notificação avançada Manutenção sob demanda Simular manutenção
h4d-standard-192 No mínimo 30 dias Encerrar 7 dias Sim Não
h4d-highmem-192 No mínimo 30 dias Encerrar 7 dias Sim Não
h4d-highmem-192-lssd No mínimo 30 dias Encerra com a persistência de dados do SSD local 7 dias Sim Não
h4d-megamem-192 No mínimo 30 dias Encerrar 7 dias Sim Não
h4d-megamem-192-lssd No mínimo 30 dias Encerra com a persistência de dados do SSD local 7 dias Sim Não

As frequências de manutenção mostradas na tabela anterior são aproximadas, não garantias. O Compute Engine pode, às vezes, realizar manutenção com mais frequência.

Configurar alertas de notificação para VMs

É possível receber notificações sobre eventos de manutenção programados, iniciados ou concluídos para suas VMs ao criar políticas de alertas com base em registros.

Para criar um alerta para os eventos de manutenção das suas VMs, conclua o procedimento a seguir. Repita esse procedimento para cada alerta que você quer criar.

  1. No console do Cloud de Confiance , acesse a página Análise de registros:

    Acessar a Análise de registros

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Logging.

  2. Clique no botão Mostrar consulta para a posição ativada.

  3. No painel Consulta, crie uma das seguintes consultas. Essas consultas filtram as entradas de registro para identificar eventos de manutenção específicos. Se você quiser usar várias consultas, repita esse procedimento para criar um alerta exclusivo para cada consulta.

    • Para receber alertas quando a manutenção de uma VM estiver programada:

      protoPayload.methodName="compute.instances.upcomingMaintenance" severity>=DEFAULT
      protoPayload.status.message =~ "scheduled"
      
    • Para receber alertas quando a janela de manutenção de uma VM for aberta:

      protoPayload.methodName="compute.instances.upcomingMaintenance" severity>=DEFAULT
      protoPayload.status.message =~ "ongoing"
      
    • Para receber alertas quando a manutenção de uma VM começar:

      protoPayload.methodName="compute.instance.terminateOnHostMaintenance" severity>=DEFAULT
      
    • Para receber alertas quando a manutenção de uma VM for concluída:

      protoPayload.methodName="compute.instances.upcomingMaintenance" severity>=DEFAULT
      protoPayload.status.message =~ "completed"
      
  4. Para validar a consulta, clique em Executar consulta. Se a consulta for válida, o painel Resultados da consulta vai mostrar as entradas de registro que correspondem à consulta.

  5. Na barra de ferramentas de resultados da Consulta, clique na lista Ações e selecione Criar alerta de registro. O painel Criar política de alertas com base em registros é exibido.

  6. Na seção Detalhes do alerta, faça o seguinte:

    1. No campo Nome da política de alertas, insira um nome para a política.

    2. Na lista Nível de gravidade da política, selecione Aviso (ou uma gravidade maior).

    3. Clique em Próxima.

  7. Na seção Escolher registros para incluir no alerta, clique em Próxima.

  8. Na seção Definir a frequência da notificação e a duração do fechamento automático, especifique o seguinte:

    1. Na lista Tempo entre notificações, selecione a frequência com que você quer receber notificações.

    2. Na lista Duração do fechamento automático de incidentes, selecione após quanto tempo o Cloud Logging para de enviar notificações e fecha automaticamente o incidente.

    3. Clique em Próxima.

  9. Na seção Quem deve receber notificações?, especifique um canal de notificação para que o Logging envie notificações.

  10. Clique em Salvar.

Para ver exemplos de notificações de eventos de manutenção na Análise de registros, consulte Exemplos de notificações de manutenção na documentação do Compute Engine.

Gerenciar a manutenção em VMs

Para visualizar e controlar a manutenção das VMs, faça o seguinte:

Ver o estado de manutenção das VMs

Para conferir o estado e o horário programado da próxima manutenção das VMs, verifique o valor do campo upcomingMaintenance nos metadados da instância. Se uma VM não tiver o campo upcomingMaintenance, nenhum evento de manutenção do host será programado para ela. Para mais informações sobre os campos em upcomingMaintenance, consulte Definições de status de manutenção na documentação do Compute Engine.

Além disso, se a manutenção estiver programada para uma VM, o campo upcomingGroupMaintenance vai conter o campo maintenanceReasons. Esse campo descreve por que a manutenção foi programada para sua VM, conforme descrito na tabela a seguir:

Tipo de manutenção Motivo da manutenção Estado das VMs
Manutenção planejada para manutenção regular
  • PLANNED_UPDATE: manutenção planejada da infraestrutura
  • PLANNED_NETWORK_UPDATE: manutenção de rede planejada
Aplica-se a VMs em execução, interrompidas ou suspensas.
Manutenção de emergência não planejada
  • FAILURE_DISK: manutenção não planejada agendada devido a um erro com um disco anexado a uma VM.
  • FAILURE_INFRA: manutenção não planejada programada devido a um erro na infraestrutura.
  • FAILURE_INTERFACE: manutenção não planejada programada devido a um erro na NIC.
  • FAILURE_MEMORY: manutenção não planejada programada devido a um erro na memória de uma VM.
  • FAILURE_NETWORK: manutenção não planejada programada devido a um erro na rede.
Aplicável apenas a VMs em execução.

Para conferir o campo maintenanceReasons em uma VM, use a CLI gcloud ou a API REST. Para conferir o estado de manutenção de várias VMs simultaneamente, use o console do Cloud de Confiance ou a API REST. Caso contrário, selecione uma destas opções:

Console

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

    Acessar instâncias de VM

  2. Na coluna Status de manutenção, o Compute Engine exibe o estado de manutenção das VMs. Se essa coluna não aparecer na tabela Instâncias de VM, clique em view_column Opções de exibição de coluna, marque a caixa de seleção Status de manutenção e clique em OK.

gcloud

Para ver o estado de manutenção de uma VM, use o comando gcloud compute instances describe com a flag --flatten=resourceStatus.upcomingMaintenance:

gcloud compute instances describe VM_NAME \
    --flatten=resourceStatus.upcomingMaintenance \
    --zone=ZONE

Substitua:

  • VM_NAME: o nome da VM.

  • ZONE: a zona em que a VM está.

A saída será semelhante a uma das seguintes:

  • Se um evento de manutenção do host estiver programado para sua VM, a saída será semelhante a esta:

    ---
    canReschedule: true
    latestWindowStartTime: '2025-11-01T19:00:00Z'
    maintenanceReasons:
    - 'PLANNED_UPDATE'
    - 'PLANNED_NETWORK_UPDATE'
    maintenanceStatus: 'PENDING'
    type: 'SCHEDULED'
    windowEndTime: '2025-11-01T22:00:00Z'
    windowStartTime: '2025-11-01T19:00:00Z'
    
  • Se um evento de manutenção do host não estiver programado para sua VM, a saída será semelhante a esta:

    ---
    null
    

REST

Para conferir o estado de manutenção das VMs, faça uma das seguintes solicitações GET. Ao fazer uma solicitação, inclua o parâmetro de consulta fields para mostrar apenas o nome, o tipo de máquina e a manutenção futura de uma VM. Você também precisa incluir o parâmetro de consulta filter para filtrar apenas VMs por um tipo de máquina específico.

  • Para conferir VMs em todas as zonas: método instances.aggregatedList.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/instances?fields=items.name,items.machineType,items.upcomingMaintenance&filter=machineType%3AMACHINE_TYPE
    
  • Para conferir as VMs em uma zona específica, use o método instances.list.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances?fields=items.name,items.machineType,items.upcomingMaintenance&filter=machineType%3AMACHINE_TYPE
    

Substitua:

  • PROJECT_ID: o ID do projeto em que você criou as VMs.

  • ZONE: a zona em que as VMs estão.

  • MACHINE_TYPE: o tipo de máquina que você quer usar para filtrar as VMs.

Se um evento de manutenção do host estiver programado para uma VM, ela vai conter o campo upcomingMaintenance:

{
  "items": [
    {
      "name": "vm-01",
      "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west4-b/machineTypes/h4d-highmem-192-lssd",
      "resourceStatus": {
        "upcomingMaintenance": {
          "canReschedule": true,
          "latestWindowStartTime": "2024-11-01T19:00:00Z",
          "maintenanceStatus": "PENDING",
          "maintenanceReasons": [
            "PLANNED_UPDATE",
            "PLANNED_NETWORK_UPDATE"
          ],
          "type": "SCHEDULED",
          "windowEndTime": "2024-11-01T22:00:00Z",
          "windowStartTime": "2024-11-01T19:00:00Z"
        }
      }
    },
    ...
  ]
}

Para restringir ainda mais uma lista de VMs, defina o parâmetro de consulta filter como uma expressão de filtro diferente.

Servidor de metadados

Para conferir o estado de manutenção de uma VM, faça o seguinte:

  1. Se ainda não tiver feito isso, conecte-se à sua Linux ou do Windows.

  2. Consulte o servidor de metadados da seguinte maneira:

    curl http://metadata.google.internal/computeMetadata/v1/instance/upcoming-maintenance?alt=json -H "Metadata-Flavor: Google"
    

    Se um evento de manutenção do host estiver programado para sua VM, a saída será semelhante a esta:

    "Upcoming maintenance": {
      "can_reschedule": "true",
      "latest_window_start_time": "2024-12-01T19:00:01Z",
      "maintenance_reasons": [
        "PLANNED_UPDATE",
        "PLANNED_NETWORK_UPDATE"
      ],
      "maintenance_status": "PENDING",
      "type": "SCHEDULED",
      "window_end_time": "2024-12-01T21:00:01Z",
      "window_start_time": "2024-12-01T19:00:01Z"
    }
    

    Se não houver um evento de manutenção do host programado, a saída será semelhante a esta:

    { }
    

Iniciar manualmente a manutenção em VMs

É possível iniciar manualmente a manutenção das VMs em vez de aguardar o horário programado.

Dependendo do estado de manutenção de uma VM, ocorre o seguinte:

Estado de manutenção Descrição O que você vê
Programado O Compute Engine programou uma manutenção para a VM. É possível iniciar manualmente a manutenção antes do horário programado.
  • No console do Cloud de Confiance , o estado de manutenção aparece como Pronto para execução. Será executado em DATE.
  • Na CLI gcloud ou na API REST, o Compute Engine define o campo maintenanceStatus como PENDING.
Em andamento A manutenção está em andamento. Não é possível reagendar.
  • No console do Cloud de Confiance , o estado de manutenção é exibido como Em execução.
  • Na CLI gcloud ou na API REST, o Compute Engine define o campo maintenanceStatus como ONGOING.
Concluído A manutenção foi concluída. O Compute Engine removeu todas as notificações de manutenção da VM.
  • No console Cloud de Confiance , o estado de manutenção aparece como Atualizado.
  • Na CLI gcloud ou na API REST, o Compute Engine define o campo maintenanceStatus como COMPLETE.

É possível iniciar manualmente a manutenção de várias VMs simultaneamente ou de VMs individuais. Para várias VMs, use o console do Cloud de Confiance ou, para VMs localizadas na mesma zona, a CLI gcloud. Para VMs individuais, selecione uma das seguintes opções:

Console

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

    Acessar instâncias de VM

  2. Selecione as linhas das VMs em que você quer iniciar a manutenção.

  3. Clique em Executar manutenção.

  4. Para confirmar, clique em Executar manutenção.

gcloud

Para iniciar manualmente a manutenção de uma ou mais VMs na mesma zona, use o comando gcloud compute instances perform-maintenance:

gcloud compute instances perform-maintenance VM_NAMES \
    --zone=ZONE

Substitua:

  • VM_NAMES: uma lista de nomes de VMs separados por espaços. Por exemplo, vm-01 vm-02 vm-03.

  • ZONE: a zona em que as VMs estão.

REST

Para iniciar manualmente a manutenção de uma VM, faça uma solicitação POST para o método instances.performMaintenance:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/performMaintenance

Substitua:

  • PROJECT_ID: o ID do projeto em que você criou a VM.

  • ZONE: a zona em que a VM está.

  • VM_NAME: o nome da VM.