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

Руководство по настройке источника 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 в качестве администратора и выполните следующие команды:

  1. Создайте выделенного пользователя для ClickPipes:
CREATE USER clickpipes_user PASSWORD 'some-password';
  1. Предоставьте разрешения на схему. В следующем примере показаны разрешения для схемы 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;
  1. Предоставьте права на репликацию:
GRANT rds_replication TO clickpipes_user;
  1. Создайте публикацию для репликации:
CREATE PUBLICATION clickpipes_publication FOR ALL TABLES;

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

Контроль доступа на основе IP

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

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

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

Учетные записи, специфичные для Aurora

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

  1. Конечная точка подключения: Всегда подключайтесь к конечной точке записи вашего кластера Aurora, так как логическая репликация требует прав на запись для создания слотов репликации и должна подключаться к основному экземпляру.

  2. Обработка аварийных ситуаций: В случае аварии Aurora автоматически повысит читателя до нового писателя. ClickPipes обнаружит разъединение и попытается переподключиться к конечной точке писателя, которая теперь будет указывать на новый основной экземпляр.

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

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

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

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

  1. Для высокодоступных настроек настройте ваше приложение на использование конечной точки писателя Aurora, которая автоматически указывает на текущий основной экземпляр.

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

Что дальше?

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