¿Cómo rastrear los recursos no utilizados en AWS?

8

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 aún así, siempre hay operaciones ad-hoc que reducen mi visibilidad.

Dado que me han cobrado varias veces por los recursos / servicios que están presentes pero que yo no uso.

Los servicios no utilizados incluyen recursos que no apuntan a otros servicios pero están presentes en el entorno de AWS.

Las sugerencias de herramientas también son bienvenidas.

Veer Abheek Singh Manhas
fuente
2
No está claro qué quiere decir con recursos no utilizados. ¿Te refieres a los recursos que se detienen (es decir, no se utilizan)? ¿Recursos que se ejecutan pero no realizan las operaciones que necesita? ¿Un volumen EBS activo no asociado con ninguna instancia EC2 o un ELB que no apunta a ninguna instancia?
PrestonM
Sugeriría usar Cloudyn aquí, ya que está hecho para lo que estás buscando.
Alok Singh
@PrestonM Me refiero a ambos. Principalmente a los ELB que no apuntan a ninguna instancia, sino también a los recursos que se detienen.
Veer Abheek Singh Manhas

Respuestas:

5

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.

llorrac
fuente
El mono conserje parece estar retirado.
silverdagger
3

Creé dicha herramienta, se llama AWS Inventory y, con el tiempo, cubrirá todos los recursos disponibles en su cuenta. Si bien todavía es un trabajo en progreso, debería ser muy fácil agregar los elementos que puede faltar simplemente agregando el nombre de la API a una lista.

La herramienta es solo un archivo HTML único que se utiliza aws-sdk.jspara consultar todas las API diferentes list...y describe...API de los servicios habilitados para CORS.

El proyecto tiene licencia MIT y código abierto en https://github.com/devops-israel/aws-inventory .

Evgeny
fuente
3

Si desea hacerlo únicamente con las herramientas proporcionadas por AWS, intente esto:

  1. averiguar un esquema de etiquetado que funcione para usted
  2. etiquete todos los recursos que aprovisione, asegúrese de que no quede nada sin etiquetar
  3. para las cosas que aprovisione fuera de la terraforma y no siempre estén etiquetadas correctamente por su esquema de etiquetado, use el servicio de configuración de AWS para aplicar el esquema de etiquetado

Una vez que haya etiquetado todos sus recursos, use los Presupuestos de AWS para monitorear y rastrear los cambios en sus gastos y recibir alertas cuando crucen el umbral presupuestario que defina.

También, crear y revisar periódicamente algunos informes dentro de la AWS Costos Explorer para encontrar los cambios diarios en la región de gasto / inversión en el servicio / etc .

El uso de un esquema de etiquetado estricto y significativo ayuda a mantener una cuenta saludable con menos dinero desperdiciado.

tolib
fuente
El problema con el etiquetado es. Tienes que hacerlo para todo lo que necesitas. Obviamente, tengo mis etiquetas críticas presentes. De vez en cuando surge algo nuevo y tengo que cambiar el esquema de etiquetado a medida que cambian los KPI. No es realmente una solución escalable.
Veer Abheek Singh Manhas
2
si automatiza todo su etiquetado, eche un vistazo a graffiti-monkey / herramientas similares que ayudan a implementar etiquetas / aseguran un esquema de etiquetado
tolib
2

Esa sería una forma de hacerlo, utilizando solo la consola de AWS.

He estado usando TotalCloud para muchas otras cosas, pero esto es muy fácil en la plataforma. Parece ser gratis por ahora. Lo he estado usando con dos grandes cuentas de AWS durante 3 meses.

Muestra todo en una sola vista con una vista topológica visual que hace que sea bastante fácil entender las relaciones entre recursos / servicios. La agrupación definitivamente puede ayudarlo a encontrar los recursos según sea necesario.

xachela
fuente
Lo intenté, bastante horrible.
Evgeny
@Evgeny Mind agrega por qué? Parece una recomendación brillante arriba, y la respuesta ha sido generosa, por lo que sería útil ver por qué no funcionó para usted ayudar a otros a tomar una decisión informada.
Tim Malone
El "por qué" es que es un software de muy baja calidad. Horriblemente roto. Mucho peor que la consola de AWS. Intentar "ver" lo que realmente tiene en AWS basado en el uso de este software es un ejercicio inútil. Lo sentimos, algunos programas simplemente no son buenos.
Evgeny