Mi comprensión de Elastic Beanstalk es que cuando implementa una nueva versión de su aplicación, la implementa en las instancias Amazon EC2 de una en una (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 lo despliega, 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.Cómo evitar el tiempo de inactividad durante la implementación AWS Elastic Beanstalk de una nueva versión de la aplicació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).
Gracias, el entorno El intercambio de CNAME es exactamente lo que estaba buscando. – Peter
Probé esto en mi aplicación de producción y observé que incluso después de intercambiar CNAME y esperar a que expiraran los TTL de DNS, una parte considerable del tráfico seguía yendo al viejo entorno de beans. Sospecho que esto se debe a que los clientes se aferran al caché de DNS más de lo que deberían. Si no se puede confiar en que los clientes obedezcan los TTL, entonces esta técnica de intercambio de CNAME no parece ser una manera confiable de realizar implementaciones de ZDD con Beanstalk. –
@AaronIba Esa es una muy buena observación. ¿Pensaste en alguna forma alternativa?Estoy pensando en simplemente sobrescribir la versión de la aplicación existente y cerrar las instancias existentes manualmente (ASG debería aumentar las nuevas y extraer la versión actualizada de la aplicación). Pero ese es un proceso manual/lento/engorroso y se siente como un truco. –