Esta guía paso a paso le muestra cómo configurar Amazon Aurora MySQL para replicar datos en ClickHouse Cloud mediante ClickPipe de MySQL. Para ver las preguntas frecuentes sobre el CDC de MySQL, consulte la página de preguntas frecuentes de MySQL.
Habilitar la retención del registro binario
El registro binario es un conjunto de archivos de registro que contienen información sobre las modificaciones de datos realizadas en una instancia de servidor MySQL, y estos archivos son necesarios para la replicación. Para configurar la retención del registro binario en Aurora MySQL, debes habilitar el registro binario y aumentar el intervalo de retención del binlog.
La función de copias de seguridad automatizadas determina si el registro binario está activado o desactivado en MySQL. Puede configurar las copias de seguridad automatizadas para su instancia en la RDS Console; para ello, vaya a Modify > Additional configuration > Backup y seleccione la casilla Enable automated backups (si todavía no está seleccionada).
Recomendamos establecer Backup retention period en un valor suficientemente largo, según el caso de uso de la replicación.
2. Aumente el intervalo de retención del binlog
Si ClickPipes intenta reanudar la replicación y los archivos de binlog necesarios se han purgado debido al valor de retención del binlog configurado, el ClickPipe pasará a un estado de error y será necesaria una resincronización.
De forma predeterminada, Aurora MySQL purga el binlog lo antes posible (es decir, purga diferida). Recomendamos aumentar el intervalo de retención del binlog a al menos 72 horas para garantizar la disponibilidad de los archivos de binlog para la replicación en escenarios de fallo. Para establecer un intervalo de retención del binlog (binlog retention hours), use el procedimiento mysql.rds_set_configuration:
mysql=> call mysql.rds_set_configuration('binlog retention hours', 72);
Si esta configuración no está definida o tiene un intervalo demasiado bajo, puede provocar brechas en los registros binarios, lo que compromete la capacidad de ClickPipes para reanudar la replicación.
Configurar la configuración de binlog
Puede encontrar el grupo de parámetros haciendo clic en su instancia de MySQL en la RDS Console y luego navegando a la pestaña Configuration.
Si tiene un clúster de MySQL, los parámetros que se indican a continuación pueden encontrarse en el grupo de parámetros del clúster de DB en lugar del grupo de la instancia de DB.
Haga clic en el enlace del grupo de parámetros para ir a su página específica. Debería ver un botón Edit en la esquina superior derecha.
Los siguientes parámetros deben configurarse de la siguiente manera:
binlog_format en ROW.
binlog_row_metadata en FULL.
binlog_row_image en FULL.
Luego, haga clic en Save Changes en la esquina superior derecha. Es posible que deba reiniciar la instancia para que los cambios surtan efecto; sabrá que es necesario si ve Pending reboot junto al enlace del grupo de parámetros en la pestaña Configuration de la instancia de Aurora.
Habilitar el modo GTID (recomendado)
El ClickPipe de MySQL también admite la replicación sin el modo GTID. Sin embargo, se recomienda habilitar el modo GTID para obtener un mejor rendimiento y facilitar la solución de problemas.
Los Global Transaction Identifiers (GTIDs) son identificadores únicos asignados a cada transacción confirmada en MySQL. Simplifican la replicación del binlog y facilitan la solución de problemas. Recomendamos habilitar el modo GTID para que el ClickPipe de MySQL pueda usar la replicación basada en GTID.
La replicación basada en GTID es compatible con Amazon Aurora MySQL v2 (MySQL 5.7) y v3 (MySQL 8.0), así como con Aurora Serverless v2. Para habilitar el modo GTID en tu instancia de Aurora MySQL, sigue estos pasos:
- En la RDS Console, haz clic en tu instancia de MySQL.
- Haz clic en la pestaña Configuration.
- Haz clic en el enlace del grupo de parámetros.
- Haz clic en el botón Edit en la esquina superior derecha.
- Establece
enforce_gtid_consistency en ON.
- Establece
gtid-mode en ON.
- Haz clic en Save Changes en la esquina superior derecha.
- Reinicia tu instancia para que los cambios surtan efecto.
Conéctese a su instancia de Aurora MySQL como usuario administrador y ejecute los siguientes comandos:
-
Cree un usuario dedicado para ClickPipes:
CREATE USER 'clickpipes_user'@'%' IDENTIFIED BY 'some-password';
-
Conceda permisos sobre el esquema. El siguiente ejemplo muestra permisos para la base de datos
mysql. Repita estos comandos para cada base de datos y host que desee replicar:
GRANT SELECT ON `mysql`.* TO 'clickpipes_user'@'host';
-
Conceda permisos de replicación al usuario:
GRANT REPLICATION CLIENT ON *.* TO 'clickpipes_user'@'%';
GRANT REPLICATION SLAVE ON *.* TO 'clickpipes_user'@'%';
Control de acceso basado en IP
Para restringir el tráfico a su instancia de Aurora MySQL, agregue las IP NAT estáticas documentadas a las reglas de entrada de su grupo de seguridad de Aurora.
Para conectarse a su instancia de Aurora MySQL a través de una red privada, puede usar AWS PrivateLink. Siga la guía de configuración de AWS PrivateLink para ClickPipes para establecer la conexión.
Ahora que su instancia de Amazon Aurora MySQL está configurada para la replicación mediante binlog y se conecta de forma segura a ClickHouse Cloud, puede crear su primer ClickPipe de MySQL. Si tiene preguntas frecuentes sobre el CDC de MySQL, consulte la página de preguntas frecuentes de MySQL.