Descripción general de las implementaciones azul/verde de Amazon Aurora - Amazon Aurora

Descripción general de las implementaciones azul/verde de Amazon Aurora

Con las implementaciones azul/verde de Amazon Aurora, puede realizar y probar cambios en las bases de datos antes de implementarlas en un entorno de producción. Una implementación azul/verde crea un área de almacenamiento provisional que copia el entorno de producción. En una implementación azul/verde, el entorno azul es el entorno de producción actual. El entorno verde es el entorno provisional y está sincronizado con el entorno de producción actual.

Puede realizar cambios en el clúster de base de datos de Aurora en un entorno verde sin que eso afecte a las cargas de trabajo de producción. Por ejemplo, puede actualizar la versión principal o secundaria del motor de base de datos o cambiar los parámetros de la base de datos en el entorno de almacenamiento provisional. Puede probar exhaustivamente los cambios en el entorno verde. Cuando esté todo listo, puede realizar una transición a los entornos para hacer que el entorno verde sea el nuevo entorno de producción. La conmutación suele tardar menos de un minuto sin que se produzca una pérdida de datos y sin la necesidad de realizar cambios en la aplicación.

Como el entorno verde es una copia de la topología del entorno de producción, el clúster de base de datos y todas sus instancias de base de datos se copian en la implementación. El entorno verde también incluye las características que utiliza el clúster de base de datos, como las instantáneas del clúster de base de datos, Información sobre rendimiento, monitorización mejorada yAurora Serverless v2.

nota

Las implementaciones azul/verde son compatibles con Aurora MySQL y Aurora PostgreSQL. Para conocer la disponibilidad de Amazon RDS, consulte Descripción general de las implementaciones azul/verde de Amazon RDS para Aurora en la Guía del usuario de Amazon RDS.

Disponibilidad en regiones y versiones

La disponibilidad de las características varía según las versiones específicas de cada motor de base de datos y entre Regiones de AWS. Para obtener más información, consulte Regiones y motores de base de datos de Aurora admitidos para implementaciones azul/verde.

Ventajas de utilizar las implementaciones azul/verde de Amazon RDS

Al utilizar las implementaciones azul/verde de Amazon RDS, puede mantenerse al día con los parches de seguridad, mejorar el rendimiento de las bases de datos y adoptar nuevas características de bases de datos con un tiempo de inactividad breve y predecible. Las implementaciones azules y verdes reducen los riesgos y el tiempo de inactividad de las actualizaciones de las bases de datos, como las actualizaciones principales o secundarias de las versiones del motor.

Las implementaciones azul/verde ofrecen los siguientes beneficios:

  • Cree fácilmente un entorno de almacenamiento provisional listo para la producción.

  • Replique automáticamente los cambios de la base de datos del entorno de producción al entorno de almacenamiento provisional.

  • Pruebe los cambios en la base de datos en un entorno de almacenamiento provisional seguro sin que eso afecte al entorno de producción.

  • Manténgase al día con los parches de las bases de datos y las actualizaciones del sistema.

  • Implemente y pruebe las características más recientes de las bases de datos.

  • Conmute su entorno de almacenamiento provisional para convertirlo en el nuevo entorno de producción sin cambios en la aplicación.

  • Cambie de forma segura mediante el uso de barreras de protección de conmutaciones integradas.

  • Elimine la pérdida de datos durante la conmutación.

  • Conmutar rápidamente, normalmente en menos de un minuto, según su carga de trabajo.

Flujo de trabajo de una implementación azul/verde

