A partir de enero de 2013, Amazon CloudWatch ofrece una opción para usar Amazon CloudWatch para detectar y apagar instancias Amazon EC2 no utilizadas; consulte la publicación introductoria del blog Amazon CloudWatch:acciones de alarma para obtener detalles sobre esta funcionalidad:
Hoy te damos la posibilidad de detener o finalice sus instancias EC2 cuando se active una alarma de CloudWatch . Puede usar esto como un mecanismo de seguridad (detectar una condición anormal y luego actuar) o como parte de la lógica de procesamiento de su aplicación (esperar una condición esperada y luego actuar). [énfasis mío]
Su caso de uso aparece en la sección Ideas a prueba de fallas específicamente:
Si usted (o sus desarrolladores) son olvidadizos, puede detectar las instancias EC2 no utilizadas y apagarlas. Puede hacer esto detectando un promedio de carga muy bajo durante un período de tiempo prolongado. Este tipo de protección contra fallas podría usarse para reducir su factura de AWS asegurándose de que no está pagando por recursos que en realidad no está utilizando.
Como se describió, esto depende de poder detectar heurísticamente la condición adecuada que activa la alarma y detiene la instancia; puede llevarlo al siguiente nivel mediante la publicación de métricas personalizadas en CloudWatch según el recuento de usuarios de SSH registrados, el tiempo de inactividad o más y obtenga más control/precisión para el proceso de detección y apagado deseado a su vez.
Podría crear un script de trabajo cron directamente en la instancia misma que usa un comando como
netstat | grep ssh | grep ESTABLISHED
y si no se devuelve ningún resultado, escríbalo en el archivo, luego el cron lo intenta de nuevo y si no devuelve ningún resultado, el script ejecuta esto.
/sbin/shutdown -h now
Si todo lo que busca es mantener el servidor funcionando mientras está conectado y su sesión inactiva por menos de n
unidades de tiempo, puede hacerlo a través de un script cron que mencionó, al monitorear la salida de w(1)
que informa IDLE
tiempo para el usuario que ha iniciado sesión, que puede utilizar.