Como iniciar/parar automaticamente uma instância (VM) com base em algum evento/gatilho no Google Cloud?

Como iniciar/parar automaticamente uma instância (VM) com base em algum evento/gatilho no Google Cloud?

Estamos empregando uma instância de GPU no Google Cloud para executar um serviço relacionado ao aprendizado de máquina. A nuvem do Google tem planos de manutenção não programada para suas instâncias de GPU. Antes de a instância ser desativada para manutenção, a API do Google Cloud enviaria uma notificação para essa instância 1 hora antes de ela ser desativada.

Suponha que a instância da GPU seja chamada de "vm1". Queremos ativar uma instância de GPU de backup, "vm1-duplicate", assim que "vm1" receber o aviso de que passará por manutenção posteriormente, para que o serviço aos nossos clientes seja afetados por esta manutenção. E assim que a manutenção em “vm1” for concluída, pare “vm1-duplicate” para que não haja custos extras.

Existe uma maneira elegante no Google Cloud de programar uma inicialização/parada automática de VM com base em algumas condições/gatilhos/eventos?

Responder1

Solução super rápida: instale o gcloud no vm (já deve estar lá), crie uma conta de serviço [1], crie um pequeno script de shell e execute-o no cron a cada 15/30 minutos.

O script monitorará o endpoint http do evento [2] e irá gerar uma nova VM de dentro da sua VM por meio da linha gcloud cmd. Pare a reinicialização automática e simplesmente mantenha a nova VM instalada e funcionando.

Se funcionar, considere derivar sua própria imagem com o script já instalado e o cron configurado. Então o reaparecimento será mais fácil.

[1] não é obrigatório, apenas para evitar colocar suas credenciais na VM

[2]https://cloud.google.com/compute/docs/gpus/gpu-host-maintenance

informação relacionada