Descripción general de las implementaciones azul/verde de Amazon RDS - Amazon Relational Database Service

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

Con las implementaciones azul/verde de Amazon RDS, 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 de almacenamiento provisional. El entorno de almacenamiento provisional permanece sincronizado con el entorno de producción actual mediante la replicación lógica.

Puede realizar cambios en las instancias de base de datos de RDS 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, actualizar la configuración del sistema de archivos subyacente 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é listo, puede conmutar 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.

Dado que el entorno verde es una copia de la topología del entorno de producción, el entorno verde incluye las características utilizadas por la instancia de base de datos. Estas características incluyen las réplicas de lectura, la configuración del almacenamiento, las instantáneas de bases de datos, las copias de seguridad automatizadas, Información sobre rendimiento y la monitorización mejorada. Si la instancia de base de datos azul/verde es una implementación de instancia de base de datos Multi-AZ, la instancia de base de datos verde es también una implementación de la instancia de base de datos Multi-AZ.

nota

Actualmente, las implementaciones azul/verde solo son compatibles en RDS para MariaDB, RDS para MySQL y RDS para PostgreSQL. Para conocer la disponibilidad de Amazon Aurora, consulte Uso de las implementaciones azul/verde de Amazon RDS para actualizar las bases de datos en la Guía del usuario de Amazon Aurora.

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 admitidos para implementaciones azul/verde de Amazon RDS.

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 de la base de datos.

  1. Identifique un entorno de producción que requiera actualizaciones.

    Por ejemplo, el entorno de producción de esta imagen tiene una implementación de instancias de base de datos Multi-AZ (mydb1) y una réplica de lectura (mydb2).

    Entorno de producción (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.

    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 de la instancia de base de datos principal para crear el entorno verde. Los nombres de las instancias de base de datos copiadas se adjuntan con -green-random-characters. El entorno de almacenamiento provisional de la imagen contiene una implementación de instancias de base de datos Multi-AZ (mydb1-green- abc123) y una réplica de lectura (mydb2-green- abc123).

    Implementación azul/verde

    Al crear la implementación azul/verde, puede actualizar la versión del motor de base de datos y especificar un grupo de parámetros de base de datos diferente para las instancias de base de datos del entorno verde. RDS también configura la replicación lógica desde la instancia de base de datos principal en el entorno azul hasta la instancia de base de datos principal en el entorno verde.

    Tras crear la implementación azul/verde, la instancia de base de datos del entorno verde es de solo lectura de forma predeterminada.

  3. Realice cambios adicionales en el entorno de almacenamiento provisional, si es necesario.

    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 sobre la modificación de una instancia de base de datos, consulte Modificación de una instancia de base de datos de Amazon RDS.

  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 para RDS para MySQL, ponga el parámetro read_only en 0 y reinicie la instancia de base de datos. En el caso de RDS para PostgreSQL, ponga el parámetro default_transaction_read_only en off en el nivel de sesión.

  5. Cuando esté listo, conmútelo 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.

    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 las instancias de base de datos tras la conmutación.

    Instancias de base de datos después de cambiar una implementación azul/verde

    Tras la conmutación, las instancias de base de datos que estaban en el entorno verde se convierten en las nuevas instancias 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 que se acaba de promocionar, 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. Las instancias de base de datos del entorno azul anterior se cambian de nombre al añadirles -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 mydb1. Tras la conmutación, el nombre de la instancia de base de datos puede ser mydb1-old1.

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

    • La implementación de la instancia de base de datos Multi-AZ del entorno verde denominada mydb1-green-abc123 se convierte en la implementación de la instancia de base de datos Multi-AZ de producción denominadamydb1

    • La réplica de lectura del entorno verde denominada mydb2-green-abc123 se convierte en la réplica de lectura de producción mydb2.

    • La implementación de la instancia de base de datos Multi-AZ del entorno azul denominada mydb1 se convierte en mydb1-old1.

    • La réplica de lectura del entorno azul denominada mydb2 se convierte en mydb2-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.

    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.

Permitir el acceso a las operaciones de la implementación azul/verde

Los usuarios deben tener los permisos necesarios para realizar operaciones relacionadas con las implementaciones azul/verde. Puede crear políticas de IAM que concedan permisos a los usuarios y a los roles para realizar operaciones de la API concretas en los recursos especificados que necesiten. A continuación, puede asociar esas políticas a los roles o conjuntos de permisos de IAM que necesiten esos permisos. Para obtener más información, consulte Administración de la identidad y el acceso en Amazon RDS.

El usuario que crea una implementación azul/verde debe tener permisos para realizar las siguientes operaciones de RDS:

  • rds:AddTagsToResource

  • rds:CreateDBInstanceReadReplica

El usuario que cambia a una implementación azul/verde debe tener permisos para realizar las siguientes operaciones de RDS:

  • rds:ModifyDBInstance

  • rds:PromoteReadReplica

El usuario que elimina una implementación azul/verde debe tener permisos para realizar las siguientes operacione de RDS:

  • rds:DeleteDBInstance

Amazon RDS aprovisiona y modifica los recursos en el entorno de almacenamiento provisional en su nombre. Estos recursos incluyen instancias de base de datos que utilizan una convención de nomenclatura definida internamente. Por lo tanto, las políticas de IAM asociadas no pueden contener patrones de nombres de recursos parciales, como my-db-prefix-*. Solo se admite el uso de comodines (*). En general, se recomienda utilizar etiquetas de recursos y otros atributos compatibles para controlar el acceso a estos recursos, en lugar de utilizar comodines. Para obtener más información, consulte Acciones, recursos y claves de condición de Amazon .

Consideraciones acerca de las implementaciones azul/verde

Amazon RDS rastrea los recursos en las implementaciones azul/verde con el DbiResourceId de cada recurso. Este identificador de recurso es un identificador inmutable único de la Región de AWS para el recurso.

El ID del recurso es independiente del ID de instancia de base de datos:

Crear una implementación azul/verde

El nombre (ID de instancia) de un recurso cambia cuando conmuta una implementación azul/verde, pero cada recurso conserva el mismo ID de recurso. Por ejemplo, un identificador de instancia de base de datos podría ser mydb en el entorno azul. Tras la conmutación, el nombre de la instancia de base de datos podría ser mydb-old1. Sin embargo, el identificador del recurso de la instancia de base de datos no cambia durante la conmutación. Por lo tanto, cuando se promocionan los recursos verdes para que sean los nuevos recursos de producción, sus identificadores de recurso no coinciden con los identificadores de recurso azules que estaban en producción anteriormente.

Tras cambiar a una implementación azul/verde, considere la posibilidad de actualizar los identificadores de recursos a los de los recursos de producción que se acaban de promocionar para las características y los servicios integrados que utilizó con los recursos de producción. Específicamente, tenga en cuenta las siguientes actualizaciones:

  • Si realiza el filtrado mediante la API de RDS y los identificadores de recursos, ajuste los identificadores de recursos utilizados en el filtrado después de la conmutación.

  • Si utiliza CloudTrail para auditar recursos, ajuste los consumidores del CloudTrail para que realicen un seguimiento de los nuevos identificadores de recursos tras la conmutación. Para obtener más información, consulte Supervisión de llamadas a la API de Amazon RDS en AWS CloudTrail.

  • Si utiliza la API de Información de rendimiento, ajuste los identificadores de los recursos en las llamadas a la API después de la conmutación. Para obtener más información, consulte Monitoreo de la carga de base de datos con Performance Insights en Amazon RDS.

    Puede supervisar una base de datos con el mismo nombre después de la conmutación, pero no contiene los datos de antes de la conmutación.

  • Si usa identificadores de recursos en las políticas de IAM, asegúrese de añadir los identificadores de los recursos que se acaban de promocionar cuando sea necesario. Para obtener más información, consulte Administración de la identidad y el acceso en Amazon RDS.

  • Si tiene roles de IAM asociados a la instancia de base de datos, asegúrese de volver a asociarlas tras la transición. Los roles asociados no se copian automáticamente en el entorno verde.

  • Si se autentica en su instancia de base de datos con la autenticación de base de datos de IAM, asegúrese de que la política de IAM usada para acceder a la base de datos tenga las bases de datos azul y verde enumeradas bajo el elemento Resource de la política. Esto es necesario para conectarse a la base de datos verde después del cambio. Para obtener más información, consulte Creación y uso de una política de IAM para el acceso a bases de datos de IAM.

  • Si utiliza AWS Backup para administrar copias de seguridad automatizadas de los recursos en una implementación azul/verde, ajuste los identificadores de recursos que ha utilizado AWS Backup después de la conmutación. Para obtener más información, consulte Utilizar AWS Backup para administrar copias de seguridad automatizadas.

  • Si desea restaurar una instantánea de base de datos manual o automática para una instancia de base de datos que formaba parte de una implementación azul/verde, asegúrese de restaurar la instantánea de base de datos correcta examinando la hora en la que se tomó. Para obtener más información, consulte Restauración desde una instantánea de un de base de datos.

  • Si desea describir una copia de seguridad automática de una instancia de base de datos del entorno azul anterior o restaurarla en un momento determinado, utilice el identificador del recurso para la operación.

    Como el nombre de la instancia de base de datos se modifica durante la conmutación, no puede usar su nombre anterior para las operaciones DescribeDBInstanceAutomatedBackups o RestoreDBInstanceToPointInTime.

    Para obtener más información, consulte Restauración de una instancia de base de datos a un momento especificado.

  • Al añadir una réplica de lectura a una instancia de base de datos en el entorno verde de una implementación azul/verde, la nueva réplica de lectura no reemplazará a una réplica de lectura en el entorno azul cuando conmute. Sin embargo, la nueva réplica de lectura se conserva en el nuevo entorno de producción tras la conmutación.

  • Al eliminar una instancia de base de datos en el entorno verde de una implementación azul/verde, no puede crear una nueva instancia de base de datos para reemplazarla en la implementación azul/verde.

    Si crea una nueva instancia de base de datos con el mismo nombre y el mismo nombre de recurso de Amazon (ARN) que la instancia de base de datos eliminada, tendrá un DbiResourceId diferente, por lo que no forma parte del entorno verde.

    Si se elimina una instancia de base de datos en el entorno verde, se produce el siguiente comportamiento:

    • Si existe la instancia de base de datos del entorno azul con el mismo nombre, no se cambiará a la instancia de base de datos del entorno verde. El nombre de esta instancia de base de datos no se cambiará añadiendo -oldn al nombre de la instancia de base de datos.

    • Cualquier aplicación que apunte a la instancia de base de datos en el entorno azul seguirá utilizando la misma instancia de base de datos después de la conmutación.

    El mismo comportamiento se aplica a las instancias de base de datos y a las réplicas de lectura.

Prácticas recomendadas para las implementaciones azul/verde

Estas son las prácticas recomendadas para las implementaciones azul/verde

Prácticas recomendadas generales

  • Pruebe minuciosamente las instancias de base de datos en el entorno verde antes de realizar el cambio.

  • Mantenga sus bases de datos del entorno verde en modo de solo lectura. Se recomienda habilitar 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.

  • Cuando utilice una implementación azul/verde para implementar cambios en el esquema, realice únicamente cambios compatibles con la replicación.

    Por ejemplo, puede añadir nuevas columnas al final de una tabla, sin interrumpir la replicación de la implementación azul a la implementación verde. Sin embargo, los cambios en el esquema, como cambiar el nombre de las columnas o las tablas, interrumpen la replicación en la implementación verde.

    Para obtener más información sobre los cambios compatibles con la replicación, consulte Replication with Differing Table Definitions on Source and Replica en la documentación de MySQL y Restrictions en la documentación de la replicación lógica de PostgreSQL.

  • Tras crear la implementación azul/verde, gestione la carga diferida si es necesario. Asegúrese de que la carga de datos esté completa antes de realizar el cambio. Para obtener más información, consulte Gestión de la carga diferida al crear una implementación azul/verde.

  • Al cambiar a una implementación azul/verde, siga las prácticas recomendadas de conmutación. Para obtener más información, consulte Prácticas recomendadas para realizar la conmutación.

Procedimientos recomendados en RDS para MySQL

  • Evite utilizar motores de almacenamiento no transaccionales, como MyISAM, que no estén optimizados para la replicación.

  • Optimice las réplicas de lectura para replicación de registros binarios.

    Por ejemplo, si la versión de su motor de base de datos lo admite, considere la posibilidad de utilizar la replicación GTID, la replicación paralela y la replicación a prueba de fallos en su entorno de producción antes de utilizar la implementación azul/verde. Estas opciones fomentan la coherencia y la durabilidad de los datos antes de conmutar la implementación azul/verde. Para obtener más información sobre la replicación basada en GTID para réplicas de lectura, consulte Uso de la replicación basada en GTID.

Procedimientos recomendados en RDS para PostgreSQL

  • Si su base de datos tiene suficiente memoria liberable, aumente el valor del parámetro de base de datos logical_decoding_work_mem en el entorno azul. De este modo, se reduce la decodificación en el disco y, en su lugar, se utiliza memoria. Puede supervisar la memoria liberable con la métrica FreeableMemory de CloudWatch. Para obtener más información, consulte Métricas de nivel de instancia de Amazon CloudWatch para Amazon RDS.

  • Actualice todas las extensiones de PostgreSQL a la versión más reciente antes de crear una implementación azul/verde. Para obtener más información, consulte Actualización de las extensiones de PostgreSQL.

  • Si utiliza la extensión aws_s3, asegúrese de permitir el acceso de la instancia de base de datos a Amazon S3 a través de un rol de IAM tras crear el entorno verde. Esto permite que los comandos de importación y exportación sigan funcionando después de la transición. Para obtener instrucciones, consulte Configuración del acceso a un bucket de Amazon S3.

  • Si especifica una versión de motor superior para el entorno verde, ejecute la operación ANALYZE en todas las bases de datos para actualizar la tabla de pg_statistic. Las estadísticas del optimizador no se transfieren durante una actualización de la versión principal, por lo que debe regenerar todas las estadísticas para evitar problemas de rendimiento. Para conocer prácticas recomendadas adicionales durante las actualizaciones de versiones principales, consulte Cómo realizar una actualización de versión principal.

  • Evite configurar desencadenadores como ENABLE REPLICA o ENABLE ALWAYS si el desencadenador se utiliza en el origen para manipular los datos. De lo contrario, el sistema de replicación propaga los cambios y ejecuta el desencadenador, lo que provoca la duplicación.

  • Las transacciones de larga duración pueden provocar un retraso significativo en las réplicas. Para reducir el retraso en las réplicas, realice lo siguiente:

    • Reduzca las transacciones de larga duración que pueden retrasarse hasta que el entorno verde se ponga al mismo nivel que el entorno azul.

    • Inicie una operación de inmovilización de vacío manual en tablas ocupadas antes de crear la implementación azul/verde.

    • Para la versión 12 y posteriores de PostgreSQL, desactive el parámetro index_cleanup en tablas grandes u ocupadas para aumentar la tasa de mantenimiento normal en las bases de datos azules. Para obtener más información, consulte Vaciado de una tabla lo más rápido posible.

  • La replicación lenta puede provocar que los remitentes y los destinatarios se reinicien con frecuencia, lo que retrasa la sincronización. Para garantizar que permanezcan activos, deshabilite los tiempos de espera configurando el parámetro wal_sender_timeout en 0 en el entorno azul y el parámetro wal_receiver_timeout en 0 en el entorno verde.

  • Para evitar que los segmentos de registro de escritura anticipada (WAL) se eliminen del entorno azul, establezca el parámetro wal_keep_segments en 15625 para PostgreSQL versión 13 y versiones anteriores. Para la versión 14 y superiores, establezca el parámetro wal_keep_size en 1 TiB, si hay suficiente espacio de almacenamiento libre.

Limitaciones de las implementaciones azul/verde

Las siguientes limitaciones se aplican a las implementaciones azul/verde.

Limitaciones generales de las implementaciones azul/verde

Las siguientes limitaciones generales se aplican a las implementaciones azul/verde:

  • Las versiones 8.0.11 a 8.0.13 de MySQL tienen un error comunitario que les impide admitir las implementaciones azul/verde.

  • Se admiten las siguientes versiones de RDS para PostgreSQL como versiones de origen y destino de la actualización: 11.21 y posteriores, 12.16 y posteriores, 13.12 y posteriores, 14.9 y posteriores y 15.4 y posteriores. En las versiones anteriores, puede realizar una actualización de versión secundaria a una versión compatible.

  • Las implementaciones azul/verde no admiten la administración de las contraseñas de los usuarios maestros con AWS Secrets Manager

  • En el caso de RDS para PostgreSQL, las tablas no registradas no se replican en el entorno verde

  • En el caso de RDS para PostgreSQL, la instancia de base de datos del entorno azul no puede ser un origen lógico autoadministrado (publicador) ni una réplica (suscriptor). En el caso de RDS para MySQL, la instancia de base de datos del entorno azul no puede ser una réplica binlog externa.

  • Durante la conmutación, los entornos azul y verde no pueden tener integración sin ETL con Amazon Redshift. Debe eliminar la integración en primer lugar, realizar la conmutación y, a continuación, volver a crear la integración.

  • El programador de eventos (parámetro event_scheduler) debe estar deshabilitado en el entorno verde al crear una implementación azul/verde. Esto evita que se generen eventos en el entorno verde que provoquen incoherencias.

  • Las implementaciones azul/verde no admiten el controlador JDBC de AWS para MySQL. Para obtener más información, consulte Known Limitations en GitHub.

  • Las implementaciones azul/verde no son compatibles con las siguientes características:

    • Amazon RDS Proxy

    • Réplicas de lectura en cascada

    • Réplicas de lectura entre regiones

    • AWS CloudFormation

    • Implementaciones de clústeres de base de datos Multi-AZ

      Las implementaciones azul/verde son compatibles con las implementaciones de instancias de base de datos Multi-AZ. Para obtener más información sobre las implementaciones Multi-AZ, consulte Configuración y administración de una implementación multi-AZ.

Limitaciones de las extensiones de PostgreSQL para las implementaciones azul/verde

Las siguientes limitaciones se aplican a las extensiones de PostgreSQL:

  • La extensión pg_partman debe estar deshabilitada en el entorno azul al crear una implementación azul/verde. La extensión realiza operaciones de DDL, como CREATE TABLE, lo que rompe la replicación lógica del entorno azul al entorno verde.

  • La extensión pg_cron debe permanecer deshabilitada en todas las bases de datos verdes tras crear la implementación azul/verde. La extensión tiene programas de trabajo en segundo plano que se ejecutan como superusuarios y omiten la configuración de solo lectura del entorno verde, lo que podría provocar conflictos de replicación.

  • Si la instancia de base de datos está configurado como el servidor externo de un contenedor de datos externo (FDW), debe usar el nombre del punto de conexión de la instancia en lugar de las direcciones IP. Esto permite que la configuración siga funcionando después de la transición.

  • Las extensiones pglogical y pg_active deben estar deshabilitadas en el entorno azul al crear una implementación azul/verde. Después de promover el entorno verde para que sea el nuevo entorno de producción, puede volver a habilitar las extensiones. Además, la base de datos azul no puede ser un suscriptor lógico de una instancia externa.

  • Si utiliza la extensión pgAudit, debe permanecer en las bibliotecas compartidas (shared_preload_libraries) de los grupos de parámetros de base de datos personalizados para las instancias de base de datos azules y verdes. Para obtener más información, consulte Configuración de la extensión pgAudit.

Limitaciones para los cambios en implementaciones azul/verde

Estas son las limitaciones de los cambios en una implementación azul/verde:

  • No puede cambiar una instancia de base de datos sin cifrar por una instancia de base de datos con cifrado.

  • No puede cambiar una instancia de base de datos con cifrado por una instancia de base de datos sin cifrar.

  • No puede cambiar una instancia de base de datos del entorno azul por una versión del motor superior a su instancia de base de datos del entorno verde correspondiente.

  • Los recursos del entorno azul y el entorno verde deben estar en la misma Cuenta de AWS.

  • En RDS para MySQL, si la base de datos de origen está asociada a un grupo de opciones personalizado, no puede especificar una actualización de la versión principal al crear la implementación azul/verde.

    En este caso, puede crear una implementación azul/verde sin especificar una actualización de la versión principal. A continuación, puede actualizar la base de datos en el entorno verde. Para obtener más información, consulte Actualización de una versión del motor de una instancia de base de datos.

Limitaciones de la replicación lógica de PostgreSQL para las implementaciones azul/verde

Las implementaciones azul/verde utilizan la replicación lógica para mantener el entorno de ensayo sincronizado con el entorno de producción. PostgreSQL tiene ciertas restricciones relacionadas con la replicación lógica, que se traducen en limitaciones a la hora de crear implementaciones azul/verde para instancias de base de datos de RDS para PostgreSQL.

En la siguiente tabla, se describen las limitaciones de replicación lógica que se aplican a las implementaciones azul/verde para RDS para PostgreSQL.

Limitación Explicación
Las instrucciones del lenguaje de definición de datos (DDL), como CREATE TABLE y CREATE SCHEMA, no se replican desde el entorno azul al entorno verde.

Si Amazon RDS detecta un cambio de DDL en el entorno azul, las bases de datos verdes pasan a un estado de Replicación degradada.

Usted recibe un evento que le notifica que los cambios de DDL en el entorno azul no se pueden replicar en el entorno verde. Debe eliminar la implementación azul/verde y todas las bases de datos verdes y, a continuación, volver a crearla. De lo contrario, no podrá cambiar la implementación azul/verde.

Las operaciones NEXTVAL en los objetos de secuencia no están sincronizadas entre el entorno azul y el entorno verde.

Durante la transición, Amazon RDS incrementa los valores de secuencia en el entorno verde para que coincidan con los del entorno azul. Si tiene miles de secuencias, esto puede retrasar la transición.

La creación o modificación de objetos grandes en el entorno azul no se replica en el entorno verde.

Si Amazon RDS detecta la creación o modificación de objetos grandes en el entorno azul que están almacenados en la tabla de sistema pg_largeobject, las bases de datos verdes pasan a un estado de Replicación degradada.

RDS genera un evento que le notifica que los cambios de objetos grandes en el entorno azul no se pueden replicar en el entorno verde. Debe eliminar la implementación azul/verde y todas las bases de datos verdes y, a continuación, volver a crearla. De lo contrario, no podrá cambiar la implementación azul/verde.

Las vistas materializadas no se actualizan automáticamente en el entorno verde.

La actualización de las vistas materializadas en el entorno azul no genera una actualización en el entorno verde. Tras la transición, puede programar una actualización de las vistas materializadas.

Las operaciones UPDATE y DELETE no están permitidas en las tablas que no tengan una clave principal.

Antes de crear una implementación azul/verde, asegúrese de que todas las tablas de la instancia de base de datos tengan una clave principal.

Para obtener más información, consulte Restricciones en la documentación de replicación lógica de PostgreSQL.