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.