Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
Практические руководства
  • Веб-сервис
    • Все руководства
    • Статический сайт в Object Storage
    • Сайт на LAMP- или LEMP-стеке
    • Отказоустойчивый сайт с балансировкой нагрузки с помощью Network Load Balancer
    • Отказоустойчивый сайт с балансировкой нагрузки с помощью Application Load Balancer
    • Сайт на базе Joomla с БД PostgreSQL
    • Создание сайта на WordPress
    • Сайт на WordPress с БД MySQL
    • Перенос WordPress сайта с хостинга в Yandex Cloud
    • Сайт на базе 1С-Битрикс
    • Организация виртуального хостинга
    • Создание балансировщика с защитой от DDoS
    • Публикация обновлений для игр с помощью Cloud CDN
    • Интеграция L7-балансировщика с Cloud CDN и Object Storage
    • Сине-зеленое и канареечное развертывание версий сервиса
    • Терминирование TLS-соединений
  • Интернет-магазины
    • Все руководства
    • Интернет-магазин на 1С-Битрикс
    • Интернет-магазин на OpenCart
  • Архив данных
    • Все руководства
    • Однонодовый файловый сервер
    • Настройка SFTP-сервера на Centos 7
    • Резервное копирование в Object Storage через Acronis
    • Резервное копирование в Object Storage с помощью CloudBerry Desktop Backup
    • Резервное копирование в Object Storage через Duplicati
    • Резервное копирование в Object Storage с помощью Bacula
    • Резервное копирование в Object Storage с помощью Veritas Backup Exec
    • Распознавание архива изображений в Vision
  • Тестовая среда
    • Все руководства
    • Тестирование приложений с помощью GitLab
    • Создание тестовых ВМ через GitLab CI
    • Высокопроизводительные вычисления на прерываемых ВМ
    • Эмуляция множества IoT-устройств
    • Нагрузочное тестирование gRPC-сервиса
    • Развертывание и нагрузочное тестирование gRPC-сервиса с масштабированием
    • HTTPS-тест с постоянной нагрузкой с помощью Phantom
    • HTTPS-тест со ступенчатой нагрузкой с помощью Pandora
    • Нагрузочное тестирование с нескольких агентов
  • Управление инфраструктурой
    • Все руководства
    • Начало работы с Terraform
    • Загрузка состояний Terraform в Object Storage
    • Начало работы с Packer
    • Сборка образа ВМ с набором инфраструктурных инструментов с помощью Packer
    • Автоматизация сборки образов с помощью Jenkins и Packer
    • Непрерывное развертывание контейнеризованных приложений с помощью GitLab
    • Создание кластера Linux-серверов «1С:Предприятия» с кластером Managed Service for PostgreSQL
    • Миграция в Yandex Cloud с помощью Hystax Acura
    • Защита от сбоев с помощью Hystax Acura
    • Настройка синхронизации часов с помощью NTP
    • Работа с группой ВМ с автомасштабированием
    • Масштабирование группы ВМ по расписанию
    • Автомасштабирование группы ВМ для обработки сообщений из очереди Message Queue
    • Обновление группы ВМ под нагрузкой
    • Передача логов с ВМ в Cloud Logging
    • Резервное копирование ВМ с помощью Hystax Acura Backup
    • Настройка отказоустойчивой архитектуры в Yandex Cloud
    • Создание SAP-программы в Yandex Cloud
    • Настройка локального кеширующего DNS-резолвера
    • Миграция DNS-зон из Яндекс 360 в Cloud DNS
    • Интеграция Cloud DNS и корпоративного сервиса DNS
    • Создание веб-хука резолвера ACME для ответов на DNS01-проверки
    • Запись логов балансировщика в PostgreSQL
    • Создание триггера для бюджетов, который вызывает функцию для остановки ВМ
  • Построение Data Platform
    • Все руководства
    • Миграция БД из стороннего кластера Apache Kafka® в Managed Service for Apache Kafka®
    • Поставка данных из Managed Service for MySQL в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for ClickHouse с помощью Data Transfer
    • Перенос данных между кластерами Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for YDB с помощью Data Transfer
    • Поставка данных из Managed Service for MySQL в Managed Service for Apache Kafka® с помощью Debezium
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Debezium
    • Настройка Kafka Connect для работы с кластером Managed Service for Apache Kafka®
    • Управление схемами данных в Managed Service for Apache Kafka®
    • Использование Managed Schema Registry с Managed Service for Apache Kafka®
    • Использование Confluent Schema Registry с Managed Service for Apache Kafka®
    • Миграция базы данных из MySQL в ClickHouse с помощью Data Transfer
    • Асинхронная репликация данных из PostgreSQL в ClickHouse
    • Обмен данными между Managed Service for ClickHouse и Data Proc
    • Настройка Managed Service for ClickHouse для Graphite
    • Получение данных из Managed Service for Apache Kafka® в Managed Service for ClickHouse
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for ClickHouse с помощью Data Transfer
    • Получение данных из RabbitMQ в Managed Service for ClickHouse
    • Сохранение потока данных Data Streams в Managed Service for ClickHouse
    • Использование гибридного хранилища в Managed Service for ClickHouse
    • Шардирование таблиц Managed Service for ClickHouse
    • Настройка Cloud DNS для доступа к кластерам управляемых баз данных из других облачных сетей
    • Настройка Cloud DNS для доступа к кластеру Managed Service for ClickHouse из других облачных сетей
    • Обмен данными между Managed Service for ClickHouse и Data Proc
    • Импорт данных из Managed Service for MySQL в Data Proc с помощью Sqoop
    • Импорт данных из Managed Service for PostgreSQL в Data Proc с помощью Sqoop
    • Использование скриптов инициализации для настройки GeeseFS в Data Proc
    • Миграция данных из стороннего кластера Elasticsearch в Managed Service for Elasticsearch с помощью Reindex API
    • Миграция коллекций из стороннего кластера MongoDB в Managed Service for MongoDB
    • Миграция данных в Managed Service for MongoDB
    • Шардирование коллекций MongoDB
    • Анализ производительности и оптимизация MongoDB
    • Миграция БД из стороннего кластера MySQL в кластер Managed Service for MySQL
    • Анализ производительности и оптимизация Managed Service for MySQL
    • Синхронизация данных из стороннего кластера MySQL в Managed Service for MySQL с помощью Data Transfer
    • Миграция БД из Managed Service for MySQL в сторонний кластер MySQL
    • Миграция БД из Managed Service for MySQL в Object Storage с помощью Data Transfer
    • Импорт данных из Managed Service for MySQL в Data Proc с помощью Sqoop
    • Поставка данных из Managed Service for MySQL в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for MySQL в Managed Service for Apache Kafka® с помощью Debezium
    • Миграция БД из Managed Service for MySQL в Managed Service for YDB с помощью Data Transfer
    • Создание кластера PostgreSQL для «1С:Предприятия»
    • Анализ производительности и оптимизация Managed Service for PostgreSQL
    • Миграция БД из Managed Service for PostgreSQL
    • Миграция БД из стороннего кластера PostgreSQL в Managed Service for PostgreSQL
    • Асинхронная репликация данных из PostgreSQL в ClickHouse
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Debezium
    • Импорт данных из Managed Service for PostgreSQL в Data Proc с помощью Sqoop
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for YDB с помощью Data Transfer
    • Миграция БД из Managed Service for PostgreSQL в Object Storage
    • Миграция БД из Greenplum® в ClickHouse
    • Миграция БД из Greenplum® в PostgreSQL
    • Миграция БД из стороннего кластера Redis в Managed Service for Redis
    • Использование кластера Managed Service for Redis в качестве хранилища сессий PHP
  • Продукты Microsoft в Yandex Cloud
    • Все руководства
    • Развертывание Active Directory
    • Развертывание Microsoft Exchange
    • Развертывание Remote Desktop Services
    • Развертывание группы доступности Always On с внутренним сетевым балансировщиком
    • Развертывание Remote Desktop Gateway
  • Сетевая инфраструктура
    • Все руководства
    • Архитектура и защита базового интернет-сервиса
    • Настройки DHCP для работы с корпоративным DNS-сервером
    • Маршрутизация с помощью NAT-инстанса
    • Создание туннеля IPSec VPN
    • Установка виртуального роутера Cisco CSR 1000v
    • Установка виртуального роутера Mikrotik CHR
    • Соединение с облачной сетью при помощи OpenVPN
    • Создание и настройка шлюза UserGate в режиме прокси-сервера
    • Создание и настройка шлюза UserGate в режиме межсетевого экрана
    • Настройка сети для Data Proc
  • Визуализация и анализ данных
    • Все руководства
    • Визуализация данных из файла
    • Создание и публикация диаграммы с картой Москвы из CSV-файла
    • Анализ продаж сети магазинов из БД ClickHouse
    • Анализ открытых данных ДТП на дорогах России
    • Анализ продаж и локаций пиццерий на данных из БД ClickHouse и Cloud Marketplace
    • Веб-аналитика с подключением к Яндекс Метрике
    • Веб-аналитика с расчетом воронок и когорт на данных Яндекс Метрики
    • Аналитика мобильного приложения на данных AppMetrica
    • Анализ статистики подкастов Яндекс Музыки (для авторов подкастов)
    • Визуализация данных с помощью QL-чарта
    • Анализ customer journey мобильного приложения на данных AppMetrica
    • Анализ логов Object Storage при помощи DataLens
  • Интернет вещей
    • Руководства по работе с интернетом вещей
    • Мониторинг состояния географически распределенных устройств
    • Мониторинг показаний датчиков и уведомления о событиях
  • Бессерверные технологии
    • Сокращатель ссылок
    • Ввод данных в системы хранения
    • Хранение журналов работы приложения
    • Развертывание веб-приложения с использованием Java Servlet API
    • Разработка Slack-бота
    • Разработка Telegram-бота
    • Разработка пользовательской интеграции в API Gateway
    • Разработка CRUD API для сервиса фильмов
    • Разработка навыка Алисы и сайта с авторизацией
  1. Построение Data Platform
  2. Синхронизация данных из стороннего кластера MySQL в Managed Service for MySQL с помощью Data Transfer

