Hay algunas maneras de abordar la eliminación de recursos no utilizados, tal vez etiquetar elementos que son parte de algún grupo confiable o conocido, como algunos han sugerido aquí y luego monitorear manualmente los recursos que no están etiquetados adecuadamente.
Luego, puede extender esto a un script de Python que ejecuta de vez en cuando para identificar y eliminar estos recursos.
Sin embargo, hay otras opciones (potencialmente menos intensivas).
1) AWS ya nos proporciona una forma de monitorear nuestros recursos, identificar los que no se utilizan y terminarlos con alarmas de CloudWatch . Puede comenzar configurando algunas alarmas basadas en algún conjunto de comprobaciones que quizás ya esté haciendo manualmente. Una vez que esté seguro de que la alarma es precisa, puede agregar un paso de terminación a la cadena.
2) Alternativamente, nuestros amigos de Netflix crearon esta herramienta de relajación llamada JanitorMonkey para monitorear y eliminar instancias no utilizadas, volúmenes EBS, instantáneas EBS y grupos de autoescalado. Es parte del paquete original de código abierto llamado "Ejército Simian" de Netflix y está escrito en Java. Aunque ahora tiene unos años, esta cosa es altamente configurable y vale la pena echarle un vistazo.
Ambas opciones aquí le permiten configurar advertencias y reglas comerciales que se adaptan a sus necesidades. Además, usar CloudWatch también podría ser una buena oportunidad para aprender más sobre los registros de AWS y la identificación de anomalías.