Nesta página, explicamos como acionar um evento de manutenção do host em instâncias específicas da família de VMs. Esse recurso permite iniciar manualmente um evento de manutenção para controlar o tempo da manutenção da sua VM. Isso é útil para cargas de trabalho que podem ser afetadas por uma janela de manutenção específica.
É possível acionar manualmente um evento de manutenção para começar imediatamente. Não é possível acionar um evento em uma data ou hora específica. Se você não usar esse recurso, o evento de manutenção ocorrerá conforme programado.
Limitações
O acionamento de um evento de manutenção do host da VM é limitado aos tipos de máquina de VM a seguir:
- Máquinas C3 padrão, high-mem e com grande quantidade de CPUs (em inglês) inteiro do host com 176 vCPUs.
- VMs C3 com SSD local
- Máquinas com grande quantidade de CPU, alta memória e padrão C3D com 360 vCPUs de host inteiro
- VMs C3D com SSD local
- Máquinas Z3 de alta memória com 176 vCPUs
- As seguintes máquinas M1, M2 e M3 com otimização de memória:
- m3-ultramem-128
- m3-megamem-128
- m2-ultramem-416
- m2-megamem-416
- m2-hypermem-416
- m1-ultramem-160
- m1-megamem-96
Antes de começar
- A inicialização manual da manutenção da VM só está disponível nas VMs C3, C3D e Z3. Se você estiver usando VMs de outras famílias de máquinas, leia o documento Definir política de manutenção do host.
-
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 da seguinte maneira.
Selecione a guia para como planeja usar as amostras nesta página:
gcloud
-
Instale a Google Cloud CLI e inicialize-a executando o seguinte comando:
gcloud init
- Defina uma região e uma zona padrão.
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.
Instale a Google Cloud CLI e inicialize-a executando o seguinte comando:
gcloud init
-
Papéis obrigatórios
Para receber as permissões necessárias a fim de criar VMs e gerenciar a manutenção delas,
peça ao administrador para conceder a você
o papel do IAM de Administrador da instância do Compute (v1) (roles/compute.instanceAdmin.v1
) no projeto.
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
Esse papel predefinido contém as permissões necessárias para criar VMs e gerenciar a manutenção delas. 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 criar VMs e gerenciar a manutenção delas:
-
Para receber informações sobre uma VM:
compute.instances.get
-
Para criar uma VM:
compute.instances.create
Essas permissões também podem ser concedidas com papéis personalizados ou outros papéis predefinidos.
Acionar evento de manutenção do host
O Google envia notificações sobre a próxima manutenção da VM usando vários métodos. É possível encontrar as notificações consultando suas VMs, o servidor de metadados ou o Cloud Logging.
Depois de receber uma notificação sobre um evento de manutenção do host, você tem a opção de acionar a manutenção imediatamente ou aguardar que ela ocorra conforme programado.
Iniciar o evento de manutenção
É possível iniciar a manutenção da VM imediatamente em vez de aguardar o horário programado. Use a CLI do Google Cloud ou o método REST para acionar a manutenção da VM imediatamente.
Se não houver notificação e você tentar acionar 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.
gcloud
Para iniciar a manutenção imediatamente, use o
comando
gcloud compute instances perform-maintenance
. É necessário incluir o --zone=[ZONE_NAME]
.
gcloud compute instances perform-maintenance VM_NAME \ --zone=ZONE
Substitua:
VM_NAME
: o nome da VM.ZONE
: a zona em que a VM reside.
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, maintenanceStatus
é definido como ONGOING
. A manutenção está
em andamento.
REST
Para acionar a manutenção da VM, execute o
comando instances.performMaintenance
:
POST: https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/VM_NAME/performMaintenance
Substitua:
PROJECT_NAME
: o nome do projeto.ZONE
: a zona onde a VM reside.VM_NAME
: o nome da VM.
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, maintenanceStatus
é definido como ONGOING
. A manutenção está
em andamento.
Definições do status de manutenção
As definições de status a seguir explicam as respostas a uma consulta de manutenção da VM. Elas contêm informações relacionadas à manutenção da VM. A CLI do Google Cloud, a REST e o servidor de metadados usam essas mesmas respostas:
- windowStartTime: o início da janela de tempo em que a manutenção ocorre
- windowEndTime: o fim da janela de tempo em que a manutenção ocorre
- latestWindowStartTime: o primeiro horário para o qual a janela pode ser movida
- maintenanceType: o tipo de manutenção a ser realizada
- NONE: nenhuma manutenção está programada para essa VM
- SCHEDULED: haverá um aviso sobre a manutenção com sete dias de antecedência
- UNSCHEDULED: a manutenção representa atualizações críticas com muito menos avisos
- canReschedule: se a manutenção pode ser acionada durante o período de notificação dessa VM
- TRUE: a manutenção acionada pelo cliente pode ser realizada durante o período de notificação
- FALSE: não é possível realizar a manutenção acionada pelo cliente nessa VM. Isso geralmente ocorre durante o período em que a VM está em manutenção
- maintenanceStatus: o status da operação de manutenção atual
- ONGOING: a operação de manutenção está em andamento
- PENDING: a operação de manutenção está programada, mas ainda não foi iniciada
Comportamentos do status de manutenção
Enquanto você gerencia a programação de manutenção, verifique o status de canReschedule=
e maintenanceStatus=
. Essas combinações de resposta descrevem o comportamento esperado dos recursos e mostram uma das combinações de status a seguir:
- Se
canReschedule=Yes
emaintenanceStatus=Pending
, é possível acionar a manutenção na VM. - Se
canReschedule=No
emaintenanceStatus=Ongoing
, a manutenção já está em andamento. - Se
canReschedule=No
emaintenanceStatus=Pending
, a VM não é compatível com a manutenção acionada manualmente.
A seguir
- Saiba como simular um evento de manutenção do host.
- Saiba como receber avisos de migração em tempo real.
- Saiba como criar um alerta baseado em registros no Cloud Logging.