Синхронизация данных из стороннего кластера MySQL в Yandex Managed Service for MySQL с помощью Yandex Data Transfer

Статья создана
Yandex Cloud
  • Подготовьте облако к работе
    • Необходимые платные ресурсы
  • Создайте ВМ с интернет-магазином
  • Создайте стейджинговое хранилище
  • Настройте параметры трансфера
  • Проследите за переносом изменений в Yandex Cloud
  • Как удалить созданные ресурсы

Из описания сценария вы узнаете, как обеспечить периодическую доставку изменений из внешней базы данных в облако при помощи Data Transfer. Для синхронизации данных в вашем облаке нужно создать промежуточное стейджинговое хранилище данных — Managed Service for MySQL, в которое будут реплицироваться таблицы. Данные синхронизируются практически в режиме реального времени.

Чтобы настроить передачу изменений:

  1. Подготовьте облако к работе.
  2. Создайте ВМ с интернет-магазином.
  3. Создайте стейджинговое хранилище.
  4. Настройте параметры трансфера.
  5. Проследите за переносом изменений в БД в облаке.

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

Подготовьте облако к работе

Перед работой нужно зарегистрироваться в Yandex Cloud и создать платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь, если вы еще не зарегистрированы.
  2. На странице биллинга убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его.

Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака.

