He estado usando AWS por un tiempo ahora. Siempre tengo la dificultad de rastrear los recursos de AWS y cómo están interconectados. Obviamente, estoy usando Terraform, pero aun así, siempre hay operaciones ad-hoc que reducen mi visibilidad.
Dado que me han cobrado varias veces por recursos/servicios que están presentes pero que no uso.
Los servicios no utilizados incluyen recursos que no apuntan a otros servicios pero que están presentes en el entorno de AWS.
Las sugerencias de herramientas también son bienvenidas.
También, publicado en DevOps . Publicando aquí ya que hay menos gente allí.
He usado Janitor Monkey , Cloud Custodian y tenemos un montón de AWS Config + Lambda para limpiar.
Janitor Monkey determina si un recurso debe ser un candidato de limpieza al aplicarle un conjunto de reglas. Si alguna de las reglas determina que el recurso es un candidato de limpieza, Janitor Monkey marca el recurso y programa una hora para limpiarlo.
Creo que una respuesta viable aquí es la misma que la respuesta popular sobre cuándo escalar automáticamente : usar alarmas de CloudWatch .
Siempre que tenga un servicio que necesite escalar automáticamente, haga algo como monitorear la CPU alta . Si el uso de la CPU supera algún umbral, la alarma se puede configurar para ampliar su flota. En consecuencia, si el uso de la CPU cae por debajo de cierto umbral, la alarma se puede configurar para reducir la flota. Se pueden configurar alarmas similares a otras alertas como memoria, uso de disco , etc.
Por lo tanto, en lugar de configurar las alarmas de CloudWatch para ampliar o reducir su flota, puede configurar una alarma de CloudWatch para que le envíe un correo electrónico cuando un host esté inactivo (por ejemplo , el uso de la CPU es demasiado bajo ).
Similar a Janitor Monkey, he creado una herramienta para rastrear diferentes tipos de recursos no utilizados (ELB, EBS, AMI, grupos de seguridad, etc.): https://github.com/romibuzi/majordome