Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Data Transfer
  • Доступные трансферы
  • Начало работы
    • Все руководства
      • MySQL® в Apache Kafka®
      • MySQL® в YDS
      • PostgreSQL в Apache Kafka®
      • PostgreSQL в YDS
      • YDB в Apache Kafka®
      • YDB и поставка в YDS
  • Решение проблем
  • Управление доступом
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Публичные материалы
  • Обучающие курсы

В этой статье:

  • Необходимые платные ресурсы
  • Перед началом работы
  • Подготовьте трансфер
  • Активируйте трансфер
  • Проверьте работу репликации
  • Удалите созданные ресурсы
  1. Практические руководства
  2. Захват изменений данных и поставка в очередь
  3. MySQL® в YDS

Захват изменений из MySQL® и поставка в YDS

Статья создана
Yandex Cloud
Обновлена 8 апреля 2025 г.
  • Необходимые платные ресурсы
  • Перед началом работы
  • Подготовьте трансфер
  • Активируйте трансфер
  • Проверьте работу репликации
  • Удалите созданные ресурсы

Вы можете отслеживать изменения данных в кластере-источнике Managed Service for MySQL® и отправлять их в кластер-приемник Data Streams с помощью технологии Change Data Capture (CDC).

Чтобы настроить CDC с использованием сервиса Data Transfer:

  1. Подготовьте трансфер.
  2. Активируйте трансфер.
  3. Проверьте работу репликации.

Если созданные ресурсы вам больше не нужны, удалите их.

Необходимые платные ресурсыНеобходимые платные ресурсы

В стоимость поддержки описываемого решения входят:

  • Плата за кластер Managed Service for MySQL®: использование вычислительных ресурсов, выделенных хостам, и дискового пространства (см. тарифы Managed Service for MySQL®).

  • Плата за каждый трансфер: использование вычислительных ресурсов и количество переданных строк данных (см. тарифы Data Transfer).

  • Плата за использование публичных IP-адресов для хостов кластера (см. тарифы Virtual Private Cloud).

  • Плата за базу данных Managed Service for YDB. Тарификация зависит от режима использования:

    • Для бессерверного режима — оплачиваются операции с данными и объем хранимых данных.
    • Для режима с выделенными инстансами — оплачивается использование вычислительных ресурсов, выделенных БД, и дискового пространства.

    Подробнее о тарифах Managed Service for YDB.

  • Плата за сервис Data Streams. Она зависит от режима тарификации:

    • По выделенным ресурсам — оплачивается количество единиц записываемых данных и ресурсы, выделенные для обслуживания потоков данных.
    • По фактическому использованию:
      • Если БД работает в бессерверном режиме, поток данных тарифицируется по правилам тарификации для бессерверного режима YDB.

      • Если БД работает в режиме с выделенными инстансами, поток данных отдельно не тарифицируется (оплачивается только БД, см. правила тарификации).

    Подробнее о тарифах Data Streams.

Перед началом работыПеред началом работы

Подготовьте инфраструктуру:

Вручную
Terraform
  1. Создайте кластер-источник Managed Service for MySQL® любой подходящей конфигурации с хостами в публичном доступе и следующими настройками:

    • Имя БД — db1.
    • Имя пользователя — mmy-user.
  2. Выдайте пользователю административные привилегии REPLICATION CLIENT и REPLICATION SLAVE.

  3. Настройте группы безопасности и убедитесь, что они допускают подключение к кластеру.

  4. Создайте базу данных Managed Service for YDB с именем ydb-example любой подходящей конфигурации.

  5. Создайте сервисный аккаунт с именем yds-sa и ролью yds.editor. Трансфер будет использовать его для доступа к Data Streams.

  1. Если у вас еще нет Terraform, установите его.

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

  3. Настройте и инициализируйте провайдер. Чтобы не создавать конфигурационный файл с настройками провайдера вручную, скачайте его.

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

  5. Скачайте в ту же рабочую директорию файл конфигурации mysql-yds.tf.

    В этом файле описаны:

    • сеть;
    • подсеть;
    • группа безопасности, необходимая для подключения к кластеру;
    • кластер-источник Managed Service for MySQL®;
    • база данных Managed Service for YDB;
    • сервисный аккаунт, который будет использоваться для доступа к Data Streams;
    • эндпоинт для источника;
    • трансфер.
  6. Укажите в файле mysql-yds.tf пароль пользователя MySQL®.

  7. Проверьте корректность файлов конфигурации Terraform с помощью команды:

    terraform validate
    

    Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  8. Создайте необходимую инфраструктуру:

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

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

