Encerra a instância do EC2 automaticamente na CPU e na rede ociosa

1

Gostaríamos de executar um C ++ demorado em uma Instância do Windows Server do AWS EC2 com 16 vCPUs. Devido ao alto custo, gostaríamos que essa instância - começar - execute a construção - quando a construção estiver concluída (ou parar devido a um erro), pare a instância

Eu considerei o uso de alarmes para essa finalidade, mas o processo de construção tem partes onde a CPU não é muito usada (por exemplo, upload de arquivos onde a rede é usada, mas quase nenhuma CPU) e alarmes não conseguem lidar com a CPU e tráfego de rede ( Operador AND está ausente).

Existe algum outro mecanismo que eu possa usar para detecção de ociosidade? De alguma forma, podemos alterar nossos scripts de construção para enviar mensagens (por exemplo, mensagens de rede) para a AWS.

    
por Paul 19.08.2016 / 13:29

1 resposta

1

Você está fazendo isso da maneira errada - como descobriu, executar tarefas de desligamento como essa com base na utilização de recursos não é a solução mais confiável.

Em vez disso, use um trabalho agendado do Lambda (ou um script cron executando em outro servidor em algum lugar) para detectar quando uma compilação é necessária e, em seguida, inicie o servidor. Em seguida, para o encerramento, atribua à instância uma função de instância com permissões para interromper a si mesma e, como uma última etapa do processo de criação, a instância pode usar a API da AWS para se desligar.

    
por 19.08.2016 / 13:47