Este guia passo a passo mostra como configurar o Amazon Aurora MySQL para replicar dados para o ClickHouse Cloud usando o ClickPipe do MySQL. Para perguntas frequentes sobre CDC do MySQL, consulte a página de perguntas frequentes do MySQL.
Habilite a retenção do log binário
O log binário é um conjunto de arquivos de log que contém informações sobre modificações de dados feitas em uma instância de servidor MySQL, e os arquivos de log binário são necessários para a replicação. Para configurar a retenção do log binário no Aurora MySQL, você deve habilitar o log binário e aumentar o intervalo de retenção do binlog.
Habilite o log binário por meio do backup automatizado
O recurso de backups automatizados determina se o log binário está ativado ou desativado no MySQL. Os backups automatizados podem ser configurados para sua instância no RDS Console navegando até Modify > Additional configuration > Backup e marcando a caixa de seleção Enable automated backups (se ainda não estiver marcada).

Recomendamos definir o Backup retention period como um valor razoavelmente longo, dependendo do caso de uso da replicação.
Aumente o intervalo de retenção do binlog
Por padrão, o Aurora MySQL remove o log binário o mais rápido possível (ou seja, lazy purging). Recomendamos aumentar o intervalo de retenção do binlog para pelo menos 72 horas, para garantir a disponibilidade dos arquivos de log binário para replicação em cenários de falha. Para definir um intervalo de retenção do log binário (binlog retention hours), use o procedimento mysql.rds_set_configuration:
mysql=> call mysql.rds_set_configuration('binlog retention hours', 72);Se essa configuração não estiver definida ou estiver configurada com um intervalo muito baixo, isso pode causar lacunas nos logs binários, comprometendo a capacidade do ClickPipes de retomar a replicação.
Configure as configurações do binlog
O grupo de parâmetros pode ser encontrado ao clicar na sua instância MySQL no RDS Console e, em seguida, navegar até a aba Configuration.

Clique no link do grupo de parâmetros para ir à página dedicada a ele. Você deverá ver um botão Edit no canto superior direito.

Os parâmetros a seguir precisam ser definidos da seguinte forma:
binlog_formatcomoROW.

binlog_row_metadatacomoFULL.

binlog_row_imagecomoFULL.

Em seguida, clique em Save Changes no canto superior direito. Talvez seja necessário reiniciar sua instância para que as alterações entrem em vigor — você saberá disso se vir Pending reboot ao lado do link do grupo de parâmetros na aba Configuration da instância Aurora.
Ative o modo GTID (recomendado)
Global Transaction Identifiers (GTIDs) são IDs exclusivos atribuídos a cada transação confirmada no MySQL. Eles simplificam a replicação do binlog e tornam a solução de problemas mais simples. Recomendamos ativar o modo GTID para que o ClickPipe do MySQL possa usar a replicação baseada em GTID.
A replicação baseada em GTID é compatível com Amazon Aurora MySQL v2 (MySQL 5.7) e v3 (MySQL 8.0), bem como com Aurora Serverless v2. Para ativar o modo GTID na sua instância do Aurora MySQL, siga estas etapas:
- No RDS Console, clique na sua instância do MySQL.
- Clique na guia Configuration.
- Clique no link do grupo de parâmetros.
- Clique no botão Edit no canto superior direito.
- Defina
enforce_gtid_consistencycomoON. - Defina
gtid-modecomoON. - Clique em Save Changes no canto superior direito.
- Reinicie sua instância para que as alterações entrem em vigor.

Configure um usuário do banco de dados
Conecte-se à sua instância do Aurora MySQL como usuário administrador e execute os seguintes comandos:
-
Crie um usuário dedicado para o ClickPipes:
CREATE USER 'clickpipes_user'@'%' IDENTIFIED BY 'some-password'; -
Conceda permissões no schema. O exemplo a seguir mostra as permissões para o banco de dados
mysql. Repita esses comandos para cada banco de dados e host que você deseja replicar:GRANT SELECT ON `mysql`.* TO 'clickpipes_user'@'host'; -
Conceda permissões de replicação ao usuário:
GRANT REPLICATION CLIENT ON *.* TO 'clickpipes_user'@'%'; GRANT REPLICATION SLAVE ON *.* TO 'clickpipes_user'@'%';
Usando autenticação 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 o acesso à rede
Controle de acesso baseado em IP
Para restringir o tráfego para sua instância do Aurora MySQL, adicione os IPs NAT estáticos documentados às regras de entrada do Security Group do Aurora.


Acesso privado via AWS PrivateLink
Para se conectar à sua instância do Aurora MySQL por uma rede privada, você pode usar o AWS PrivateLink. Siga o guia de configuração do AWS PrivateLink para ClickPipes para estabelecer a conexão.
O que vem a seguir?
Agora que sua instância do Amazon Aurora MySQL está configurada para replicação via binlog e se conecta com segurança ao ClickHouse Cloud, você pode criar seu primeiro ClickPipe do MySQL. Para perguntas frequentes sobre MySQL CDC, consulte a página de perguntas frequentes do MySQL.