Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for PostgreSQL
  • Начало работы
    • Все руководства
    • Создание кластера PostgreSQL для 1С
    • Создание кластера Linux-серверов «1С:Предприятия» с кластером Managed Service for PostgreSQL
    • Выгрузка базы данных в Yandex Data Processing
    • Поиск проблем с производительностью кластера
    • Анализ производительности и оптимизация
    • Настройка подключения из контейнера Serverless Containers
    • Поставка данных в Yandex Managed Service for Apache Kafka® с помощью Yandex Data Transfer
    • Поставка данных в Yandex Managed Service for YDB с помощью Yandex Data Transfer
    • Поставка данных в Yandex Managed Service for Apache Kafka® с помощью Debezium
    • Захват изменений PostgreSQL и поставка в YDS
    • Поставка данных из Yandex Managed Service for Apache Kafka® с помощью Yandex Data Transfer
    • Перенос данных из Yandex Object Storage с использованием Yandex Data Transfer
    • Настройка отказоустойчивой архитектуры в Yandex Cloud
    • Мониторинг состояния географически распределенных устройств
    • Запись логов балансировщика в PostgreSQL
    • Создание сервера MLFlow для логирования экспериментов и артефактов
    • Работа с данными с помощью Query
    • Федеративные запросы к данным с помощью Query
    • Решение проблем с сортировкой строк после обновления glibc
    • Запись данных с устройства в базу данных
      • Логическая репликация PostgreSQL
      • Миграция базы данных в Managed Service for PostgreSQL
      • Миграция базы данных из Managed Service for PostgreSQL
      • Создание логической реплики Amazon RDS для PostgreSQL в Managed Service for PostgreSQL
      • Миграция базы данных из Yandex Managed Service for PostgreSQL в Yandex Object Storage
      • Миграция данных из Yandex Managed Service for MySQL® в Managed Service for PostgreSQL с помощью Yandex Data Transfer
      • Миграция данных из Managed Service for PostgreSQL в Yandex Managed Service for MySQL® с помощью Yandex Data Transfer
      • Миграция данных из AWS RDS for PostgreSQL в Managed Service for PostgreSQL с помощью Yandex Data Transfer
      • Миграция базы данных из Greenplum® в PostgreSQL
      • Миграция данных из Managed Service for PostgreSQL в Managed Service for OpenSearch с помощью Yandex Data Transfer
      • Асинхронная репликация данных из PostgreSQL в ClickHouse®
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Публичные материалы
  • История изменений
  • Обучающие курсы

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

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

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

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

Вы можете перенести базу данных из Yandex Managed Service for PostgreSQL в Yandex Managed Service for OpenSearch с помощью сервиса Yandex Data Transfer. Для этого:

  1. Подготовьте трансфер.
  2. Проверьте работоспособность трансфера.

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

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

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

  • Плата за кластер Managed Service for PostgreSQL: использование вычислительных ресурсов, выделенных хостам, и дискового пространства (см. тарифы Managed Service for PostgreSQL).
  • Плата за кластер Managed Service for OpenSearch: использование вычислительных ресурсов, выделенных хостам (в том числе хостам с ролью MANAGER), и дискового пространства (см. тарифы Managed Service for OpenSearch).
  • Плата за использование публичных IP-адресов для хостов кластеров (см. тарифы Virtual Private Cloud).
  • Плата за каждый трансфер: использование вычислительных ресурсов и количество переданных строк данных (см. тарифы Data Transfer).

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

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

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

    • Имя БД — db1.
    • Имя пользователя — pg-user.
    • Пароль — <пароль_источника>.
  2. Создайте кластер-приемник Managed Service for OpenSearch любой подходящей конфигурации с хостами в публичном доступе.

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

  4. Настройте группы безопасности для подключения к кластеру-источнику Managed Service for PostgreSQL и кластеру-приемнику Managed Service for OpenSearch.

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

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

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

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

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

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

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

    • folder_id — идентификатор каталога;

    • pg_password — пароль пользователя PostgreSQL;

    • mos_version — версия OpenSearch;

    • mos_password — пароль пользователя OpenSearch;

    • profile_name — имя вашего профиля в CLI.

      Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

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

    terraform validate
    

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

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

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

      terraform plan
      

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

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

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

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

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

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

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

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

    CREATE TABLE x_tab
    (
        id NUMERIC PRIMARY KEY,
        name CHAR(5)
    );
    INSERT INTO x_tab (id, name) VALUES
      (40, 'User1'),
      (41, 'User2'),
      (42, 'User3'),
      (43, 'User4'),
      (44, 'User5');
    
  2. Создайте эндпоинт для приемника со следующими настройками:

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

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

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

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

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

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

      terraform validate
      

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

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

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

        terraform plan
        

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

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

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

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

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

      Трансфер активируется автоматически после создания.

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

  1. Дождитесь перехода трансфера в статус Завершен.

  2. Подключитесь к кластеру-приемнику с помощью OpenSearch Dashboards.

  3. Выберите общий тенант Global.

  4. Создайте новый шаблон индекса с именем public.x_tab:

    1. Откройте панель управления, нажав на значок .
    2. В разделе Management выберите Stack Management.
    3. Перейдите в раздел Index Patterns и нажмите кнопку Create index pattern.
    4. В поле Index pattern name укажите public.x_tab и нажмите кнопку Next step.
    5. Нажмите кнопку Create index pattern.
  5. Откройте панель управления, нажав на значок .

  6. В разделе OpenSearch Dashboards выберите Discover.

  7. В открывшемся дашборде должны появиться данные из базы данных Managed Service for PostgreSQL.

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

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

Удалите эндпоинт для приемника.

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

Вручную
Terraform
  1. Удалите кластер Managed Service for OpenSearch.
  2. Удалите кластер Managed Service for PostgreSQL.
  3. Удалите эндпоинт для источника.
  4. Удалите трансфер.
  1. В терминале перейдите в директорию с планом инфраструктуры.

    Важно

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

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

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

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

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

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

Предыдущая
Миграция базы данных из Greenplum® в PostgreSQL
Следующая
Асинхронная репликация данных из PostgreSQL в ClickHouse®
Проект Яндекса
© 2025 ООО «Яндекс.Облако»