Поделиться через


Руководство. Перенос баз данных RDS PostgreSQL в Базу данных Azure для PostgreSQL через Интернет с помощью DMS

Внимание

Мы рекомендуем использовать новую службу миграции в базе данных Azure для PostgreSQL для более упрощённой и эффективной миграции. Эта служба упрощает процесс, поддерживая различные исходные среды, обеспечивая переход на База данных Azure для PostgreSQL без хэссов.

Azure Database Migration Service можно использовать для переноса баз данных из экземпляра PostgreSQL RDS в Базу данных Azure для PostgreSQL , пока исходная база данных остается в сети во время миграции. Другими словами, миграцию можно выполнить с минимальным временем простоя для приложения. В этом руководстве вы переносите DVD Rental образец базы данных из экземпляра RDS PostgreSQL 9.6 в База данных Azure для PostgreSQL с помощью действия миграции в Сети в Azure Database Migration Service.

В этом руководстве описано следующее:

  • перенос примера схемы с помощью служебной программы pg_dump;
  • Создайте экземпляр Azure Database Migration Service.
  • создание проекта миграции с использованием Azure Database Migration Service.
  • выполнение миграции.
  • Мониторинг миграции.
  • выполнить переключение после миграции.

Чтобы выполнить подключенную миграцию с помощью Azure Database Migration Service, требуется создать экземпляр ценовой категории "Премиум". Дополнительные сведения см. на странице цен на Azure Database Migration Service. Мы шифруем диск для защиты данных от кражи при миграции.

Внимание

Чтобы оптимизировать процесс миграции, Майкрософт рекомендует создать экземпляр Azure Database Migration Service в том же регионе Azure, в котором размещена целевая база данных. Перемещение данных между регионами и географическими областями может замедлить процесс миграции и привести к ошибкам.

Совет

В Службе azure Database Migration Service можно перенести базы данных в автономном режиме или во время их работы в сети. При автономной миграции время простоя приложения начинается при запуске миграции. Чтобы ограничить время простоя, необходимое для перехода к новой среде после миграции, используйте миграцию через Интернет . Рекомендуется протестировать автономную миграцию, чтобы определить допустимо ли время простоя. Если ожидаемое время простоя недопустимо, выполните миграцию по сети.

В этой статье описывается сетевая миграция из экземпляра RDS PostgreSQL в Базу данных Azure для PostgreSQL.

Необходимые компоненты

Для работы с этим руководством вам потребуется следующее:

  • Скачайте и установите выпуск сообщества PostgreSQL 9.5, 9.6 или 10. На исходном сервере должна быть установлена PostgreSQL версии 9.5.11, 9.6.7, 10 или более поздней. Дополнительные сведения см. в статье Поддерживаемые версии базы данных PostgreSQL.

    Целевая База данных Azure для PostgreSQL версия должна быть равной или более поздней версии RDS PostgreSQL. Например, RDS PostgreSQL 9.6 можно перенести только в Базу данных Azure для PostgreSQL 9.6, 10 или 11, но не в Базу данных Azure для PostgreSQL 9.5.

  • Создайте экземпляр гибкого сервера Базы данных Azure для PostgreSQL.

  • Создайте виртуальную сеть Microsoft Azure для Azure Database Migration Service с помощью модели развертывания Azure Resource Manager, которая обеспечивает подключение типа "сеть — сеть" к локальным исходным серверам с помощью ExpressRoute или VPN. Дополнительные сведения о создании виртуальной сети см. в документации по виртуальной сети, а также в статьях краткого руководства с пошаговыми сведениями.

  • Убедитесь в том, что правила группы безопасности сети для виртуальной сети не блокируют исходящий порт 443 ServiceTag для Служебной шины, службы хранилища и Azure Monitor. Дополнительные сведения о фильтрации трафика NSG виртуальной сети см. в статье "Фильтрация сетевого трафика с группами безопасности сети".

  • Настройте брандмауэр Windows для доступа к ядру СУБД.

  • Откройте брандмауэр Windows, чтобы разрешить Azure Database Migration Service получить доступ к исходному серверу PostgreSQL, который по умолчанию является TCP-портом 5432.

  • При использовании устройства брандмауэра перед исходными базами данных может потребоваться добавить правила брандмауэра, чтобы разрешить Azure Database Migration Service получить доступ к исходным базам данных для миграции.

  • Создайте правило брандмауэра уровня сервера для сервера Базы данных Azure для PostgreSQL, чтобы разрешить Azure Database Migration Service доступ к целевым базам данных. Задайте диапазон подсети в виртуальной сети, которая используется для Azure Database Migration Service.

