Este é um guia passo a passo sobre como configurar sua instância RDS MariaDB para replicar os dados por meio do ClickPipe do MySQL.
Habilitar 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. Os arquivos de log binário são necessários para a replicação. Ambos os passos abaixo devem ser seguidos:
Habilitar o logging binário por meio de backup automatizado
O recurso de backups automatizados determina se o logging binário está ativado ou desativado no MySQL. Ele pode ser configurado no console da AWS:

É recomendável definir a retenção de backup com um valor razoavelmente alto, dependendo do caso de uso da replicação.
Horas de retenção do binlog
O Amazon RDS for MariaDB tem um método diferente para definir a duração da retenção do binlog, ou seja, por quanto tempo um arquivo de binlog que contém alterações é mantido. Se algumas alterações não forem lidas antes de o arquivo de binlog ser removido, a replicação não poderá continuar. O valor padrão das horas de retenção do binlog é NULL, o que significa que os logs binários não são retidos.
Para especificar o número de horas durante as quais os logs binários devem ser retidos em uma instância de banco de dados, use a função mysql.rds_set_configuration com um período de retenção de binlog longo o suficiente para que a replicação ocorra. 24 hours é o mínimo recomendado.
mysql=> call mysql.rds_set_configuration('binlog retention hours', 24);Configure as configurações do binlog no grupo de parâmetros
Você pode encontrar o grupo de parâmetros clicando na sua instância MariaDB no Console do RDS e, em seguida, navegando até a guia Configurations.

Ao clicar no link do grupo de parâmetros, você será levado à página dele. Nela, você verá um botão Edit no canto superior direito:

As configurações binlog_format, binlog_row_metadata e binlog_row_image precisam ser definidas 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. Se você vir Pending reboot ao lado do link do grupo de parâmetros na guia Configurations da instância do RDS, isso é um bom indicativo de que sua instância precisa ser reiniciada.
Habilitando o modo GTID
Identificadores Globais de Transação (GTIDs) são IDs exclusivos atribuídos a cada transação confirmada no MySQL/MariaDB. Eles simplificam a replicação do binlog e tornam a solução de problemas mais simples. O MariaDB habilita o modo GTID por padrão, portanto nenhuma ação do usuário é necessária para utilizá-lo.
Configure um usuário do banco de dados
Conecte-se à sua instância do RDS MariaDB como um usuário administrador e execute os seguintes comandos:
-
Crie um usuário dedicado para o ClickPipes:
CREATE USER 'clickpipes_user'@'host' IDENTIFIED BY 'some-password'; -
Conceda permissões de esquema. 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 RDS instance without storing database credentials.
Enable IAM authentication
- Log in to your AWS account and go to the RDS instance 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 RDS instance.
Obtain the resource ID
- Log in to your AWS account and go to the RDS instance you want to configure.
- Select the Configuration tab.
- Note the Resource ID value — it looks like
db-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 RDS instance,{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 RDS instance from ClickPipes.
Configurar o acesso à rede
Controle de acesso por IP
Se você quiser restringir o tráfego para sua instância do RDS, adicione os IPs NAT estáticos documentados às Inbound rules do seu Security Group do RDS.


Acesso privado via AWS PrivateLink
Para se conectar à sua instância do RDS por uma rede privada, você pode usar o AWS PrivateLink. Siga nosso guia de configuração do AWS PrivateLink para ClickPipes para configurar a conexão.