¿Cuál es la mejor manera de recordar detener sus instancias de AWS cuando no las está usando?

Conozco los siguientes enfoques para automatizar instancias en AWS :

  • Uso de Amazon CloudWatch: servicios de monitoreo de red y nube. En particular, puede usar CloudWatch para crear alarmas, que desencadenarán acciones en sus instancias, en función de algunas condiciones: Crear alarmas que detengan, terminen, reinicien o recuperen una instancia.
  • Usando AWS Lambda, que es un interesante paradigma de computación en la nube sin servidor. Consulte Automatización de tareas EC2 con AWS Lambda – Nimbo para ver algunos ejemplos.
  • Uso de AWS SDK para Python (también conocido como Boto3, una biblioteca de Python). Para un breve ejemplo, vea Boto: uso de Python para automatizar los servicios de AWS.
  • Uso de bibliotecas / SDK de AWS que no son de Python para la orquestación de AWS: AWS | Herramientas.
  • Usando AWS | Amazon Data Pipeline – Servicio de orquestación de flujo de trabajo de datos. Esta es una opción más factible si ya utiliza este servicio para flujos de trabajo de datos y / o necesita detener sus costosas instancias de GPU a intervalos programados, como por las noches y los fines de semana: detener e iniciar instancias de Amazon EC2.

Es humano olvidar detener sus instancias EC2.

Básicamente, debe realizar un seguimiento de sus instancias EC2 infrautilizadas de forma regular.

Para esto, puede utilizar plataformas como Botmetric que tienen experiencia en la gestión de costos en la nube de AWS y han ayudado a numerosos clientes globales a administrar y optimizar sus costos en la nube de manera eficiente para obtener el ROI máximo.

Botmetric verificará la utilización de la CPU, la E / S de red y la utilización de la memoria de todas sus instancias de EC2 en ejecución y proporcionará recomendaciones sobre las instancias de EC2 que se pueden degradar. Puede usar su criterio e incluso terminar las instancias si considera que la instancia recomendada ya no se usa.

También puede programar un informe para que se entregue a su correo electrónico con una lista de las instancias recomendadas de EC2.

En el Módulo de gobernanza de costos de Botmetric, hay una sección Optimizar en Guardar que tiene una auditoría EC2 no utilizada que puede ser de su interés.

Puede explorar todas las funciones de optimización de costos y gobierno en su versión de prueba para probar y ver los resultados usted mismo. Enlace de prueba gratuito: AWS y Microsoft Cloud (Azure) Services Management | Botmétrico

No te quedes ciego con mi sugerencia, ¡las reseñas auténticas son importantes! Lea sobre Botmetric en AWS Marketplace.

Aclamaciones.

Cuando inicia la instancia, puede hacer que ejecute automáticamente un comando “at” para apagarse después de un tiempo, en caso de que lo olvide.

Si desea que sea aún más elegante, puede hacer que verifique la salida de nvidia-smi y solo se apague si no hay actividad de GPU; de lo contrario, programe otra verificación.

Usar la línea de comandos en lugar de la GUI puede ayudarlo en esto.

Pero mi método principal para evitar Cloud Brawl es usar aplicaciones móviles de AWS. Normalmente pongo una alarma durante el tiempo libre de la oficina y detengo las instancias en un par de toques.

Examinar el costo hasta el día en el portal de la GUI tentará a tener cuidado con los servidores … 🙂

Este ingeniero provocado en mí.

Aquí hay un trazador de líneas.

am_i_logged_in = `w | grep “^ myusername” | wc -l`; if [“$ am_i_logged_in” == “0”]; entonces echo “desconectado”; echo “no conectado” | mailx -s “Detenga $ HOSTNAME” [correo electrónico protegido] ; de lo contrario echo “conectado”; fi

Reemplace el nombre de usuario y la identificación de correo electrónico en el comando anterior. Puede intentar ejecutar este comando en el shell de su máquina EC2. Envía un correo electrónico si no has iniciado sesión.

Pon la línea de arriba en crontab. es decir

* / 10 * * * *

Puede ahorrar considerables costos desactivando sus recursos cuando no son necesarios, pero es fácil olvidar hacerlo regularmente. Puede escribir scripts para automatizar el proceso, pero usar el software de programación AWS es ciertamente más fácil.