Настройка репликации для AWS RDS PostgreSQL

  1. Чтобы создать новую группу параметров, следуйте инструкциям, приведенным AWS в статье "Работа с группами параметров базы данных".

  2. Используйте имя главного пользователя, чтобы подключиться к источнику из Azure Database Migration Service. Если вы используете учетную запись, отличную от учетной записи главного пользователя, она должна иметь роли rds_superuser и rds_replication. Роль rds_replication предоставляет разрешения на управление логическими слотами и потоковую передачу данных через логические слоты.

  3. Создайте группу параметров со следующей конфигурацией:

    • rds.logical_replication Задайте для параметра в группе параметров базы данных значение 1.

    • max_wal_senders = [число параллельных задач]. Параметр max_wal_senders задает количество параллельных задач, которые могут выполняться. Рекомендуемый параметр: 10.

    • max_replication_slots = [количество слотов]. Рекомендуемый параметр: 5.

  4. Свяжите созданную группу параметров с экземпляром RDS PostgreSQL.

Перенос схемы

  1. Чтобы перенести все объекты базы данных, такие как схемы таблицы, индексы и хранимые процедуры, извлеките схему из исходной базы данных и примените ее к нужной базе данных.

    Чтобы перенести только схему, проще всего выполнить pg_dump с параметром -s. Дополнительные сведения см. в примерах в руководстве по postgres pg_dump.

    pg_dump -O -h hostname -U db_username -d db_name -s > your_schema.sql
    

    Например, чтобы создать дамп файла схемы для базы данных dvdrental, используйте следующую команду:

    pg_dump -O -h localhost -U postgres -d dvdrental -s  > dvdrentalSchema.sql
    
  2. Создайте пустую базу данных в целевой службе, которая является База данных Azure для PostgreSQL гибким сервером.

  3. Импортируйте схему в целевую службу, то есть в Базу данных Azure для PostgreSQL. Чтобы восстановить файл дампа схемы, выполните следующую команду:

    psql -h hostname -U db_username -d db_name < your_schema.sql
    

    Рассмотрим пример.

    psql -h mypgserver-20170401.postgres.database.azure.com  -U postgres -d dvdrental < dvdrentalSchema.sql
    

    Примечание.

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

Регистрация поставщика ресурсов

Прежде чем создать свой первый экземпляр Database Migration Service, зарегистрируйте поставщик ресурсов Microsoft.DataMigration.

  1. Войдите на портал Azure. Найдите и выберите подписки.

    Снимок экрана: отображение подписок на портале.

  2. Выберите подписку, в которой нужно создать экземпляр Azure Database Migration Service, а затем выберите поставщиков ресурсов.

    Скриншот показа поставщиков ресурсов.

  3. Найдите миграцию и выберите "Зарегистрировать для Microsoft.DataMigration".

    Снимок экрана: регистрация поставщика ресурсов.

Создание экземпляра Azure Database Migration Service

  1. На портале Azure выберите + Создать ресурс, найдите Службу Azure Database Migration Service и выберите Azure Database Migration Service в раскрывающемся списке.

    Снимок экрана: Azure Marketplace.

  2. На экране Azure Database Migration Service нажмите кнопку "Создать".

    Снимок экрана экземпляра службы переноса баз данных Azure.

  3. На экране Create Migration Service укажите имя службы, подписки и новой или существующей группы ресурсов.

  4. Выберите расположение, в котором нужно создать экземпляр Azure Database Migration Service.

  5. Выберите существующую виртуальную сеть или создайте новую.

    Виртуальная сеть предоставляет Azure Database Migration Service доступ к исходному экземпляру PostgreSQL и целевому экземпляру Базы данных Azure для PostgreSQL.

    Дополнительные сведения о создании виртуальной сети на портале Azure см. в статье "Создание виртуальной сети с помощью портала Azure".

  6. Выберите ценовую категорию. Для этой миграции в Интернете выберите ценовую категорию "Премиум": 4vCores.

    Снимок экрана: настройка параметров экземпляра Azure Database Migration Service.

  7. Нажмите кнопку "Создать", чтобы создать службу.

