Prácticas recomendadas para las implementaciones azul/verde - Amazon Aurora

Prácticas recomendadas para las implementaciones azul/verde

Estos son los procedimientos recomendados para las implementaciones azul/verde.

Prácticas recomendadas generales

  • Pruebe minuciosamente el clúster de base de datos de Aurora 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.

  • Utilice el punto de conexión del clúster, el punto de conexión del lector o el punto de conexión personalizado para todas las conexiones en ambos entornos. No utilice puntos de conexión de instancia ni puntos de conexión personalizados con listas estáticas o de exclusión.

  • 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 Aurora PostgreSQL

  • Supervise la memoria caché de escritura de la replicación lógica de Aurora PostgreSQL y haga ajustes en el búfer de memoria caché si es necesario. Para obtener más información, consulte Supervisión de la memoria caché de escritura indirecta de la replicación lógica en Aurora 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 Amazon CloudWatch para Amazon Aurora.

  • 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 del clúster de bases 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 Actualización a una 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.

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

  • Si Babelfish está activado en el clúster de base de datos de origen, los siguientes parámetros deben tener la misma configuración en el grupo de parámetros del clúster de base de datos de destino para el entorno verde que en el grupo de parámetros del clúster de base de datos de origen:

    • rds.babelfish_status

    • babelfishpg_tds.tds_default_numeric_precision

    • babelfishpg_tds.tds_default_numeric_scale

    • babelfishpg_tsql.default_locale

    • babelfishpg_tsql.migration_mode

    • babelfishpg_tsql.server_collation_name

    Para obtener más información sobre estos parámetros, consulte Configuración del grupo de parámetros del clúster de base de datos para Babelfish.