Руководство по настройке источника Aurora MySQL
В этом пошаговом руководстве показано, как настроить Amazon Aurora MySQL для репликации данных в ClickHouse Cloud с помощью MySQL ClickPipe. Ответы на распространённые вопросы о MySQL CDC см. на странице MySQL FAQs.
Включение хранения двоичных журналов
Двоичный журнал — это набор файлов журнала, содержащих информацию об изменениях данных, внесённых в экземпляр сервера MySQL; файлы двоичного журнала необходимы для репликации. Чтобы настроить хранение двоичных журналов в Aurora MySQL, необходимо включить двоичное логирование и увеличить интервал хранения binlog.
1. Включите двоичное логирование с помощью автоматического резервного копирования
Функция автоматического резервного копирования определяет, включено или отключено двоичное логирование для MySQL. Автоматическое резервное копирование можно настроить для вашего экземпляра в RDS Console, перейдя в Modify > Additional configuration > Backup и установив флажок Enable automated backups (если он ещё не установлен).

Рекомендуется задать для параметра Backup retention period достаточно большое значение в зависимости от сценария репликации.
2. Увеличьте интервал хранения binlog
Если ClickPipes попытается возобновить репликацию, а необходимые файлы binlog уже были удалены из-за настроенного интервала хранения binlog, ClickPipe перейдёт в состояние ошибки и потребуется повторная синхронизация.
По умолчанию Aurora MySQL очищает двоичный журнал как можно скорее (т. е. используется отложенное удаление). Рекомендуется увеличить интервал хранения binlog как минимум до 72 часов, чтобы обеспечить доступность файлов двоичного журнала для репликации в аварийных сценариях. Чтобы задать интервал хранения двоичных журналов (binlog retention hours), используйте процедуру mysql.rds_set_configuration:
Если эта настройка не задана или установлен слишком короткий интервал, это может привести к разрывам в двоичных логах и не позволит ClickPipes корректно возобновлять репликацию.
Настройка параметров binlog
Группу параметров можно найти, выбрав ваш экземпляр MySQL в консоли RDS, а затем перейдя на вкладку Configuration.
Если у вас кластер MySQL, перечисленные ниже параметры можно найти в группе параметров DB cluster, а не в группе параметров экземпляра БД.

Нажмите на ссылку группы параметров, после чего вы попадёте на её отдельную страницу. В правом верхнем углу должна быть кнопка Edit.

Необходимо задать следующие параметры:
binlog_format— значениеROW.

binlog_row_metadata— значениеFULL.

binlog_row_image— значениеFULL.

Затем нажмите Save Changes в правом верхнем углу. Возможно, потребуется перезагрузить экземпляр, чтобы изменения вступили в силу — об этом можно судить по индикатору Pending reboot, который появится рядом со ссылкой на группу параметров на вкладке Configuration экземпляра Aurora.
Включение режима GTID (рекомендуется)
MySQL ClickPipe также поддерживает репликацию без режима GTID. Однако включение режима GTID рекомендуется для повышения производительности и упрощения устранения неполадок.
Глобальные идентификаторы транзакций (GTID) — это уникальные идентификаторы, присваиваемые каждой зафиксированной транзакции в MySQL. Они упрощают binlog-репликацию и делают диагностику более простой. Мы рекомендуем включить режим GTID, чтобы MySQL ClickPipe мог использовать репликацию на основе GTID.
Репликация на основе GTID поддерживается для Amazon Aurora MySQL v2 (MySQL 5.7) и v3 (MySQL 8.0), а также Aurora Serverless v2. Чтобы включить режим GTID для вашего экземпляра Aurora MySQL, выполните следующие действия:
- В консоли RDS нажмите на ваш экземпляр MySQL.
- Перейдите на вкладку Configuration.
- Нажмите на ссылку на группу параметров.
- Нажмите кнопку Edit в правом верхнем углу.
- Установите
enforce_gtid_consistencyв значениеON. - Установите
gtid-modeв значениеON. - Нажмите Save Changes в правом верхнем углу.
- Перезагрузите экземпляр, чтобы изменения вступили в силу.

Настройка пользователя базы данных
Подключитесь к экземпляру Aurora MySQL с правами администратора и выполните следующие команды:
-
Создайте отдельного пользователя для ClickPipes:
-
Предоставьте права на схему. В следующем примере показаны права для базы данных
mysql. Повторите эти команды для каждой базы данных и каждого хоста, которые вы хотите реплицировать: -
Предоставьте пользователю права на репликацию:
Настройка сетевого доступа
Управление доступом по IP-адресам
Чтобы ограничить трафик к вашему экземпляру Aurora MySQL, добавьте задокументированные статические NAT IP-адреса в раздел Inbound rules группы безопасности Aurora.


Частный доступ через AWS PrivateLink
Чтобы подключиться к вашему экземпляру Aurora MySQL по частной сети, вы можете использовать AWS PrivateLink. Следуйте руководству по настройке AWS PrivateLink для ClickPipes, чтобы настроить подключение.
Что дальше?
Теперь, когда ваш экземпляр Amazon Aurora MySQL настроен для репликации binlog и безопасного подключения к ClickHouse Cloud, вы можете создать свой первый MySQL ClickPipe. Ответы на распространённые вопросы по MySQL CDC см. на странице часто задаваемых вопросов по MySQL.