Inicie manualmente um evento de manutenção do anfitrião

Esta página explica como iniciar manualmente um evento de manutenção do anfitrião em instâncias do Compute Engine suportadas. Esta funcionalidade permite-lhe iniciar um evento de manutenção para controlar o momento da manutenção da sua instância. Isto é útil para cargas de trabalho que possam ser afetadas por uma diminuição do desempenho ou um tempo de inatividade, para as quais precisa que o período de manutenção comece a uma hora específica.

Quando inicia manualmente um evento de manutenção, a manutenção do anfitrião começa imediatamente. Não pode especificar uma data nem uma hora para o início do evento de manutenção. Se não usar esta funcionalidade, o evento de manutenção ocorre à hora indicada na notificação de manutenção futura.

Se quiser testar primeiro como as suas aplicações vão processar um evento de manutenção, pode simular um evento de manutenção.

Limitações

Pode iniciar manualmente um evento de manutenção do anfitrião para instâncias que usam os seguintes tipos de máquinas:

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:

    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 as autorizações de que precisa para gerir a manutenção de VMs, peça ao seu administrador para lhe conceder a função de administrador de instâncias do Compute (v1) (roles/compute.instanceAdmin.v1) do IAM no 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 as autorizações necessárias para gerir a manutenção de VMs. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:

Autorizações necessárias

São necessárias as seguintes autorizações para gerir a manutenção de VMs:

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

Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.

Inicie manualmente um evento de manutenção do anfitrião

O Compute Engine envia notificações de eventos de manutenção futuros por vários métodos. Com as informações nas notificações, pode determinar o período durante o qual pode iniciar manualmente um evento de manutenção.

Verifique as informações da notificação

Pode encontrar as notificações de eventos de manutenção de uma das seguintes formas:

Se a notificação sobre um evento de manutenção do anfitrião contiver canReschedule=True e maintenanceStatus=Pending, tem a opção de iniciar a manutenção à hora que quiser ou aguardar que o evento de manutenção ocorra à hora especificada por windowStartTime.

Se não existir nenhuma notificação e tentar iniciar manualmente um evento de manutenção, é apresentada a seguinte mensagem:

There is no reschedulable upcoming maintenance.

Esta mensagem indica que não foi agendado nenhum evento de manutenção e que não tem de tomar nenhuma ação.

Inicie o evento de manutenção

Pode iniciar a manutenção do anfitrião à hora que quiser, em vez de esperar pela hora agendada. Use a Google Cloud CLI ou a REST para acionar o evento de manutenção, que é iniciado imediatamente.

gcloud

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

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

Substitua o seguinte:

  • INSTANCE_NAME: o nome da instância de computação.
  • ZONE: a zona onde a instância reside.

A resposta é semelhante à seguinte:

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 está definido como false e maintenanceStatus está definido como ONGOING, o que indica que a operação de manutenção do anfitrião está em curso.

REST

Para iniciar um evento de manutenção, crie um pedido POST através do método instances.performMaintenance.

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

Substitua o seguinte:

  • PROJECT_NAME: o nome do projeto
  • ZONE: a zona onde a instância de computação reside
  • INSTANCE_NAME: o nome da instância

A resposta tem o seguinte aspeto:

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 está definido como false e maintenanceStatus está definido como ONGOING, o que indica que a operação de manutenção do anfitrião está em curso.

O que se segue?