Подробнее об облаках и каталогах.

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

В стоимость поддержки инфраструктуры передачи данных входит:

  1. Плата за постоянно запущенную виртуальную машину (см. тарифы Yandex Compute Cloud);
  2. Плата за использование динамического или статического внешнего IP-адреса (см. тарифы Yandex Virtual Private Cloud);
  3. Плата за постоянно запущенный кластер Managed Service for MySQL (см. тарифы Managed Service for MySQL);
  4. Плата за сервис Data Transfer (см. тарифы Data Transfer).

Создайте ВМ с интернет-магазином

  1. Создайте ВМ с интернет-магазином web-store-vm на базе MySQL:

    CLI

    Создайте диск с предварительно настроенным публичным образом виртуальной машины с интернет-магазином:

    yc compute disk create \
       --name web-store-lab-dataplatform \
       --source-image-id fd8lcf21vlpfdhb84m2s \
       --folder-id <your-yc-folder-id>
    

    Создайте виртуальную машину:

    yc compute instance create \
       --name magento \
       --zone ru-central1-a \
       --network-interface subnet-name=default-ru-central1-a,nat-ip-version=ipv4 \
       --hostname ya-sample-store \
       --use-boot-disk disk-name=web-store-lab-dataplatform \
       --ssh-key ~/.ssh/id_ed25519.pub
    
  2. В параметрах группы безопасности добавьте разрешение на входящий и исходящий трафик с 80 и 443 порта, а также с порта MySQL 3306.

  3. Подключитесь к ВМ по ssh:

    ssh yc-user@<публичный_IP-адрес_виртуальной_машины>
    
  4. От имени администратора откройте файл hosts (C:\Windows\System32\drivers\etc\hosts), добавьте строку:

    <ip-address-vm> ya-sample-store.local
    
  5. Подключитесь к интернет-магазину по адресу http://ya-sample-store.local/.

  6. Схему интернет-магазина можно посмотреть при помощи DBeaver.

Создайте стейджинговое хранилище

