deployment - sirve - ¿Cómo evitar el tiempo de inactividad durante la implementación de AWS Elastic Beanstalk de una nueva versión de la aplicación?
para que sirve elastic beanstalk (2)
Mi comprensión de Elastic Beanstalk es que cuando implementa una nueva versión de su aplicación, la implementa en las instancias de Amazon EC2 de a una por vez (si tiene más de una). Sin embargo, incluso con un mínimo de dos instancias, mi aplicación incurre en una breve cantidad de tiempo de inactividad cuando cargo un nuevo .war
cuando se está implementando, como si estuviera actualizando ambos simultáneamente. ¿Existe alguna manera de asegurarme de que no haya tiempo de inactividad y de que una instancia esté completamente actualizada y acepte las solicitudes antes de que comience el siguiente? Así es como se ven los eventos. Tenga en cuenta que esto es con carga cero en la aplicación, por lo que solo empeorará con el tráfico de producción.
INFO
Environment update completed successfully.
INFO
New application version was deployed to running EC2 instances.
ERROR
The application did not respond at the health check URL.
INFO
Waiting for 8 seconds while EC2 instances download the updated application version.
INFO
Deploying version SomethingMore to 2 instance(s).
Para lograr este objetivo en Elastic Beanstalk , deberá expandir su procedimiento de implementación para facilitar entornos múltiples (consulte AWS Elastic Beanstalk Components ):
Un entorno es una versión que se implementa en los recursos de AWS. Cada entorno solo ejecuta una única versión, sin embargo , puede ejecutar la misma versión o diferentes versiones en muchos entornos al mismo tiempo . [...] Para obtener más información sobre el entorno y los recursos que se crean, consulte la Descripción general de la arquitectura . [énfasis mío]
Esta función es útil para probar / depurar versiones separadas, pero específicamente también permite el intercambio en caliente de entornos, ver Implementación de versiones con cero tiempo de inactividad para un tutorial respectivo:
Dado que AWS Elastic Beanstalk realiza una actualización in situ al actualizar las versiones de la aplicación, experimentará algún tiempo de inactividad. Sin embargo, es posible evitar este tiempo de inactividad intercambiando los CNAME por sus entornos . En esta sección, se explica cómo realizar un intercambio CNAME utilizando la consola de administración de AWS, la interfaz de línea de comando o las API. [énfasis mío]
Sé que esta es una vieja pregunta, pero para la gente que usa Google (como yo), Elastic Beanstalk lanzó implementaciones de versiones de aplicaciones móviles hoy (02/11/2014).
Esto le permite actualizar parte de su flota con su nueva aplicación a la vez, asegurando que siempre haya hosts disponibles para tomar el tráfico.