Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом руководстве описано, как использовать расширение миграции Azure DocumentDB в Visual Studio Code для создания заданий миграции из локального или облачного экземпляра MongoDB в Azure DocumentDB. Это расширение предоставляет удобный для разработчика интерфейс для выполнения миграции без прерываний работы службы. Расширение устраняет потребность в дополнительной инфраструктуре и обеспечивает безопасное подключение, нулевое использование и детализированный контроль над переносом баз данных и коллекций.
Основное внимание в этой статье уделяется использованию интегрированного рабочего процесса расширения для упрощения шагов миграции непосредственно в Visual Studio Code. Этот подход идеально подходит для сценариев, в которых требуется упрощенный управляемый интерфейс с минимальной сложностью и максимальной надежностью.
Предпосылки
подписка Azure
- Если у вас нет подписки Azure, создайте бесплатную учетную запись.
Существующий кластер Azure DocumentDB
- Если у вас нет кластера, создайте новый кластер
- Установите надстройку миграции Azure DocumentDB на вашем устройстве. Это автоматически устанавливает необходимые компоненты, расширение DocumentDB для Visual Studio Code .
Перед началом миграции подготовьте учетную запись Azure DocumentDB и существующий экземпляр MongoDB для миграции.
Экземпляр MongoDB (источник)
- Выполните оценку перед миграцией, чтобы определить, существуют ли несовместимости и предупреждения между исходным экземпляром и целевым аккаунтом.
- Добавьте пользователя с разрешениями
readAnyDatabaseиclusterMonitor, если такого еще не существует. Вы используете эти учетные данные при создании заданий миграции в расширении.
Azure DocumentDB (целевой объект)
- Соберите учетные данные учетной записи Azure DocumentDB.
- Убедитесь, что у пользователя есть
createCollection,dropCollectionиcreateIndexinsertlistCollectionsразрешения.
Это важно
Проверка подлинности идентификатора Microsoft Entra в настоящее время не поддерживается в заданиях миграции. Используйте встроенную аутентификацию DocumentDB.
Выполните миграцию
Подключение к источнику
- Откройте расширение DocumentDB для VS Code .
- Добавьте сервер MongoDB, который необходимо перенести в список подключений к базе данных документов .
- Выберите "Добавить новое подключение".
- На панели навигации выберите Строку подключения.
- Вставьте строку подключения:
mongodb://<YOUR_USERNAME>:<YOUR_PASSWORD>@localhost:10260/?tls=true&tlsAllowInvalidCertificates=true&authMechanism=SCRAM-SHA-256 - В параметрах "Подключения DocumentDB" выберите подключение и разверните его для подключения.
Вызов расширения миграции
Вы можете вызвать расширение миграции из подключений DocumentDB.
Щелкните правой кнопкой мыши на развернутом (подключенном) соединении.
Выберите "Миграция данных " в контекстном меню.
Выберите "Миграция в Azure DocumentDB" в палитре команд.
Мастер миграции поможет вам пройти процесс.
Создание задания миграции
Задание миграции используется для переноса группы коллекций из источника в целевой Azure DocumentDB. Мастер создания задачи миграции состоит из шести шагов.
Шаг 1. Создание задания
На этом шаге вы укажите основные сведения о задании.
Имя задания: укажите понятное имя для идентификации задания миграции.
Режим миграции. Выберите режим миграции, наиболее подходящий для вашего варианта использования.
- Онлайн миграция копирует данные коллекции, гарантируя, что обновления также реплицируются во время процесса. Этот метод выгоден с минимальным временем простоя, что позволяет выполнять непрерывные операции для обеспечения непрерывности бизнес-процессов. Используйте этот параметр, если текущие операции имеют решающее значение, и сокращение простоя является приоритетом.
- Оффлайн миграция захватывает моментальный снимок базы данных с самого начала, обеспечивая более простой и предсказуемый подход. Она хорошо работает, если допустимо использование статической копии базы данных и обновления в режиме реального времени не являются необходимыми.
Это важно
Чтобы обеспечить успешную миграцию через Интернет из MongoDB, На исходном сервере MongoDB необходимо включить ChangeStream. Без ChangeStream любые изменения, внесенные в данные после первоначальной миграции, не записываются. Поэтому используйте режим миграции в сети, только если На исходном сервере MongoDB включена функция ChangeStream.
Подключение. В зависимости от мандата безопасности вашей организации и настройки сети выберите общедоступный и частный.
- Используйте общедоступные серверы, когда исходные и целевые серверы доступны через Интернет через общедоступные IP-адреса. Она обеспечивает поддержку служб, требующих внешних специальных возможностей.
- Используйте private , если исходные или целевые серверы доступны исключительно через частные IP-адреса в виртуальной сети. Это повышает безопасность, устраняя воздействие на общедоступный Интернет.
Выберите Далее для продолжения.
Шаг 2. Выбор целевого объекта
На этом шаге вы выберете существующую учетную запись Azure DocumentDB и укажите ее строку подключения.
Выберите подписку, группу ресурсов и учетную запись Azure DocumentDB из раскрывающихся списков.
Укажите строку подключения к учетной записи Azure DocumentDB.
Убедитесь, что IP-адрес, указанный на экране, разрешен в брандмауэре Azure DocumentDB.
Выберите Далее для продолжения.
Шаг 3. Выбор службы миграции базы данных (DMS)
Azure Database Migration Service — это служба, которая переносит данные на платформы данных Azure и из нее с помощью облачной инфраструктуры для передачи данных вместо использования локальных ресурсов. Выберите существующий экземпляр Azure Database Migration Service в раскрывающемся списке или выберите "Создать DMS ", чтобы создать новую службу миграции.
Это важно
Убедитесь, что поставщик ресурсов Microsoft.DataMigration зарегистрирован в вашей подписке. Это нужно сделать только один раз для каждой подписки.
Выберите Далее для продолжения.
Шаг 4. Настройка подключения
Этот экран зависит от режима подключения, выбранного на шаге 1.
Общедоступное подключение
При общедоступном подключении задание миграции подключается к вашему источнику и целевому объекту через публичный интернет. Чтобы включить обмен данными, необходимо обновить исходные и целевые брандмауэры. Чтобы включить обмен данными с серверов DMS, добавьте IP-адреса, перечисленные на экране, в исходные и целевые брандмауэры. Дополнительные сведения см. в статье о настройке брандмауэра кластера Azure DocumentDB .
Частное подключение
В приватном подключении задание миграции выполняется в собственной виртуальной сети. Для безопасного взаимодействия с виртуальной сетью мы используем пиринг виртуальных сетей.
Выберите подписку, группу ресурсов и виртуальную сеть из раскрывающихся списков.
Запустите скрипт PowerShell, предоставленный на экране, чтобы включить интеграцию виртуальной сети.
Выберите Далее для продолжения.
Шаг 5. Выбор коллекций
На этом этапе вы выбираете коллекции, которые будут включены в миграционную задачу. Выберите из списка коллекций, используя указанные параметры поиска. Коллекции, которые уже существуют в целевой системе, автоматически помечаются Да в столбце Существует в Целевой Системе.
Подсказка
Не забудьте выбрать все коллекции, которые хотите включить, так как список коллекций нельзя будет изменить после создания задания миграции.
Выберите Далее для продолжения.
Шаг 6. Подтверждение и запуск
Просмотрите сведения о задании миграции перед нажатием кнопки "Начать миграцию". Если необходимо обновить сведения, нажмите кнопку "Изменить сведения ".
После успешного создания задания миграции вы автоматически перенаправляетесь на страницу "Просмотр существующих заданий "
Подсказка
Задачи миграции данных выполняются в Azure Database Migration Service. Поэтому во время миграции данных не требуется подключаться к исходным и целевым средам. Состояние обновляется на панели мониторинга с частыми интервалами.
Отслеживание существующих заданий миграции
Перейдите на вкладку "Просмотр существующих заданий ", чтобы отслеживать состояние миграции инициализированных заданий. Задачи перечислены на основе выбранной DMS. Нажмите кнопку "Изменить DMS" , чтобы изменить выбранный вариант.
Состояние автоматически обновляется с частыми интервалами. Автономные задачи автоматически завершаются после копирования выбранных снимков коллекции в цель. Тем не менее, миграции в Интернете необходимо сократить вручную.
Чтобы просмотреть состояние коллекции, выберите строку из таблицы.
Мониторинг миграции через Интернет
Миграции в сети, в отличие от автономных миграций, не выполняются автоматически. Вместо этого они выполняются непрерывно, пока они не будут завершены вручную, выбрав Cutover.
Чтобы завершить миграцию по сети, выполните следующие действия в указанном порядке:
Кнопка "Переключение " включена после завершения начальной загрузки данных для всех коллекций. На этом этапе задание находится на этапе репликации, непрерывно копируя обновления из исходного экземпляра в целевой экземпляр, чтобы он соответствовал последним изменениям.
Когда вы будете готовы выполнить перенос данных, остановите все входящие транзакции в исходных коллекциях, которые мигрируются.
Разрыв репликации показывает интервал времени между последним обновлением и текущим временем.
Отслеживайте изменения репликации в таблице и подождите, пока не стабилизируется метрика воспроизведения репликации . Стабильная метрика воспроизведения изменений репликации указывает, что все обновления из источника успешно копируются в целевой объект.
Выберите отрезок, когда разрыв репликации минимальный для всех коллекций, а метрика воспроизведения изменений репликации стабильна.
Вручную убедитесь, что количество строк совпадает с исходными и целевыми коллекциями.
Замечание
Выполнение операции переключения без проверки синхронизации источника и целевого объекта может привести к потере данных.
Зарегистрируйте поставщика ресурсов Microsoft.DataMigration в вашей подписке
Чтобы убедиться, что поставщик ресурсов Microsoft.DataMigration зарегистрирован в подписке, выполните следующие действия.
Портал Azure
Перейдите к портал Azure и перейдите к подписке.
В меню слева выберите поставщики ресурсов в разделе "Параметры".
Найдите Microsoft.DataMigration в поле поиска в верхней части.
Если он не зарегистрирован, выберите его и нажмите кнопку "Зарегистрировать ".
Azure CLI (Интерфейс командной строки для Azure)
Откройте Azure Cloud Shell или локальный терминал.
Выполните указанную ниже команду для регистрации поставщика ресурсов.
az provider register --namespace Microsoft.DataMigration
PowerShell
Откройте Azure Cloud Shell или локальную среду PowerShell.
Выполните указанную ниже команду для регистрации поставщика ресурсов.
Register-AzResourceProvider -ProviderNamespace "Microsoft.DataMigration"
Часто задаваемые вопросы
Почему представления отсутствуют на шаге экрана выбора коллекции, когда Azure DocumentDB поддерживает представления?
Azure DocumentDB поддерживает создание новых представлений. Однако расширение миграции не поддерживает перенос существующих представлений.
После завершения миграции вы всегда можете повторно создать представления.
Какие коллекции и базы данных пропускаются при миграции из MongoDB в Azure DocumentDB?
Следующие базы данных и коллекции считаются внутренними для MongoDB:
| Категория | Description |
|---|---|
| Базы данных | администратор, локальный, конфигурация системы |
| Коллекции | Любая коллекция с префиксом system. |
Выполняются ли задания миграции локально на моем компьютере?
Базы данных и коллекции перечислены непосредственно в пользовательском интерфейсе мастера с помощью команд, выполняемых из локального клиента VS Code. Для этого требуется сетевое подключение между компьютером под управлением VS Code и исходной и целевой сред.
Задачи миграции данных выполняются службой Azure Database Migration Service (DMS). DMS — это размещенная в Azure служба, которая управляет действиями перемещения данных. После создания задач миграции больше не требуется поддерживать подключение к исходным и целевым средам.
Можно ли переименовать базы данных и коллекции во время миграции?
Расширение не поддерживает переименование базы данных и коллекции во время миграции.
Как настроить брандмауэры исходного сервера, чтобы избежать проблем с подключением?
Требуемая конфигурация сети зависит от выбранного режима подключения:
- Общедоступный режим: Чтобы включить связь, необходимо разрешить IP-адреса, отображаемые в мастере, как в исходном, так и в целевом брандмауэрах.
- Закрытый режим: Необходимо включить интеграцию виртуальной сети , чтобы серверы DMS могли безопасно взаимодействовать с исходными и целевыми конечными точками в виртуальной сети.
Также см. сведения о подключении VS Code
Сколько баз данных и коллекций можно перенести в одну миграцию?
В одну миграцию можно включить до 25 коллекций . Однако можно создавать и запускать несколько заданий миграции для переноса других коллекций.
Сколько заданий миграции можно выполнять одновременно?
При использовании общедоступного доступа можно выполнять несколько заданий миграции. Однако при использовании закрытого доступа одна виртуальная сеть может поддерживать только одно активное задание одновременно. Чтобы запустить несколько заданий с частным доступом, необходимо использовать другую виртуальную сеть для каждого задания.
Какой тип журналов создает расширение?
Расширение записывает ошибки, предупреждения и другие журналы диагностики в каталоге журналов по умолчанию:
-
Виндоус -
C:\Users\<username>\.dmamongo\logs\ -
Линукс -
~/.dmamongo/logs -
macOS -
/Users/<username>/.dmamongo/logs