Existem algumas maneiras de abordar a exclusão de recursos não utilizados, talvez etiquetando itens que fazem parte de algum grupo confiável ou conhecido, como alguns sugeriram aqui e, em seguida, monitorando manualmente os recursos que não estão identificados adequadamente.
Você pode estender isso para um script python que é executado de vez em quando para identificar e excluir esses recursos.
No entanto, existem outras opções (potencialmente menos intensivas).
1) A AWS já fornece uma maneira de monitorar nossos recursos, identificar os não utilizados e encerrá- los com alarmes do CloudWatch . Você pode começar configurando alguns alarmes com base em algum conjunto de verificações que você já pode estar fazendo manualmente. Quando estiver satisfeito com a precisão do alarme, você poderá adicionar uma etapa de terminação à cadeia.
2) Como alternativa, nossos amigos da Netflix criaram essa ferramenta divertida chamada JanitorMonkey para monitorar e excluir grupos não utilizados de Instâncias, Volumes do EBS, Instantâneos do EBS e Escalonamento automático. Faz parte do chamado pacote de código aberto "Exército Simian" original da Netflix e escrito em Java. Mesmo que tenha alguns anos agora, essa coisa é altamente configurável e vale a pena dar uma olhada.
Ambas as opções aqui permitem configurar avisos e regras de negócios que atendem às suas necessidades. Além disso, o uso do CloudWatch também pode ser uma boa oportunidade para aprender mais sobre os logs da AWS e a identificação de anomalias.