Для реплицирования таблиц с информацией о заказах интернет-магазина создайте кластер Managed Service for MySQL:

  1. В консоли управления выберите каталог, в котором нужно создать кластер БД.

  2. Выберите сервис Managed Service for MySQL и нажмите Создать кластер.

  3. Задайте имя кластера — ya-sample-cloud-mysql.

  4. Выберите класс хоста — s2.small.

  5. В блоке Размер хранилища:

    • Выберите тип хранилища — network-ssd.
    • Выберите объем — 32ГБ.
  6. В блоке База данных:

    • Укажите имя базы данных — magento-cloud.
    • Укажите имя пользователя — yc-user и пароль — 12345678.
  7. В блоке Сетевые настройки выберите облачную сеть для размещения кластера и группы безопасности для сетевого трафика кластера.

  8. В блоке Хосты выберите параметры хостов БД, создаваемых вместе с кластером:

    • Зона доступности — ru-central1-a.
    • Подсеть — default-ru-central1-a.
  9. Нажмите кнопку Создать кластер.
    Подробнее о создании кластера см. раздел Как начать работать с Managed Service for MySQL.

Настройте параметры трансфера

Чтобы синхронизировать информацию о заказах из БД MySQL интернет-сайта с промежуточным хранилищем данных, которое находится в облаке, настройте Data Transfer:

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

  2. Выберите сервис Data Transfer и нажмите Создать эндпоинт.

  3. Определите параметры источника данных — виртуальной машины интернет-магазина с запущенным на нем экземпляром MySQL:

    • Имя — magento-source.
    • Выберите из списка тип БД — MySQL.
    • IP хоста — <публичный_IP-адрес_виртуальной_машины>.
    • Имя базы данных — ya_sample_store.
    • Имя пользователя — magento-svc и пароль — m@gent0.
    • В белом списке укажите префиксы таблиц, которые подлежат репликации, например, sales_*.
    • Нажмите кнопку Создать.
  4. Определите параметры приемника данных — управляемой базы данных Managed Service for MySQL, которая находится в облаке:

    • Имя — magento-report-dest.
    • База данных — Managed Service for MySQL.
    • Выберите из списка идентификатор кластера — ya-sample-cloud-mysql.
    • Имя базы данных — magento-cloud.
    • Имя пользователя репликации — yc-user и пароль — 12345678.
    • В строке Отключение проверки констрейнтов поставьте галочку.
      В данном случае, если произойдет нарушение порядка передачи данных, не будут выдаваться сообщения об ошибках.
    • Нажмите кнопку Создать.
  5. Выберите в меню раздел Трансферы и нажмите кнопку Создать трансфер.

  6. Определите параметры трансфера:

    • Имя — sales-order-sync.
    • В блоке Источник выберите эндпоинт magento-source.
    • В блоке Приемник выберите эндпоинт magento-report-dest.
    • В блоке Тип трансфера выберите — Копировать и реплицировать.
    • Нажмите кнопку Создать.
    • Нажмите на в строке с описанием трансфера и выберите Активировать.

    Будет выполнена первоначальная синхронизация схем данных и другой информации, а в дальнейшем, данные будут автоматически синхронизироваться при появлении изменений в базе данных источника. Статус синхронизации и сообщения об ошибках можно найти в разделе Логи.

  7. Проверьте, что схемы базы данных появились в стейджинговом хранилище:

    • Перейдите в раздел SQL стейджингового хранилища ya-sample-cloud-mysql.
    • Введите имя пользователя — yc-user и пароль — 12345678.
    • Выберите БД — magento-cloud.
    • Нажмите Подключиться.

    В окне появится схема БД интернет-магазина.

Проследите за переносом изменений в Yandex Cloud

  1. Создайте заказ в интернет-магазине по адресу http://ya-sample-store.local/.
  2. Выполните запрос к БД в облаке:
    SELECT so.*, soi.* FROM sales_order_grid so
    INNER JOIN sales_order_item soi ON so.entity_id = soi.order_id
    ORDER BY entity_id DESC 
    LIMIT 10
    
  3. Убедитесь, что данные вашего заказа появились в БД.

Как удалить созданные ресурсы

Чтобы перестать платить за инфраструктуру для передачи данных, удалите ВМ magento и кластер ya-sample-cloud-mysql.

Если вы зарезервировали публичный статический IP-адрес, удалите его.

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

Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
В этой статье:
  • Подготовьте облако к работе
  • Необходимые платные ресурсы
  • Создайте ВМ с интернет-магазином
  • Создайте стейджинговое хранилище
  • Настройте параметры трансфера
  • Проследите за переносом изменений в Yandex Cloud
  • Как удалить созданные ресурсы