Подготовьте трансферПодготовьте трансфер

  1. Создайте поток данных Data Streams с именем mpg-stream.

  2. Подключитесь к кластеру Managed Service for MySQL®, создайте в базе данных db1 таблицу measurements и заполните ее данными:

    CREATE TABLE measurements (
        device_id varchar(200) NOT NULL,
        datetime timestamp NOT NULL,
        latitude real NOT NULL,
        longitude real NOT NULL,
        altitude real NOT NULL,
        speed real NOT NULL,
        battery_voltage real,
        cabin_temperature real NOT NULL,
        fuel_level real,
        PRIMARY KEY (device_id)
    );
    INSERT INTO measurements VALUES
        ('iv9a94th6rzt********', '2022-06-05 17:27:00', 55.70329032, 37.65472196,  427.5,    0, 23.5, 17, NULL),
        ('rhibbh3y08qm********', '2022-06-06 09:49:54', 55.71294467, 37.66542005, 429.13, 55.5, NULL, 18, 32);
    
  3. Создайте эндпоинт-приемник типа Data Streams со следующими настройками:

    • База данных — ydb-example.
    • Поток — mpg-stream.
    • Сервисный аккаунт — yds-sa.
  4. Создайте эндпоинт-источник и трансфер:

    Вручную
    Terraform
    1. Создайте эндпоинт-источник типа MySQL® и укажите в нем параметры подключения к кластеру:

      • Тип подключения — Кластер Managed Service for MySQL.
      • Кластер Managed Service for MySQL — <имя_кластера-источника> из выпадающего списка.
      • База данных — db1.
      • Пользователь — mmy-user.
      • Пароль — пароль пользователя mmy-user.
    2. Создайте трансфер типа Репликация, использующий созданные эндпоинты.

    1. Укажите в файле mysql-yds.tf переменные:

      • yds_endpoint_id — значение идентификатора эндпоинта для приемника;
      • transfer_enabled – значение 1 для создания трансфера.
    2. Проверьте корректность файлов конфигурации Terraform с помощью команды:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

    3. Создайте необходимую инфраструктуру:

      1. Выполните команду для просмотра планируемых изменений:

        terraform plan
        

        Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

      2. Если вас устраивают планируемые изменения, внесите их:

        1. Выполните команду:

          terraform apply
          
        2. Подтвердите изменение ресурсов.

        3. Дождитесь завершения операции.

Активируйте трансферАктивируйте трансфер

  1. Активируйте трансфер и дождитесь его перехода в статус Реплицируется.

Проверьте, что в поток данных Data Streams перенеслись данные из источника:

Консоль управления
AWS CLI
  1. В консоли управления выберите сервис Data Streams.
  2. Выберите поток-приемник из списка и перейдите в раздел  Просмотр данных.
  3. Убедитесь, что в сегменте shard-000000 появились сообщения, содержащие строки таблицы из источника. Чтобы рассмотреть сообщения подробнее, нажмите на значок .
  1. Установите AWS CLI.

  2. Настройте окружение для Data Streams.

  3. Прочитайте данные из потока с помощью:

    • AWS CLI.
    • AWS SDK.

Проверьте работу репликацииПроверьте работу репликации

  1. Подключитесь к кластеру-источнику.

  2. Добавьте в таблицу measurements новую строку:

    INSERT INTO measurements VALUES
        ('ad02l5ck6sdt********', '2022-06-05 17:27:00', 55.70329032, 37.65472196,  427.5,    0, 23.5, 19, 45);
    
  3. Убедитесь, что новая строка отобразилась в потоке данных Data Streams.

Удалите созданные ресурсыУдалите созданные ресурсы

Примечание

Перед тем как удалить созданные ресурсы, деактивируйте трансфер.

Некоторые ресурсы платные. Чтобы за них не списывалась плата, удалите ресурсы, которые вы больше не будете использовать:

  1. Удалите трансфер.
  2. Удалите эндпоинт-приемник.
  3. Удалите поток данных Data Streams.

Остальные ресурсы удалите в зависимости от способа их создания:

Вручную
Terraform
  • Эндпоинт-источник.
  • Managed Service for MySQL®.
  • Базу данных Managed Service for YDB.
  1. В терминале перейдите в директорию с планом инфраструктуры.

    Важно

    Убедитесь, что в директории нет Terraform-манифестов с ресурсами, которые вы хотите сохранить. Terraform удаляет все ресурсы, которые были созданы с помощью манифестов в текущей директории.

  2. Удалите ресурсы:

    1. Выполните команду:

      terraform destroy
      
    2. Подтвердите удаление ресурсов и дождитесь завершения операции.

    Все ресурсы, которые были описаны в Terraform-манифестах, будут удалены.

Была ли статья полезна?

Предыдущая
MySQL® в Apache Kafka®
Следующая
PostgreSQL в Apache Kafka®
Проект Яндекса
© 2025 ООО «Яндекс.Облако»