Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • ИИ для бизнеса
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for YDB
  • Начало работы
    • Все руководства
    • Развертывание веб-приложения
    • Подключение к YDB из функции Yandex Cloud Functions на Python
    • Подключение к базе данных YDB из функции Yandex Cloud Functions на Node.js
    • Конвертация видео в GIF на Python
    • Разработка навыка Алисы и сайта с авторизацией
    • Миграция базы данных из Yandex Managed Service for MySQL® с помощью Yandex Data Transfer
    • Поставка данных из YDB в Yandex Managed Service for Apache Kafka® с помощью Yandex Data Transfer
    • Поставка данных из YDB в Yandex Data Streams с помощью Yandex Data Transfer
    • Загрузка данных из Yandex Object Storage в YDB с помощью Yandex Data Transfer
    • Загрузка данных из YDB в Yandex Object Storage с помощью Yandex Data Transfer
    • Загрузка данных из YDB в Yandex Managed Service for ClickHouse® с помощью Yandex Data Transfer
    • Миграция данных из Yandex Managed Service for OpenSearch в YDB с помощью Yandex Data Transfer
    • Построение пайплайна CI/CD в GitLab с использованием serverless-продуктов
    • Поставка данных из Yandex Managed Service for PostgreSQL в Yandex Managed Service for YDB с помощью Yandex Data Transfer
    • Передача событий Yandex Cloud Postbox в Yandex Data Streams и их анализ с помощью Yandex DataLens
    • Поставка данных из Yandex Managed Service for Apache Kafka® в Data Streams с помощью Yandex Data Transfer
    • Поставка данных из Yandex Managed Service for Apache Kafka® с помощью Yandex Data Transfer
    • Сохранение потока данных Data Streams в Managed Service for ClickHouse®
    • Поставка данных из очереди Data Streams в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из очереди Data Streams в Managed Service for YDB с помощью Data Transfer
    • Захват изменений MySQL® и поставка в YDS
    • Захват изменений PostgreSQL и поставка в YDS
    • Интерактивная отладка функций Cloud Functions
    • Блокировка состояний Terraform с помощью Managed Service for YDB
    • Разработка пользовательской интеграции в API Gateway
    • Разработка CRUD API для сервиса фильмов
    • Создание интерактивного serverless-приложения с использованием WebSocket
    • Сокращатель ссылок
    • Загрузка аудитных логов в MaxPatrol SIEM
    • Интеграция Yandex Cloud Postbox с внешними системами через вебхуки
  • Управление доступом
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Вопросы и ответы
  • Публичные материалы
  • Обучающие курсы

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

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

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

Статья создана
Yandex Cloud
Обновлена 31 октября 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®).

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

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

  • База данных Managed Service for YDB. Стоимость зависит от режима использования:

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

    См. тарифы Managed Service for YDB.

  • Сервис Data Streams. Стоимость зависит от режима тарификации:

    • По выделенным ресурсам — оплачивается фиксированная почасовая ставка за установленный лимит пропускной способности и срок хранения сообщений, а также дополнительно количество единиц фактически записанных данных.
    • По фактическому использованию (On-demand) — оплачиваются выполненные операции записи и чтения данных, объем считанных/записанных данных, а также объем фактически используемого хранилища для сообщений, по которым не истек срок хранения.

    См. тарифы 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-манифестах, будут удалены.

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

Предыдущая
Поставка данных из очереди Data Streams в Managed Service for YDB с помощью Data Transfer
Следующая
Захват изменений PostgreSQL и поставка в YDS
Проект Яндекса
© 2025 ООО «Яндекс.Облако»