Limitaciones y aspectos a tener en cuenta de los clústeres activo-activo
Los clústeres activo-activo de Amazon RDS ofrecen una mayor disponibilidad y escalabilidad al distribuir las cargas de trabajo entre varias instancias. Sin embargo, hay limitaciones y aspectos importantes que se deben tener en cuenta al utilizar esta arquitectura.
En las siguientes secciones se describen los factores clave, como, por ejemplo, los retrasos en la replicación, la resolución de conflictos, la asignación de recursos y el comportamiento de la conmutación por error. Conocer estos aspectos puede ayudar a garantizar un rendimiento y una fiabilidad óptimos en las implementaciones de clústeres activo-activo.
Temas
Limitaciones de los clústeres activo-activo de RDS para MySQL
Las siguientes limitaciones se aplican a los clústeres activo-activo de RDS para MySQL:
-
El nombre de usuario maestro no puede ser
rdsgrprepladmin
para las instancias de base de datos de un clúster activo-activo. Este nombre de usuario está reservado para las conexiones de Group Replication. -
En el caso de las instancias de base de datos con réplicas de lectura en clústeres activo-activo, un estado de replicación prolongado que no sea
Replicating
puede provocar que los archivos de registro superen los límites de almacenamiento. Para obtener más información acerca del estado de las réplicas de lectura, consulte Monitoreo de la replicación de lectura. -
Las implementaciones azul/verde no son compatibles con instancias de base de datos en un clúster activo-activo. Para obtener más información, consulte Uso de las implementaciones azul/verde de Amazon RDS para actualizar las bases de datos.
-
La autenticación Kerberos no es compatible con las instancias de base de datos en un clúster activo-activo. Para obtener más información, consulte Uso de la autenticación de Kerberos de Amazon RDS para Microsoft SQL Server.
-
Las instancias de base de datos de un clúster de base de datos multi-AZ no se pueden agregar a un clúster activo-activo. Sin embargo, las instancias de base de datos en una implementación de instancias de base de datos multi-AZ se pueden agregar a un clúster activo-activo. Para obtener más información, consulte Configuración y administración de una implementación multi-AZ para Amazon RDS.
-
Las tablas que no tienen una clave principal no se replican en un clúster activo-activo porque el complemento Group Replication rechaza las escrituras.
-
Las tablas que no son de InnoDB no se replican en un clúster activo-activo.
-
Los clústeres activo-activo no admiten instrucciones DML y DDL simultáneas en distintas instancias de base de datos del clúster.
-
No puede configurar un clúster activo-activo para que utilice el modo principal único para el modo de replicación del grupo. Para esta configuración, se recomienda utilizar en su lugar un clúster de base de datos multi-AZ. Para obtener más información, consulte Implementaciones de clústeres de base de datos multi-AZ para Amazon RDS.
-
Las instancias de base de datos de un clúster activo-activo no admiten la replicación de varios orígenes.
-
Un clúster activo-activo entre regiones no puede aplicar la verificación de la autoridad de certificación (CA) en las conexiones de Group Replication.
Aspectos a tener en cuenta y prácticas recomendadas de los clústeres activo-activo de RDS para MySQL
Antes de utilizar clústeres activo-activo de RDS para MySQL, revise las siguientes consideraciones y prácticas recomendadas:
-
Los clústeres activo-activo no pueden tener más de nueve instancias de base de datos.
-
Con el complemento Group Replication, puede controlar las garantías de coherencia de las transacciones del clúster activo-activo. Para obtener más información, consulte Transaction Consistency Guarantees
en la documentación de MySQL. -
Es posible que surjan conflictos cuando distintas instancias de base de datos actualizan la misma fila de un clúster activo-activo. Para obtener información sobre conflictos y resolución de conflictos, consulte Group Replication
en la documentación de MySQL. -
Para garantizar la tolerancia a errores, incluya al menos tres instancias de base de datos en el clúster activo-activo. Es posible configurar un clúster activo-activo con solo una o dos instancias de base de datos, pero el clúster no tolerará errores. Para obtener información acerca de la tolerancia a errores, consulte Fault-tolerance
en la documentación de MySQL. -
Cuando una instancia de base de datos se une a un clúster activo-activo existente y ejecuta la misma versión del motor que la versión de motor más antigua del clúster, la instancia de base de datos se une en modo de lectura-escritura.
-
Cuando una instancia de base de datos se une a un clúster activo-activo existente y ejecuta una versión de motor posterior a la versión de motor más antigua del clúster, la instancia de base de datos debe permanecer en modo de solo lectura.
-
Si habilita Group Replication para una instancia de base de datos configurando su parámetro
rds.group_replication_enabled
en1
en el grupo de parámetros de base de datos, pero la replicación no se ha iniciado, la instancia de base de datos se coloca en modo de solo superlectura para evitar incoherencias en los datos. Para obtener información sobre el modo de solo superlectura, consulte la documentación de MySQL. -
Puede actualizar una instancia de base de datos de un clúster activo-activo, pero la instancia de base de datos será de solo lectura hasta que todas las demás instancias de base de datos del clúster activo-activo se actualicen a la misma versión del motor o a una versión del motor posterior. Al actualizar una instancia de base de datos, esta se une automáticamente al mismo clúster activo-activo cuando se completa la actualización. Para evitar que una instancia de base de datos cambie involuntariamente al modo de solo lectura, desactive las actualizaciones automáticas de las versiones secundarias en ella. Para obtener información acerca de la actualización de una instancia de base de datos MySQL, consulte Actualizaciones del motor de base de datos de RDS para MySQL.
-
Puede añadir una instancia de base de datos en una implementación de instancia de base de datos multi-AZ a un clúster activo-activo existente. También puede convertir una instancia de base de datos single-AZ de un clúster activo-activo en una implementación de instancia de base de datos multi-AZ. Si se produce un error en una instancia de base de datos principal de una implementación multi-AZ, esa instancia principal realiza una conmutación por error a la instancia en espera. La nueva instancia de base de datos principal se une automáticamente al mismo clúster una vez finalizada la conmutación por error. Para obtener más información acerca de las implementaciones de instancias de base de datos multi-AZ, consulte Habilitación de implementaciones de instancias de bases de datos multi-AZ para Amazon RDS.
-
Recomendamos que las instancias de base de datos de un clúster activo-activo tengan intervalos de tiempo diferentes para sus períodos de mantenimiento. Esta práctica evita que varias instancias de base de datos del clúster se desconecten al mismo tiempo para realizar tareas de mantenimiento. Para obtener más información, consulte La ventana de mantenimiento de Amazon RDS.
-
Los clústeres activo-activo pueden usar SSL para las conexiones entre instancias de base de datos. Para configurar las conexiones SSL, defina los parámetros group_replication_recovery_use_ssl
y group_replication_ssl_mode . Los valores de estos parámetros deben ser iguales para todas las instancias de base de datos del clúster activo-activo. Actualmente, los clústeres activo-activo no admiten la verificación por parte de la autoridad de certificación (CA) para las conexiones entre Regiones de AWS. Por lo tanto, el parámetro group_replication_ssl_mode
debe estar establecido en DISABLED
(el valor predeterminado) oREQUIRED
para los clústeres entre regiones. -
Un clúster activo-activo de RDS para MySQL se ejecuta en modo multiprimario. El valor predeterminado de group_replication_enforce_update_everywhere_checks
es ON
y el parámetro es estático. Si este parámetro está establecido enON
, las aplicaciones no pueden insertarlo en una tabla que tenga restricciones de clave externa en cascada. -
Un clúster activo-activo de RDS para MySQL utiliza la pila de comunicación de MySQL para garantizar la seguridad de la conexión en lugar de XCOM. Para obtener más información, consulte Communication Stack for Connection Security Management
en la documentación de MySQL. -
Cuando un grupo de parámetros de base de datos está asociado a una instancia de base de datos de un clúster activo-activo, recomendamos asociar este grupo de parámetros de base de datos únicamente a otras instancias de base de datos que estén en el clúster.
-
Los clústeres activo-activo solo admiten instancias de base de datos de RDS para MySQL. Estas instancias de base de datos deben ejecutar versiones compatibles del motor de base de datos.
-
Cuando una instancia de base de datos de un clúster activo-activo sufre un error inesperado, RDS inicia la recuperación de la instancia de base de datos automáticamente. Si la instancia de base de datos no se recupera, le recomendamos que la sustituya por una nueva instancia de base de datos mediante una recuperación a un momento dado con una instancia de base de datos en buen estado del clúster. Para obtener instrucciones, consulte Adición de una instancia de base de datos a un clúster activo-activo mediante la recuperación a un momento dado.
-
Puede eliminar una instancia de base de datos de un clúster activo-activo sin que ello afecte a las demás instancias de base de datos del clúster. Para obtener más información sobre la eliminación de instancias de base de datos, consulte Eliminación de una instancia de base de datos.