amazon-ec2 - tipo - us east virginia aws




┬┐Amazon EC2 se autocalcula con un apagado elegante? (2)

A mediados de 2014, AWS introdujo 'ganchos de ciclo de vida' que permiten el control total del proceso de terminación.

Nuestro proceso de baja escala de alto nivel es:

  • Auto Scaling envía un mensaje a una cola SQS con una ID de instancia
  • La aplicación del controlador recoge el mensaje
  • La aplicación del controlador emite una solicitud 'detener instancia'
  • La aplicación del controlador vuelve a poner en cola el mensaje SQS mientras la instancia se detiene
  • La aplicación del controlador recupera el mensaje nuevamente, verifica si la instancia se ha detenido (o vuelve a poner en cola el mensaje para intentarlo más tarde)
  • La aplicación del controlador notifica Escala automática a 'PROCEDER' con la terminación
  • La aplicación del controlador borra el mensaje de la cola SQS

Más detalles: http://docs.aws.amazon.com/autoscaling/latest/userguide/lifecycle-hooks.html

Estamos estudiando el uso del autoescalado EC2 para lidiar con los picos de carga. En nuestro caso, queremos ampliar las instancias en función de un tamaño de cola SQS y, a continuación, reducir la escala con el tamaño de la cola bajo control. Cada mensaje de SQS define un trabajo potencialmente de larga duración (a veces hasta 20 minutos cada uno para el mensaje) que debe completarse antes de que la instancia pueda finalizar.

Nuestro software maneja el proceso de cierre sudo service ourapp stop , por lo que emitir sudo service ourapp stop esperará a que la aplicación se complete antes de volver.

Mi pregunta; cuando la escalada automática comienza a reducirse, emite una terminación (que aparentemente es como presionar el botón de encendido), ¿esperará a que nuestra aplicación salga por completo antes de que la instancia se "apague"?

https://forums.aws.amazon.com/message.jspa?messageID=180674 <- eso y otras cosas que he encontrado parecen sugerir que no


En la mayoría de las AMI más nuevas, a las máquinas se les da el equivalente a un comando 'detener' (o 'apagar-ahora' para que los servicios se cierren correctamente. Siempre que su programa funcione bien con los scripts de inicio / apagado, debe estar bien, pero, si su programa tarda más de 20 segundos en terminar, puede experimentar que Amazon matará la instancia por completo.

La documentation de Amazon con respecto a su autoescalado no especifica el proceso de terminación, pero la documentation de AWS para ec2 en general contiene lo que sucede durante el proceso de terminación, que a las máquinas se les da un comando de 'apagado' y el tiempo de apagado predeterminado en la mayoría de los sistemas es de 30 segundos.





autoscaling