Руководство. Перенос баз данных RDS PostgreSQL в Базу данных Azure для PostgreSQL через Интернет с помощью DMS
Внимание
Рекомендуется использовать новую службу миграции в База данных Azure для PostgreSQL для более эффективной и упрощенной миграции. Эта служба упрощает процесс, поддерживая различные исходные среды, обеспечивая переход на База данных Azure для PostgreSQL без хэссов.
С помощью службы Azure Database Migration Service базы данных из экземпляра RDS PostgreSQL можно перенести в Базу данных 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 Community Edition версии 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. См. дополнительные сведения о фильтрации трафика, предназначенного для виртуальной сети, с помощью групп безопасности сети.
Настройте брандмауэр 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
Чтобы создать новую группу параметров, выполните инструкции AWS из статьи о работе с группами параметров базы данных.
Используйте имя главного пользователя, чтобы подключиться к источнику из Azure Database Migration Service. Если вы используете учетную запись, отличную от учетной записи главного пользователя, она должна иметь роли rds_superuser и rds_replication. Роль rds_replication предоставляет разрешения на управление логическими слотами и потоковую передачу данных через логические слоты.
Создайте группу параметров со следующей конфигурацией:
rds.logical_replication
Задайте для параметра в группе параметров базы данных значение1
.max_wal_senders
= [число параллельных задач]. Параметрmax_wal_senders
задает количество параллельных задач, которые могут выполняться. Рекомендуемый параметр:10
.max_replication_slots
= [количество слотов]. Рекомендуемый параметр:5
.
Свяжите созданную группу параметров с экземпляром RDS PostgreSQL.
Перенос схемы
Чтобы перенести все объекты базы данных, такие как схемы таблицы, индексы и хранимые процедуры, извлеките схему из исходной базы данных и примените ее к нужной базе данных.
Чтобы перенести только схему, проще всего выполнить pg_dump с параметром -s. Дополнительные сведения см. в разделе примеров в руководстве по pg_dump для Postgres.
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
Создайте пустую базу данных в целевой службе, которая является База данных Azure для PostgreSQL гибким сервером.
Импортируйте схему в целевую службу, то есть в Базу данных 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.
Войдите на портал Azure. Выполните поиск по запросу Подписки и выберите этот пункт.
Выберите подписку, в которой нужно создать экземпляр Azure Database Migration Service, а затем щелкните Поставщики ресурсов.
В поле поиска введите migration, а затем щелкните элемент Зарегистрировать рядом с Microsoft.DataMigration.
Создание экземпляра Azure Database Migration Service
В портал Azure выберите +Создать ресурс, найдите Azure Database Migration Service и выберите Azure Database Migration Service в раскрывающемся списке.
На экране Azure Database Migration Service выберите Создать.
На экране Создание службы миграции укажите имя службы, подписку и новую или существующую группу ресурсов.
Выберите расположение, в котором нужно создать экземпляр Azure Database Migration Service.
Выберите существующую виртуальную сеть или создайте новую.
Виртуальная сеть предоставляет Azure Database Migration Service доступ к исходному экземпляру PostgreSQL и целевому экземпляру Базы данных Azure для PostgreSQL.
См. статью Краткое руководство. Создание виртуальной сети с помощью портала Azure.
Выберите ценовую категорию. Для этой миграции в Интернете выберите ценовую категорию "Премиум": 4vCores.
Выберите Создать, чтобы создать службу.
Создание проекта миграции
После создания службы найдите ее на портале Azure, откройте и создайте проект миграции.
На портале Azure щелкните Все службы, выполните поиск по запросу "Azure Database Migration Service" и выберите Azure Database Migration Services (Службы Azure Database Migration Service).
На экране Службы Azure Database Migration Service найдите и выберите имя созданного экземпляра Azure Database Migration Service, а затем щелкните элемент Новый проект миграции.
На экране Новый проект миграции задайте имя проекта, в текстовом поле Тип исходного сервера выберите AWS RDS для PostgreSQL, а в текстовом поле Тип целевого сервера — База данных Azure для PostgreSQL.
В разделе Выберите тип действия выберите Миграция данных по сети.
Внимание
Выберите миграцию данных через Интернет. Автономные миграции не поддерживаются для этого сценария.
Кроме того, вы можете выбрать Создать только проект, чтобы создать проект миграции для отложенного выполнения.
Выберите Сохранить.
Выберите Создать и выполнить действие, чтобы создать проект и выполнить действие миграции.
Запишите необходимые условия для настройки онлайн-миграции в области создания проекта.
Укажите сведения об источнике.
В окне Добавление сведений об источнике укажите сведения о подключении для исходного экземпляра PostgreSQL.
Укажите сведения о целевом объекте.
Нажмите кнопку Сохранить, а затем на экране Сведения о целевом объекте укажите сведения о подключении для предварительно подготовленного целевого сервера Базы данных Azure для PostgreSQL, для которого была развернута схема Прокат DVD с помощью PostgreSQL.
Нажмите кнопку Сохранить, а затем на экране Сопоставление с целевыми базами данных сопоставьте исходную и целевую базы данных для миграции.
Если в целевой базе данных содержится база данных с тем же именем, что у исходной базы данных, Azure Database Migration Service по умолчанию выберет целевую базу данных.
Нажмите кнопку Сохранить в окне Migration summary (Сводка по миграции) и в поле Имя действия введите имя действия миграции, а затем проверьте соответствие сведениям о целевом и исходном сервере, которые вы указали ранее.
Выполните миграцию.
Выберите Запустить миграцию.
Появится окно действия миграции и в поле Состояние будет указано Инициализация.
Отслеживайте ход миграции.
На экране действия миграции нажимайте Обновить, чтобы периодически обновлять содержимое экрана, пока в поле Состояние не будет указано Выполнение.
В столбце Имя базы данных выберите базу данных, чтобы узнать состояние миграции для операций полной загрузки данных и добавочной синхронизации данных.
В разделе полной загрузки данных отображается состояние начальной загрузки, а в разделе добавочной синхронизации данных — состояние отслеживания измененных данных (CDC).
Выполните прямую миграцию.
После завершения начальной полной загрузки базы данных помечаются как готовые к прямой миграции.
Когда вы будете готовы выполнить миграцию базы данных, щелкните Запустить прямую миграцию.
Дождитесь завершения счетчика
0
ожидающих изменений, чтобы убедиться, что все входящие транзакции в исходную базу данных остановлены, установите флажок "Подтвердить" и нажмите кнопку "Применить".Когда состояние переноса базы данных изменится на Завершено, подключите свои приложения к новому целевому экземпляру Базы данных Azure для PostgreSQL.
Теперь перенос локального экземпляра RDS PostgreSQL в Базу данных Azure для PostgreSQL по сети завершен.