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

Рекомендуется задать для параметра Backup retention period достаточно большое значение, в зависимости от сценария использования репликации.
2. Увеличьте интервал хранения binlog
Если ClickPipes попытается возобновить репликацию, а нужные файлы binlog будут удалены из‑за настроенного интервала их хранения, ClickPipe перейдет в аварийное состояние и потребуется повторная синхронизация.
По умолчанию Aurora MySQL очищает двоичный журнал как можно скорее (то есть использует lazy purging — «ленивое удаление»). Рекомендуется увеличить интервал хранения 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.
- Нажмите на ссылку группы параметров (parameter group).
- Нажмите кнопку Edit в правом верхнем углу.
- Установите
enforce_gtid_consistencyв значениеON. - Установите
gtid-modeв значениеON. - Нажмите Save Changes в правом верхнем углу.
- Перезагрузите экземпляр, чтобы изменения вступили в силу.

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


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