Implementaciones Blue-Green (azul-verde) con Elastic Beanstalk - AWS Elastic Beanstalk

Implementaciones Blue-Green (azul-verde) con Elastic Beanstalk

Como AWS Elastic Beanstalk ejecuta una actualización in situ cuando se actualizan las versiones de la aplicación, las aplicaciones puede dejar de estar disponible para los usuarios durante un breve periodo de tiempo. Este tiempo de inactividad se puede evitar realizando una implementación "blue/green", donde la nueva versión se implementa en un entorno distinto y, a continuación, se intercambian los CNAME de los dos entornos para que el tráfico se direccione instantáneamente a la nueva versión.

Si desea actualizar un entorno a una versión de plataforma incompatible, también necesitará una implementación blue/green (azul/verde). Para obtener más información, consulte Actualización de la versión de la plataforma del entorno de Elastic Beanstalk.

Las implementaciones "blue/green" requieren que el entorno se ejecute con independencia de la base de datos, si es que la aplicación usa una. Si su entorno tiene una instancia de base de datos de Amazon RDS adjuntada, los datos no se transferirán al segundo entorno y se perderán cuando se termine el entorno original.

Para obtener más información sobre cómo configurar la aplicación para conectarse a una instancia de base de datos de Amazon RDS externa (no administrada por Elastic Beanstalk), consulte Uso de Elastic Beanstalk con Amazon RDS.

Para realizar una implementación "blue/green"

  1. Abra la consola de Elastic Beanstalk y, en la lista Regiones, seleccione su región de AWS.

  2. Clone el entorno actual o lance un nuevo entorno que ejecute la versión de la plataforma que desee.

  3. Implemente la nueva versión de la aplicación en el nuevo entorno.

  4. Pruebe la nueva versión en el nuevo entorno.

  5. En la página de información general del entorno, seleccione Acciones del entorno y, a continuación, seleccione Swap environment URLs (Intercambiar URL del entorno).

  6. En Environment name (Nombre del entorno), seleccione el entorno actual.

    
          Página Swap Environment URLs (Intercambiar direcciones URL de los entornos)
  7. Elija Swap.

Elastic Beanstalk intercambia los registros CNAME entre el entorno antiguo y el nuevo, lo que hace que el tráfico se direccione desde la versión anterior a la nueva, y viceversa.

Una vez que Elastic Beanstalk complete la operación de intercambio, asegúrese de que el nuevo entorno responde cuando intenta conectarse a la URL del antiguo entorno. Sin embargo, no termine el entorno antiguo hasta que los cambios de DNS se hayan propagado y los antiguos registros DNS hayan caducado. Los servidores DNS no borran necesariamente los registros antiguos de la caché en función del tiempo de vida (TTL) establecido en los registros DNS.