Перейти к основному содержанию
Перейти к основному содержанию

Руководство по настройке источника данных Aurora Postgres

Поддерживаемые версии Postgres

ClickPipes поддерживает Aurora PostgreSQL-Compatible Edition версий 12 и выше.

Включение логической репликации

Вы можете пропустить этот раздел, если в вашем экземпляре Aurora уже настроены следующие параметры:

  • rds.logical_replication = 1
  • wal_sender_timeout = 0

Эти параметры, как правило, уже настроены, если вы ранее использовали другой инструмент репликации данных.

postgres=> SHOW rds.logical_replication ;
 rds.logical_replication
-------------------------
 on
(1 row)

postgres=> SHOW wal_sender_timeout ;
 wal_sender_timeout
--------------------
 0
(1 row)

Если вы ещё этого не сделали, выполните следующие шаги:

  1. Создайте новую группу параметров для вашей версии Aurora PostgreSQL со следующими настройками:
    • Установите rds.logical_replication в значение 1
    • Установите wal_sender_timeout в значение 0
Где найти группы параметров в Aurora
Изменение rds.logical_replication
Изменение wal_sender_timeout
  1. Примените новую группу параметров к кластеру Aurora PostgreSQL
Изменение конфигурации Aurora PostgreSQL с новой группой параметров
  1. Перезагрузите кластер Aurora, чтобы применить изменения
Перезагрузка Aurora PostgreSQL

Настройка пользователя базы данных

Подключитесь к экземпляру Aurora PostgreSQL writer с учетной записью с правами администратора и выполните следующие команды:

  1. Создайте отдельного пользователя для ClickPipes:

    CREATE USER clickpipes_user PASSWORD 'some-password';
    
  2. Назначьте права на схему. В следующем примере показаны права для схемы 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;
    
  3. Назначьте права на репликацию:

    GRANT rds_replication TO clickpipes_user;
    
  4. Создайте публикацию для репликации:

    CREATE PUBLICATION clickpipes_publication FOR ALL TABLES;
    

Настройка сетевого доступа

Управление доступом по IP-адресам

Если вы хотите ограничить трафик к кластеру Aurora, добавьте задокументированные статические NAT IP-адреса в раздел Inbound rules группы безопасности Aurora.

Где найти группу безопасности в Aurora PostgreSQL?
Редактирование inbound rules для указанной выше группы безопасности

Чтобы подключиться к кластеру Aurora по приватной сети, вы можете использовать AWS PrivateLink. Следуйте нашему руководству по настройке AWS PrivateLink для ClickPipes, чтобы настроить подключение.

Особенности Aurora

При настройке ClickPipes с Aurora PostgreSQL учитывайте следующие моменты:

  1. Endpoint подключения: Всегда подключайтесь к writer endpoint кластера Aurora, так как для логической репликации требуется доступ на запись для создания replication slots, и подключение должно осуществляться к первичному (primary) инстансу.

  2. Обработка отказа (failover): В случае failover Aurora автоматически повысит один из reader-инстансов до роли нового writer. ClickPipes обнаружит разрыв соединения и попытается переподключиться к writer endpoint, который теперь будет указывать на новый primary-инстанс.

  3. Global Database: Если вы используете Aurora Global Database, следует подключаться к writer endpoint первичного региона, поскольку межрегиональная репликация уже обрабатывает передачу данных между регионами.

  4. Особенности хранилища: Слой хранения Aurora является общим для всех инстансов в кластере, что может обеспечивать лучшую производительность логической репликации по сравнению со стандартным RDS.

Работа с динамическими endpoint'ами кластера

Хотя Aurora предоставляет стабильные endpoint'ы, которые автоматически маршрутизируют трафик к соответствующему инстансу, ниже приведены дополнительные подходы для обеспечения стабильного подключения:

  1. Для высокодоступных конфигураций настройте приложение на использование writer endpoint Aurora, который автоматически указывает на текущий primary-инстанс.

  2. При использовании межрегионной репликации рассмотрите возможность настройки отдельных ClickPipes для каждого региона, чтобы снизить задержки и повысить отказоустойчивость.

Что дальше?

Теперь вы можете создать свой ClickPipe и начать приём данных из своего кластера Aurora PostgreSQL в ClickHouse Cloud. Обязательно запишите параметры подключения, которые вы использовали при его настройке, — они понадобятся вам при создании ClickPipe.