Поддерживаемые версии Postgres
ClickPipes поддерживает Aurora PostgreSQL-Compatible Edition версии 12 и выше.
Включите логическую репликацию
Этот раздел можно пропустить, если для вашего экземпляра Aurora уже настроен следующий параметр:
rds.logical_replication = 1
Этот параметр обычно уже включён, если вы ранее использовали другой инструмент для репликации данных.
postgres=> SHOW rds.logical_replication ;
rds.logical_replication
-------------------------
on
(1 row)Если это ещё не настроено, выполните следующие действия:
- Создайте новую группу параметров для вашей версии Aurora PostgreSQL с нужной настройкой:
- Установите
rds.logical_replicationв значение 1
- Установите


- Примените новую группу параметров к кластеру Aurora PostgreSQL

- Перезагрузите кластер Aurora, чтобы применить изменения

Настройте пользователя базы данных
Подключитесь к своему экземпляру Aurora PostgreSQL writer от имени администратора и выполните следующие команды:
-
Создайте отдельного пользователя для ClickPipes:
CREATE USER clickpipes_user PASSWORD 'some-password'; -
Предоставьте пользователю, созданному на предыдущем шаге, доступ к схеме в режиме только для чтения. В следующем примере показаны разрешения для схемы
public. Повторите эти команды для каждой схемы, содержащей таблицы, которые вы хотите реплицировать:GRANT USAGE ON SCHEMA "public" TO clickpipes_user; GRANT SELECT ON ALL TABLES IN SCHEMA "public" TO clickpipes_user; ALTER DEFAULT PRIVILEGES IN SCHEMA "public" GRANT SELECT ON TABLES TO clickpipes_user; -
Предоставьте пользователю права на репликацию:
GRANT rds_replication TO clickpipes_user; -
Создайте публикацию с таблицами, которые вы хотите реплицировать. Мы настоятельно рекомендуем включать в публикацию только нужные таблицы, чтобы избежать лишней нагрузки на производительность.
-
Чтобы создать публикацию для определённых таблиц:
CREATE PUBLICATION clickpipes FOR TABLE table_to_replicate, table_to_replicate2;-
Чтобы создать публикацию для всех таблиц в определённой схеме:
CREATE PUBLICATION clickpipes FOR TABLES IN SCHEMA "public";
-
Публикация clickpipes определяет набор таблиц, события изменений из которых будут передаваться в ClickPipes. Мы не рекомендуем использовать FOR ALL TABLES, если только вы действительно не планируете реплицировать все таблицы, поскольку включение лишних таблиц увеличивает объём WAL-трафика из Postgres в ClickPipes и снижает общую эффективность репликации.
Использование аутентификации IAM (необязательно)
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;
GRANT rds_iam TO clickpipes_iam_user;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.
Настройка сетевого доступа
Управление доступом на основе IP
Если вы хотите ограничить трафик к своему кластеру Aurora, добавьте задокументированные статические NAT IP-адреса в правила входящего трафика (Inbound rules) вашей группы безопасности Aurora.


Приватный доступ через AWS PrivateLink
Чтобы подключиться к кластеру Aurora через частную сеть, можно использовать AWS PrivateLink. Чтобы настроить подключение, следуйте нашему руководству по настройке AWS PrivateLink для ClickPipes.
Особенности Aurora
При настройке ClickPipes с Aurora PostgreSQL учитывайте следующие особенности:
-
Конечная точка подключения: Всегда подключайтесь к конечной точке записи (writer endpoint) вашего кластера Aurora, так как логическая репликация требует доступа на запись для создания слотов репликации и должна подключаться к основному экземпляру.
-
Обработка переключения при сбое: В случае failover Aurora автоматически повысит reader до нового writer. ClickPipes обнаружит разрыв connection и попытается повторно подключиться к writer endpoint, который теперь будет указывать на новый основной экземпляр.
-
Global Database: Если вы используете Aurora Global Database, следует подключаться к writer endpoint основного региона, так как межрегиональная репликация уже обеспечивает перемещение данных между регионами.
-
Особенности хранения: В Aurora уровень хранения является общим для всех экземпляров в кластере, что может обеспечивать более высокую производительность логической репликации по сравнению со стандартным RDS.
Работа с динамическими конечными точками кластера
Хотя Aurora предоставляет стабильные конечные точки, которые автоматически направляют трафик на соответствующий экземпляр, есть и другие способы обеспечить стабильное подключение:
-
В конфигурациях с высокой доступностью настройте приложение на использование конечной точки записи Aurora, которая автоматически указывает на текущий основной экземпляр.
-
Если вы используете межрегиональную репликацию, рассмотрите возможность настройки отдельных ClickPipes для каждого региона, чтобы снизить задержку и повысить отказоустойчивость.
Что дальше?
Теперь вы можете создать свой ClickPipe и начать приём данных из вашего кластера Aurora PostgreSQL в ClickHouse Cloud. Обязательно сохраните сведения о подключении, которые вы использовали при настройке кластера Aurora PostgreSQL, так как они понадобятся вам при создании ClickPipe.