Realice los siguientes pasos principales cuando utilice una implementación azul/verde para las actualizaciones del clúster de base de datos de Aurora.

  1. Identifique un clúster de base de datos de producción que requiera actualizaciones.

    En la imagen siguiente, se muestra un ejemplo de un clúster de base de datos de producción.

    Clúster de base de datos de Aurora (azul) en una implementación azul/verde
  2. Cree la implementación azul/verde. Para obtener instrucciones, consulte Creación de una implementación azul/verde en Amazon Aurora.

    La siguiente imagen muestra un ejemplo de una implementación azul/verde del entorno de producción del paso 1. Al crear la implementación azul/verde, RDS copia la topología y la configuración completas del clúster de base de datos de Aurora para crear el entorno verde. Los nombres del clúster de base de datos copiado y de las instancias de base de datos se adjuntan con -green-random-characters. El entorno de almacenamiento provisional de la imagen contiene el clúster de base de datos (auroradb-green-abc123). También contiene las tres instancias de base de datos del clúster de base de datos (auroradb-instance1-green-abc123, auroradb-instance2-green-abc123 y auroradb-instance3-green-abc123).

    Implementación azul/verde para Amazon Aurora

    Al crear la implementación azul/verde, puede actualizar la versión más alta del motor de base de datos y un grupo de parámetros de base de datos diferente para el clúster de base de datos del entorno verde. También puede especificar un grupo de parámetros de base de datos diferente para las instancias de base de datos del clúster de base de datos.

    RDS también configura la replicación desde la instancia de base de datos principal en el entorno azul hasta la instancia de base de datos principal en el entorno verde.

    importante

    En la versión 3 de Aurora MySQL, tras crear la implementación azul/verde, el clúster de base de datos del entorno verde no permite las operaciones de escritura de forma predeterminada. Sin embargo, esto no se aplica a los usuarios que tienen el privilegio CONNECTION_ADMIN, incluido el usuario maestro de Aurora. Los usuarios con este privilegio pueden anular el comportamiento de read_only. Para obtener más información, consulte Modelo de privilegios basado en roles.

  3. Realice cambios en el entorno de almacenamiento provisional.

    Por ejemplo, puede realizar cambios de esquema en la base de datos o cambiar la clase de instancia de base de datos que utilizan una o más instancias de base de datos en el entorno verde.

    Para obtener más información acerca de la modificación de un clúster de bases de datos, consulte Modificación de un clúster de base de datos de Amazon Aurora.

  4. Ponga a prueba su entorno de almacenamiento temporal.

    Durante las pruebas, le recomendamos que mantenga como solo lectura las bases de datos de un entorno verde. Habilite las operaciones de escritura en el entorno verde con precaución, ya que pueden provocar conflictos de replicación. También pueden generar datos no deseados en las bases de datos de producción después de la conmutación. Para habilitar las operaciones de escritura en Aurora MySQL, ponga el parámetro read_only en 0 y reinicie la instancia de base de datos. En el caso de Aurora PostgreSQL, ponga el parámetro default_transaction_read_only en off en el nivel de sesión.

  5. Cuando esté todo listo, realice una transición para hacer que el entorno de almacenamiento provisional sea el nuevo entorno de producción. Para obtener instrucciones, consulte Cambio de una implementación azul/verde en Amazon Aurora.

    La conmutación provoca un tiempo de inactividad. El tiempo de inactividad suele ser inferior a un minuto, pero puede prolongarse en función de la carga de trabajo.

    En la imagen siguiente, se muestran los clústeres de base de datos después de la conmutación.

    Clúster de base de datos e instancias de base de datos después de cambiar a una implementación azul/verde de Amazon Aurora

    Tras la conmutación, el clúster de base de datos de Aurora en el entorno verde se convierte en el nuevo clúster de base de datos de producción. Los nombres y puntos de conexión del entorno de producción actual se asignan al entorno de producción al que le acaba de realizar la transición, por lo que no es necesario realizar cambios en la aplicación. Como resultado, el tráfico de producción ahora fluye al nuevo entorno de producción. El nombre del clúster de base de datos y de las instancias de base de datos del entorno azul se cambian de nombre añadiendo -oldn al nombre actual, donde n es un número. Por ejemplo, suponga que el nombre de la instancia de base de datos en el entorno azul es auroradb-instance-1. Tras la conmutación, el nombre de la instancia de base de datos puede ser auroradb-instance-1-old1.

    En el ejemplo de la imagen, se producen los siguientes cambios durante la conmutación:

    • El clúster de base de datos de entorno verde auroradb-green-abc123 pasa a ser el clúster de base de datos de producción denominado auroradb.

    • La instancia de base de datos de entorno verde denominada auroradb-instance1-green-abc123 se convierte en la instancia de base de datos de producción auroradb-instance1.

    • La instancia de base de datos de entorno verde denominada auroradb-instance2-green-abc123 se convierte en la instancia de base de datos de producción auroradb-instance2.

    • La instancia de base de datos de entorno verde denominada auroradb-instance3-green-abc123 se convierte en la instancia de base de datos de producción auroradb-instance3.

    • El clúster de base de datos del entorno azul denominado auroradb se convierte en auroradb-old1.

    • La instancia de base de datos del entorno azul denominada auroradb-instance1 se convierte en auroradb-instance1-old1.

    • La instancia de base de datos del entorno azul denominada auroradb-instance2 se convierte en auroradb-instance2-old1.

    • La instancia de base de datos del entorno azul denominada auroradb-instance3 se convierte en auroradb-instance3-old1.

  6. Si ya no necesita una implementación azul/verde, puede eliminarla. Para obtener instrucciones, consulte Eliminación de una implementación azul/verde en Amazon Aurora.

    Tras la conmutación, el entorno de producción anterior no se elimina, por lo que puede usarlo para realizar pruebas de regresión, si es necesario.