A manutenção em todas as instâncias da máquina virtual (VM) é determinada pela política de manutenção do host selecionada ao criar as VMs. Algumas VMs oferecem a opção extra de visualizar a programação de manutenção da VM com antecedência.
Nesta página, explicamos como monitorar e planejar um evento de manutenção do host em VMs do Compute Engine. Para visualizar a programação de manutenção de uma VM, ela precisa executar um tipo de máquina de uma das seguintes famílias:
- VMs C3 de uso geral
- VMs C3D de uso geral
- VMs Z3 com otimização de armazenamento
- VMs M1, M2, M3 com otimização de memória
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 da seguinte maneira.
Selecione a guia para como planeja usar as amostras nesta página:
Console
Quando você usa o console do Google Cloud para acessar os serviços e as APIs do Google Cloud, não é necessário configurar a autenticação.
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.
Monitorar notificações de manutenção
O Google usa vários métodos para enviar notificações sobre manutenção futura da VM. Para encontrar as notificações, consulte suas VMs, o servidor de metadados ou o Cloud Logging. Quando a janela de manutenção programada abre, o Google Cloud realiza a manutenção automaticamente na sua VM. Ao monitorar as janelas de manutenção programada da VM, é possível preparar proativamente suas cargas de trabalho para lidar com a manutenção futura com o mínimo de interrupção.
As VMs com notificações de evento de manutenção têm as seguintes características:
- Menos eventos de manutenção: em geral, as VMs com intervalos de manutenção recorrentes precisam ter menos eventos de manutenção.
- Notificação de manutenção mais longa: receba notificações sobre eventos de manutenção planejados com bastante antecedência para fins de planejamento.
- Monitoramento e planejamento: use o Cloud Logging para acompanhar sua programação de manutenção. Use incidentes e alertas para ficar por dentro.
Controle de manutenção sob demanda: inicie a manutenção durante o período de notificação para atualizar as VMs quando for adequado ao seu planejamento.
Verificar se há notificações de evento de manutenção nas VMs
Use o CLI do Google Cloud, o método REST ou o servidor de metadados para ver se há eventos de manutenção futura da VM.
gcloud
Para ver a janela de manutenção futura de uma VM, use o comando gcloud compute instances describe
. É necessário incluir o --zone=[ZONE_NAME]
.
gcloud compute instances describe VM_NAME \ --zone=ZONE
Substitua:
VM_NAME
: o nome da VM.ZONE
: a zona onde a VM reside.
A resposta será assim:
upcomingMaintenance:{
"canReschedule":True
"latestWindowStartTime": "2023-12-01T19:00:01Z"
"maintenanceStatus":"PENDING"
"type":"SCHEDULED"
"windowEndTime": "2023-12-01T22:00:00Z"
"windowStartTime": "2023-12-01T19:00:00Z"
}
Nessa resposta, canReschedule
é definido como True
e maintenanceStatus
é definido como PENDING
. A manutenção está programada para a data e a hora exibidas. Essas configurações indicam que é possível acionar manualmente esse evento com antecedência.
REST
Para ver se há manutenção futura para uma VM, execute o comando instances.get
:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/VM_NAME
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":True
"latestWindowStartTime": "2023-12-01T19:00:01Z"
"maintenanceStatus":"PENDING"
"type":"SCHEDULED"
"windowEndTime": "2023-12-01T22:00:00Z"
"windowStartTime": "2023-12-01T19:00:00Z"
}
Nessa resposta, canReschedule
é definido como TRUE
e maintenanceStatus
é definido como PENDING
. A manutenção está programada para a data e a hora exibidas.
Servidor de metadados
No SO convidado, consulte o servidor de metadados para ver o próximo evento de manutenção.
$ curl http://metada.google.internal/computeMetadata/v1/instance/upcoming-maintenance?alt=json -H "Metadata-Flavor: Google"
Verificar se há notificações de evento de manutenção no Cloud Logging
O Google envia uma notificação para o Cloud Logging antes da manutenção da VM. O Cloud Logging gera um evento do sistema na Análise de registros.
A manutenção programada da VM aparece no Cloud Logging como: compute.instances.upcomingMaintenance
.
Dependendo da configuração da VM, o Cloud Logging exibe o evento da seguinte maneira:
- Para VMs configuradas para usar a migração em tempo real para manutenção, o evento é exibido com o nome do método:
compute.instances.migrateOnHostMaintenance
. - Para VMs configuradas para usar as opções "Encerrar" e "Reinicialização automática" para manutenção, o evento é exibido com o nome do método:
compute.instances.terminateOnHostMaintenance
.
Se a VM estiver configurada para usar a migração em tempo real, após a conclusão da manutenção, compute.instances.upcomingMaintenance
será exibido, indicando que a notificação foi apagada.
Pode ser útil configurar alertas para receber notificações de manutenção. Para saber mais, leia Configurar alertas com base em registros e Criar e gerenciar canais de notificação.
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 definir uma política de manutenção do host da VM.
- Saiba como receber avisos de migração em tempo real.
- Saiba como acionar um evento de manutenção do host manualmente.
- Saiba como criar um alerta baseado em registros no Cloud Logging.