Em janeiro de 2013, o Amazon CloudWatch oferece uma opção para Use o Amazon CloudWatch para detectar e desligar não utilizados Instâncias do Amazon EC2 , consulte a postagem no blog introdutório Amazon CloudWatch - Ações de alarme para detalhes sobre essa funcionalidade:
Today we are giving you the ability to stop or terminate your EC2 instances when a CloudWatch alarm is triggered. You can use this as a failsafe (detect an abnormal condition and then act) or as part of your application's processing logic (await an expected condition and then act). [emphasis mine]
Seu caso de uso está listado na seção Idéias à prova de falhas especificamente:
If you (or your developers) are forgetful, you can detect unused EC2 instances and shut them down. You could do this by detecting a very low load average for an extended period of time. This type of failsafe could be used to reduce your AWS bill by making sure that you are not paying for resources you're not actually using.
Como descrito, isso depende de ser capaz de detectar heuristicamente a condição apropriada ao acionar o alarme e parar a instância - você pode levá-lo ao próximo nível por meio de Publicação de métricas personalizadas para o CloudWatch com base na contagem de usuários SSH conectados, em tempo ocioso ou outro, e ganhe mais controle / precisão para o processo de detecção e encerramento desejado por sua vez.