Ce guide pas à pas explique comment configurer Amazon Aurora MySQL pour répliquer des données dans ClickHouse Cloud à l’aide de MySQL ClickPipe. Pour les questions fréquentes sur MySQL CDC, consultez la page FAQ MySQL.
Activer la rétention du journal binaire
Le journal binaire est un ensemble de fichiers de log contenant des informations sur les modifications de données apportées à une instance de serveur MySQL, et les fichiers de journal binaire sont requis pour la réplication. Pour configurer la rétention du journal binaire dans Aurora MySQL, vous devez activer la journalisation binaire et augmenter l’intervalle de rétention du binlog.
Activer la journalisation binaire via la sauvegarde automatisée
La fonctionnalité de sauvegardes automatisées détermine si la journalisation binaire est activée ou désactivée pour MySQL. Les sauvegardes automatisées peuvent être configurées pour votre instance dans la RDS Console en accédant à Modify > Additional configuration > Backup et en cochant la case Enable automated backups (si elle n’est pas déjà cochée).

Nous recommandons de définir la Backup retention period sur une valeur suffisamment longue, en fonction du cas d’usage de la réplication.
Augmenter l’intervalle de rétention du binlog
Par défaut, Aurora MySQL purge le journal binaire dès que possible (c.-à-d. avec une purge différée). Nous recommandons d’augmenter l’intervalle de rétention du binlog à au moins 72 heures afin de garantir la disponibilité des fichiers de binlog pour la réplication en cas de défaillance. Pour définir un intervalle de rétention du journal binaire (binlog retention hours), utilisez la procédure mysql.rds_set_configuration :
mysql=> call mysql.rds_set_configuration('binlog retention hours', 72);Si cette configuration n'est pas définie ou si l'intervalle est trop court, cela peut entraîner des trous dans les logs binaires et compromettre la capacité de ClickPipes à reprendre la réplication.
Configurer les paramètres du binlog
Vous trouverez le groupe de paramètres en cliquant sur votre instance MySQL dans la RDS Console, puis en accédant à l’onglet Configuration.

Cliquez sur le lien du groupe de paramètres pour accéder à sa page dédiée. Vous devriez voir un bouton Edit en haut à droite.

Les paramètres suivants doivent être définis comme suit :
binlog_formatsurROW.

binlog_row_metadatasurFULL.

binlog_row_imagesurFULL.

Ensuite, cliquez sur Save Changes dans l’angle supérieur droit. Vous devrez peut-être redémarrer votre instance pour que les modifications prennent effet. Vous le saurez si Pending reboot apparaît à côté du lien du groupe de paramètres dans l’onglet Configuration de l’instance Aurora.
Activer le mode GTID (recommandé)
Les Global Transaction Identifiers (GTIDs) sont des identifiants uniques attribués à chaque transaction validée dans MySQL. Ils simplifient la réplication du binlog et facilitent le dépannage. Nous recommandons d’activer le mode GTID afin que MySQL ClickPipe puisse utiliser la réplication basée sur GTID.
La réplication basée sur GTID est prise en charge pour Amazon Aurora MySQL v2 (MySQL 5.7) et v3 (MySQL 8.0), ainsi que pour Aurora Serverless v2. Pour activer le mode GTID sur votre instance Aurora MySQL, suivez ces étapes :
- Dans la RDS Console, cliquez sur votre instance MySQL.
- Cliquez sur l’onglet Configuration.
- Cliquez sur le lien du groupe de paramètres.
- Cliquez sur le bouton Edit dans le coin supérieur droit.
- Définissez
enforce_gtid_consistencysurON. - Définissez
gtid-modesurON. - Cliquez sur Save Changes dans le coin supérieur droit.
- Redémarrez votre instance pour appliquer les modifications.

Configurer un utilisateur de base de données
Connectez-vous à votre instance Aurora MySQL en tant qu'utilisateur admin, puis exécutez les commandes suivantes :
-
Créez un utilisateur dédié pour ClickPipes :
CREATE USER 'clickpipes_user'@'%' IDENTIFIED BY 'some-password'; -
Accordez des autorisations sur le schéma. L'exemple suivant montre les autorisations pour la base de données
mysql. Répétez ces commandes pour chaque base de données et chaque hôte que vous souhaitez répliquer :GRANT SELECT ON `mysql`.* TO 'clickpipes_user'@'host'; -
Accordez à l'utilisateur les autorisations de réplication :
GRANT REPLICATION CLIENT ON *.* TO 'clickpipes_user'@'%'; GRANT REPLICATION SLAVE ON *.* TO 'clickpipes_user'@'%';
Utilisation de l’authentification IAM (facultatif)
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.
Configurer l’accès au réseau
Contrôle d’accès par adresse IP
Pour limiter le trafic vers votre instance Aurora MySQL, ajoutez les adresses IP NAT statiques documentées aux Inbound rules de votre groupe de sécurité Aurora.


Accès privé via AWS PrivateLink
Pour vous connecter à votre instance Aurora MySQL via un réseau privé, vous pouvez utiliser AWS PrivateLink. Suivez le guide de configuration d’AWS PrivateLink pour ClickPipes pour mettre en place la connexion.
Et ensuite ?
Maintenant que votre instance Amazon Aurora MySQL est configurée pour la réplication via binlog et qu’elle établit une connexion sécurisée à ClickHouse Cloud, vous pouvez créer votre premier MySQL ClickPipe. Pour les questions fréquentes sur MySQL CDC, consultez la page FAQ MySQL.