Esta guía paso a paso le muestra cómo configurar Amazon Aurora MySQL para replicar datos en ClickHouse Cloud mediante ClickPipe para 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 binlog
El binlog es un conjunto de archivos de registro que contienen información sobre las modificaciones de datos realizadas en una instancia de servidor MySQL, y los archivos de binlog son necesarios para la replicación. Para configurar la retención del binlog en Aurora MySQL, debe habilitar el registro binario y aumentar el intervalo de retención del binlog.
Habilitar el registro binario mediante copias de seguridad automatizadas
La función de copias de seguridad automatizadas determina si el registro binario está activado o desactivado para MySQL. Las copias de seguridad automatizadas se pueden configurar para su instancia en la RDS Console; para ello, vaya a Modify > Additional configuration > Backup y seleccione la casilla Enable automated backups (si aún no está seleccionada).

Recomendamos establecer el período de retención de copias de seguridad en un valor razonablemente largo, según el caso de uso de la replicación.
Aumente el intervalo de retención del binlog
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.

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

binlog_row_metadataenFULL.

binlog_row_imageenFULL.

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)
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 para 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_consistencyenON. - Establece
gtid-modeenON. - Haz clic en Save Changes en la esquina superior derecha.
- Reinicia tu instancia para que los cambios surtan efecto.

Configurar un usuario de la base de datos
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'@'%';
Uso de la autenticación de AWS IAM (opcional)
Instead of a password, you can authenticate the ClickPipes user with an AWS IAM role. This lets ClickPipes connect to your Amazon Aurora cluster without storing database credentials.
Enable IAM authentication
- Log in to your AWS account and go to the Aurora cluster you want to configure.
- Click Modify.
- Scroll to the Database authentication section.
- Select Password and IAM database authentication.
- Click Continue.
- Review the changes and select Apply immediately.
Create the ClickPipes user
Create the ClickPipes user with IAM authentication enabled, then grant it the same schema and replication privileges shown above:
CREATE USER 'clickpipes_iam_user' IDENTIFIED WITH AWSAuthenticationPlugin AS 'RDS';Obtain the ClickHouse service IAM role ARN
- Log in to your ClickHouse Cloud account.
- Select the ClickHouse service you want to connect.
- Select the Settings tab.
- Scroll to the Network security information section at the bottom of the page.
- Copy the service's Service role ID (IAM) value, shown below.

This value is your {ClickHouse_IAM_ARN} — the role ClickPipes uses to access your Aurora cluster.
Obtain the resource ID
- Log in to your AWS account and go to the Aurora cluster you want to configure.
- Select the Configuration tab.
- Note the Resource ID value — it looks like
cluster-xxxxxxxxxxxxxx. This is your{RDS_RESOURCE_ID}, which you reference in the permissions policy.
Create the IAM role
- Log in to your AWS account with an IAM user that has permission to create and manage IAM roles.
- Open the IAM console.
- Create a new IAM role with the following trust and permissions policies.
Trust policy (replace
{ClickHouse_IAM_ARN}with the IAM role ARN of your ClickHouse instance):{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "{ClickHouse_IAM_ARN}" }, "Action": [ "sts:AssumeRole", "sts:TagSession" ] } ] }Permissions policy (replace
{RDS_RESOURCE_ID}with the resource ID of your Aurora cluster,{RDS_REGION}with its region, and{AWS_ACCOUNT}with your AWS account ID):{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": [ "arn:aws:rds-db:{RDS_REGION}:{AWS_ACCOUNT}:dbuser:{RDS_RESOURCE_ID}/clickpipes_iam_user" ] } ] } - Once the role is created, copy its ARN. This is your
{RDS_ACCESS_IAM_ROLE_ARN}.
You can now use this IAM role to authenticate with your Aurora cluster from ClickPipes.
Configurar el acceso de red
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.


Acceso privado mediante AWS PrivateLink
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.
¿Qué sigue?
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, ya puede crear su primer ClickPipe para MySQL. Para consultar las preguntas frecuentes sobre MySQL CDC, vea la página de preguntas frecuentes sobre MySQL.