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 do Compute Engine com suporte. Esse recurso permite iniciar um evento de manutenção para controlar o tempo da manutenção da instância. Isso é útil para cargas de trabalho que podem ser afetadas por desempenho degradado ou inatividade, para as quais você precisa que a janela de manutenção comece em um horário específico.

Quando você inicia um evento de manutenção manualmente, 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 ocorrerá no horário indicado na notificação de manutenção futura.

Se você quiser testar primeiro como seus aplicativos vão processar 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. 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 as permissões necessárias para gerenciar a manutenção da VM, 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 eventos de manutenção futuros usando vários métodos. Usando as informações nas notificações, é possível determinar o período em que você pode iniciar manualmente um evento de manutenção.

Verificar as informações da notificação

Para encontrar as notificações de eventos de manutenção, faça o seguinte:

Se a notificação sobre um evento de manutenção do host contiver canReschedule=True e maintenanceStatus=Pending, você terá a opção de iniciar a manutenção no horário que escolher ou aguardar que o evento de manutenção aconteça 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.

Isso 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 será iniciado 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 digitação 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:

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.

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 reside.
  • 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