Iniciar manualmente um evento de manutenção do host


Nesta página, explicamos como iniciar manualmente um evento de manutenção do host em instâncias compatíveis do Compute Engine. Esse recurso permite iniciar um evento de manutenção para controlar o tempo da manutenção da sua instância. Isso é útil para cargas de trabalho que podem ser afetadas por desempenho degradado ou tempo de inatividade, e para as quais você precisa que a janela de manutenção comece em um horário específico.

Quando você inicia manualmente um evento de manutenção, a manutenção do host começa imediatamente. Não é possível especificar uma data ou hora para o início do evento de manutenção. Se você não usar esse recurso, o evento de manutenção vai ocorrer no horário indicado na notificação de manutenção futura.

Se você quiser testar como seus aplicativos vão lidar com um evento de manutenção, simule um evento de manutenção.

Limitações

É possível iniciar manualmente um evento de manutenção do host para instâncias que usam os seguintes tipos de máquina:

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:

    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 a CLI gcloud.

          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 exigidas

Para receber as permissões necessárias para gerenciar a manutenção de VMs, 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 as permissões necessárias para gerenciar a manutenção de VMs. Para conferir 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 a manutenção de VMs:

  • Para receber informações sobre uma instância de computação: compute.instances.get

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

Iniciar manualmente um evento de manutenção do host

O Compute Engine envia notificações sobre os próximos eventos de manutenção por vários métodos. Com as informações nas notificações, é possível determinar o período em que um evento de manutenção pode ser iniciado manualmente.

Verificar as informações da notificação

Você pode encontrar as notificações de eventos de manutenção de uma das seguintes maneiras:

Se a notificação sobre um evento de manutenção do host contiver canReschedule=True e maintenanceStatus=Pending, você poderá iniciar a manutenção no horário que preferir ou aguardar que ela ocorra no horário especificado por windowStartTime.

Se não houver notificação e você tentar iniciar manualmente um evento de manutenção, a seguinte mensagem será exibida:

There is no reschedulable upcoming maintenance.

Essa mensagem indica que nenhum evento de manutenção foi programado e que nenhuma ação precisa ser realizada.

Iniciar o evento de manutenção

É possível iniciar a manutenção do host no horário que você escolher, em vez de esperar o horário programado. Use a Google Cloud CLI ou o REST para acionar o evento de manutenção, que começa imediatamente.

gcloud

Para iniciar um evento de manutenção, use o comando compute instances perform-maintenance. A manutenção do host começa imediatamente após a entrada do comando.

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

Substitua:

  • INSTANCE_NAME: o nome da instância de computação.
  • ZONE: a zona em que a instância está localizada.

A resposta é semelhante a:

resourceStatus:
  upcomingMaintenance:
    canReschedule: false
    latestWindowStartTime: '2025-01-15T19:57:17Z'
    maintenanceStatus: ONGOING
    type: SCHEDULED
    windowEndTime: '2025-01-15T23:57:11Z'
    windowStartTime: '2025-01-15T19:57:16Z'

Na resposta, canReschedule é definido como false e maintenanceStatus é definido como ONGOING, o que indica que a operação de manutenção do host está em andamento.

REST

Para iniciar um evento de manutenção, crie uma solicitação POST usando o método instances.performMaintenance.

POST: https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/INSTANCE_NAME/performMaintenance

Substitua:

  • PROJECT_NAME: o nome do projeto.
  • ZONE: a zona em que a instância de computação está localizada.
  • INSTANCE_NAME: o nome da instância

A resposta será assim:

upcomingMaintenance:{
  "canReschedule":false
  "latestWindowStartTime": "2023-12-01T19:00:01Z"
  "maintenanceStatus":"ONGOING"
  "type":"SCHEDULED"
  "windowEndTime": "2023-12-01T22:00:00Z"
  "windowStartTime": "2023-12-01T19:00:00Z"
}

Na resposta, canReschedule é definido como false e maintenanceStatus é definido como ONGOING, o que indica que a operação de manutenção do host está em andamento.

A seguir