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

Руководство по настройке источника 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 (если он ещё не установлен).

Включение автоматического резервного копирования в Aurora

Рекомендуется задать для параметра Backup retention period достаточно большое значение, в зависимости от сценария использования репликации.

2. Увеличьте интервал хранения binlog

Примечание

Если ClickPipes попытается возобновить репликацию, а нужные файлы binlog будут удалены из‑за настроенного интервала их хранения, ClickPipe перейдет в аварийное состояние и потребуется повторная синхронизация.

По умолчанию Aurora MySQL очищает двоичный журнал как можно скорее (то есть использует lazy purging — «ленивое удаление»). Рекомендуется увеличить интервал хранения binlog как минимум до 72 часов, чтобы обеспечить доступность файлов двоичного журнала для репликации в случае сбоев. Чтобы задать интервал хранения двоичного журнала (binlog retention hours), используйте процедуру mysql.rds_set_configuration:

mysql=> call mysql.rds_set_configuration('binlog retention hours', 72);

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

Настройка параметров binlog

Группу параметров можно найти, щёлкнув по вашему экземпляру MySQL в консоли RDS, а затем перейдя на вкладку Configuration.

Совет

Если у вас кластер MySQL, то приведённые ниже параметры можно найти в группе параметров DB cluster, а не в группе параметров экземпляра БД.

Где найти группу параметров в Aurora

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

Редактирование группы параметров

Следующие параметры необходимо задать следующим образом:

  1. binlog_formatROW.
Формат binlog — ROW
  1. binlog_row_metadataFULL.
Метаданные строк binlog
  1. binlog_row_imageFULL.
Параметр binlog_row_image

Затем нажмите 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, выполните следующие шаги:

  1. В консоли RDS нажмите на ваш экземпляр MySQL.
  2. Перейдите на вкладку Configuration.
  3. Нажмите на ссылку группы параметров (parameter group).
  4. Нажмите кнопку Edit в правом верхнем углу.
  5. Установите enforce_gtid_consistency в значение ON.
  6. Установите gtid-mode в значение ON.
  7. Нажмите Save Changes в правом верхнем углу.
  8. Перезагрузите экземпляр, чтобы изменения вступили в силу.
GTID включён

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

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

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

    CREATE USER 'clickpipes_user'@'%' IDENTIFIED BY 'some-password';
    
  2. Предоставьте права на схему. В следующем примере показаны права для базы данных mysql. Повторите эти команды для каждой базы данных и хоста, которые вы хотите реплицировать:

    GRANT SELECT ON `mysql`.* TO 'clickpipes_user'@'host';
    
  3. Предоставьте пользователю права на репликацию:

    GRANT REPLICATION CLIENT ON *.* TO 'clickpipes_user'@'%';
    GRANT REPLICATION SLAVE ON *.* TO 'clickpipes_user'@'%';
    

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

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

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

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

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

Что дальше?

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