Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for OpenSearch
  • Начало работы
    • Настройка политики индексов в Managed Service for OpenSearch
    • Аутентификация в OpenSearch Dashboards с помощью Keycloak
    • Использование плагина yandex-lemmer
      • Миграция данных из стороннего кластера OpenSearch
      • Миграция данных из Elasticsearch
      • Миграция данных из Yandex Managed Service for PostgreSQL
      • Поставка данных из Yandex Managed Service for Apache Kafka®
      • Загрузка данных в Object Storage
      • Миграция данных в Yandex Managed Service for YDB
      • Копирование данных в Yandex Managed Service for ClickHouse®
      • Копирование данных в Managed Service for Greenplum®
    • Мониторинг кластера Managed Service for Kubernetes с помощью Filebeat OSS
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Публичные материалы
  • История изменений
  • Вопросы и ответы

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

  • Необходимые платные ресурсы
  • Перед началом работы
  • Подготовьте тестовые данные
  • Подготовьте и активируйте трансфер
  • Проверьте работу трансфера
  • Удалите созданные ресурсы
  1. Практические руководства
  2. Миграция и копирование данных
  3. Миграция данных в Yandex Managed Service for YDB

Миграция данных из Managed Service for OpenSearch в Yandex Managed Service for YDB с помощью Yandex Data Transfer

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

С помощью сервиса Data Transfer вы можете перенести данные из кластера Managed Service for OpenSearch в базу данных Managed Service for YDB.

Чтобы перенести данные:

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

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

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

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

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

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

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

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

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

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

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

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

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

  2. Если вы используете группы безопасности в кластере, убедитесь, что они настроены правильно и допускают подключение к кластеру Managed Service for OpenSearch.

  3. Получите SSL-сертификат для подключения к кластеру Managed Service for OpenSearch.

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

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

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

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

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

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

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

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

    • сеть;
    • подсеть;
    • группа безопасности и правила, необходимые для подключения к кластеру Managed Service for OpenSearch из интернета;
    • база данных Managed Service for YDB;
    • кластер-приемник Managed Service for OpenSearch;
    • эндпоинт для приемника;
    • трансфер.
  6. Укажите в файле opensearch-to-ydb.tf параметры:

    • mos_version — версия OpenSearch.
    • mos_password — пароль пользователя-владельца базы данных OpenSearch.
    • profile_name — имя вашего профиля в CLI.
  7. Проверьте корректность файлов конфигурации Terraform с помощью команды:

    terraform validate
    

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

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

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

      terraform plan
      

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

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

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

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

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

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

Подготовьте тестовые данныеПодготовьте тестовые данные

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

  2. Создайте тестовый индекс people и задайте его схему:

    curl --user admin:<пароль> \
         --cacert ~/.opensearch/root.crt \
         --header 'Content-Type: application/json' \
         --request PUT 'https://<адрес_хоста_OpenSearch_с_ролью_DATA>:9200/people' && \
    curl --user admin:<пароль> \
         --cacert ~/.opensearch/root.crt \
         --header 'Content-Type: application/json' \
         --request PUT 'https://<адрес_хоста_OpenSearch_с_ролью_DATA>:9200/people/_mapping?pretty' \
         --data'
         {
               "properties": {
                  "name": {"type": "text"},
                  "age": {"type": "integer"}
               }
         }
         '
    
  3. Наполните тестовый индекс данными:

    curl --user admin:<пароль> \
         --cacert ~/.opensearch/root.crt \
         --header 'Content-Type: application/json' \
         --request POST 'https://<адрес_хоста_OpenSearch_с_ролью_DATA>:9200/people/_doc/?pretty' \
         --data'
         {
               "name" : "Alice",
               "age" : "30"
         }
         ' && \
    curl --user admin:<пароль> \
         --cacert ~/.opensearch/root.crt \
         --header 'Content-Type: application/json' \
         --request POST 'https://<адрес_хоста_OpenSearch_с_ролью_DATA>:9200/people/_doc/?pretty' \
         --data'
         {
               "name" : "Robert",
               "age" : "32"
         }
         '
    
  4. (Опционально) Проверьте данные в тестовом индексе:

    curl --user admin:<пароль> \
         --cacert ~/.opensearch/root.crt \
         --header 'Content-Type: application/json' \
         --request GET 'https://<адрес_хоста_OpenSearch_с_ролью_DATA>:9200/people/_search?pretty'
    

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

  1. Создайте эндпоинт-источник типа OpenSearch со следующими настройками:

    • Тип подключения — Кластер Managed Service for OpenSearch.
    • Кластер Managed Service for OpenSearch — выберите кластер Managed Service for OpenSearch из списка.
    • Пользователь — admin.
    • Пароль — <пароль_пользователя>.
  2. Создайте эндпоинт-приемник и трансфер:

    Вручную
    С помощью Terraform
    1. Создайте эндпоинт-приемник типа YDB со следующими настройками:

      • База данных — выберите базу данных ydb1 из списка.
      • Идентификатор сервисного аккаунта — выберите сервисный аккаунт ydb-account из списка.
    2. Создайте трансфер типа Копирование, использующий созданные эндпоинты.

    3. Активируйте трансфер и дождитесь его перехода в статус Завершен.

    1. Укажите в файле opensearch-to-ydb.tf значения параметров:

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

      terraform validate
      

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

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

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

        terraform plan
        

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

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

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

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

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

    4. Трансфер активируется автоматически. Дождитесь его перехода в статус Завершен.

Проверьте работу трансфераПроверьте работу трансфера

  1. Подключитесь к базе данных Managed Service for YDB.

  2. Выполните запрос:

    SELECT * FROM people;
    
    Пример ответа
    # |          _id           | age | name
    --+------------------------+-----+---------
    0 | "5wn5BJEBRVOYnL8d13sP" | 30  | "Alice"
    1 | "6An5BJEBRVOYnL8d13uy" | 32  | "Robert"
    

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

Примечание

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

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

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

    Вручную
    С помощью Terraform
    1. Удалите трансфер.
    2. Удалите эндпоинт для приемника.
    3. Удалите кластер Managed Service for OpenSearch.
    4. Удалите базу данных Managed Service for YDB.
    5. Удалите сервисный аккаунт.
    1. В терминале перейдите в директорию с планом инфраструктуры.

      Важно

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

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

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

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

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

  2. Удалите эндпоинт для источника.

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

Предыдущая
Загрузка данных в Object Storage
Следующая
Копирование данных в Yandex Managed Service for ClickHouse®
Проект Яндекса
© 2025 ООО «Яндекс.Облако»