Создание проекта миграции

После создания службы найдите ее на портале Azure, откройте и создайте проект миграции.

  1. На портале Azure выберите все службы, найдите Службу Azure Database Migration Service и выберите Azure Database Migration Services.

    Снимок экрана с результатами поиска всех экземпляров службы миграции баз данных Azure.

  2. На экране Azure Database Migration Services найдите экземпляр Azure Database Migration Service, который вы создали, выберите экземпляр, а затем выберите Создать проект миграции.

  3. На экране нового проекта миграции укажите имя проекта, в текстовом поле " Исходный сервер " выберите AWS RDS для PostgreSQL, а затем в текстовом поле типа целевого сервера выберите базу данных Azure для PostgreSQL.

  4. В разделе "Выбор типа действия " выберите "Миграция данных через Интернет".

    Внимание

    Выберите миграцию данных через Интернет. Автономные миграции не поддерживаются для этого сценария.

    Снимок экрана: создание проекта Database Migration Service.

    Кроме того, можно выбрать только создание проекта, чтобы создать проект миграции сейчас, а выполнить миграцию позже.

  5. Нажмите кнопку "Сохранить".

  6. Выберите "Создать и запустить действие ", чтобы создать проект и запустить действие миграции.

    Запишите необходимые условия для настройки онлайн-миграции в области создания проекта.

Укажите сведения об источнике.

На экране добавления сведений о источнике укажите сведения о подключении для исходного экземпляра PostgreSQL.

Снимок экрана: сведения о источнике.

Укажите сведения о целевом объекте.

  1. Выберите "Сохранить", а затем на экране " Сведения о целевом объекте" укажите сведения о подключении для целевого сервера Базы данных Azure для PostgreSQL, который предварительно подготовлен и имеет схему аренды DVD-дисков , развернутую с помощью pg_dump.

    Снимок экрана: сведения о целевом объекте.

  2. Выберите "Сохранить", а затем на экране "Карта с целевыми базами данных " сопоставляйте источник и целевую базу данных для миграции.

    Если в целевой базе данных содержится база данных с тем же именем, что у исходной базы данных, Azure Database Migration Service по умолчанию выберет целевую базу данных.

    Снимок экрана карты с целевыми базами данных.

  3. Нажмите кнопку "Сохранить", на экране сводки по миграции в текстовом поле "Имя действия " укажите имя действия миграции, а затем просмотрите сводку, чтобы убедиться, что исходные и целевые сведения соответствуют указанным ранее данным.

    Снимок экрана сводки по миграции.

Выполните миграцию.

Выберите "Выполнить миграцию".

Открывается окно активности миграции, и состояние активности инициализация.

Отслеживайте ход миграции.

  1. На экране действия миграции нажмите кнопку "Обновить" , чтобы обновить отображение до тех пор, пока состояние миграции не отображается как запущенное.

    Снимок экрана: состояние действия — выполнение.

  2. В разделе DATABASE NAME выберите конкретную базу данных, чтобы получить состояние миграции для полной загрузки данных и операций синхронизации добавочных данных .

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

    Снимок экрана: экран инвентаризации — полная загрузка данных.

    Снимок экрана: экран инвентаризации — добавочная синхронизация данных.

Выполните прямую миграцию.

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

  1. Когда вы будете готовы завершить миграцию базы данных, нажмите кнопку "Начать переключение".

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

    Снимок экрана завершенного переключения.

  3. Когда состояние миграции базы данных отображается завершено, подключите приложения к новой целевой базе данных Azure для PostgreSQL.

Теперь перенос локального экземпляра RDS PostgreSQL в Базу данных Azure для PostgreSQL по сети завершен.