Ejecutamos algún servidor web en AWS en un pequeño grupo de escalado automático (generalmente de 2 a 4 instancias). Su verificación de estado se basa en la verificación de estado de ELB, de modo que si uno de los servidores web deja de responder, será reemplazado por una nueva instancia.
Actualmente esto está funcionando bien. Si hay una interrupción, los servidores que no responden se cancelan y se activan otros nuevos para ocupar su lugar.
El problema es que actualmente no tenemos idea de por qué los servidores están cayendo. Tenemos algunas sospechas de algunos de los registros que tenemos, pero ya no podemos iniciar sesión en el servidor, revisar los registros web, los registros del sistema ni nada más.
Sé que hay una manera de separar instancias manualmente de un grupo de escalado automático, pero ¿hay alguna forma de hacerlo automáticamente en caso de falla?
Eso es lo que me gustaría que sucediera: que cuando un servidor falla, se deje en ejecución pero se elimine del grupo de escalado automático para que luego podamos analizarlo y ver qué salió mal. Una ventaja obvia sería limitar la frecuencia con la que esto podría ocurrir para que, si por alguna razón sigue ciclando los servidores, no terminemos con cientos de instancias separadas.
Entonces, ¿se puede hacer esto de alguna manera y, de ser así, cómo?
Respuesta1
Hay algunas formas de hacerlo.
Puede suspender la acción "terminar" en ASG -> Detalles -> Editar -> Suspender proceso -> "terminar". Ninguna máquina será cancelada.
También puede proteger una instancia específica desde ASG -> Instancias -> Acciones -> Protección de instancia.
Luego, hay formas de pensar en el cuadro, como expulsar la instancia del ASG cuando ocurre un evento.