Limitaciones y factores importantes en implementaciones azul/verde - Amazon Relational Database Service

Limitaciones y factores importantes en implementaciones azul/verde

Las implementaciones azul/verde en Amazon RDS requieren una consideración cuidadosa de factores como las ranuras de replicación, la administración de recursos, el tamaño de las instancias y los posibles impactos en el rendimiento de la base de datos. Las siguientes secciones proporcionan orientación para ayudarle a optimizar su estrategia de implementación a fin de garantizar un tiempo de inactividad mínimo, transiciones fluidas y una administración eficaz del entorno de su base de datos.

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 implementaciones azul/verde no admiten la administración de las contraseñas de los usuarios maestros con AWS Secrets Manager

  • Si el volumen de registro dedicado (DLV) está habilitado en la base de datos azul, debe estar habilitado en todas las instancias de base de datos, incluidas las réplicas de lectura.

  • 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.

  • No puede cambiar una instancia de base de datos sin cifrar por una instancia de base de datos con cifrado. Además, 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 azul por una versión del motor superior a su instancia de base de datos verde correspondiente.

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

  • 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 para Amazon RDS.

Limitaciones de RDS para MySQL en implementaciones azul/verde

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

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

  • El clúster de base de datos azul no puede ser una réplica binlog externa.

  • 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.

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

Limitaciones de RDS para PostgreSQL para implementaciones azul/verde

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

  • 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, 15.4 y posteriores y 16.1 y posteriores. En las versiones anteriores, puede realizar una actualización de versión secundaria a una versión compatible.

  • Las tablas no registradas no se replican en el entorno verde

  • La instancia de base de datos azul no puede ser un origen lógico autoadministrado (publicador) ni una réplica (suscriptor).

  • 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.

  • En una implementación azul/verde, cada base de datos requiere una ranura de replicación lógica. A medida que aumenta el número de bases de datos, aumenta la sobrecarga de recursos, lo que puede provocar un retardo en la replicación, especialmente si la instancia de base de datos no se ha escalado lo suficiente. El impacto depende de factores como la carga de trabajo de la base de datos y el número de conexiones. Para mitigarlo, valore la posibilidad de escalar verticalmente la clase de instancia de base de datos o de reducir el número de bases de datos en la instancia de origen.

  • 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.

  • Las extensiones pglogical y pgactive 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 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 actualizarlos manualmente mediante el comando REFRESH MATERIALIZED VIEW o programar una actualización.

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.

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 la instancia de base de datos: Todos aparecen en la configuración de la base de datos de la consola de RDS.

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, valore la posibilidad de actualizar los ID 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 Utilización de AWS Backup para administrar copias de seguridad automatizadas para Amazon RDS.

  • 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 a una instancia 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 para Amazon RDS.

  • 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.