Перемещение DevTest Labs и schedules
Вы можете переместить DevTest Labs и связанные с ними расписания в другой регион или группу ресурсов. Группы ресурсов можно переместить на портале Azure. Чтобы переместить лабораторию, создайте копию существующей лаборатории в другом регионе. При перемещении лаборатории и наличии виртуальной машины в целевом регионе можно переместить расписания лаборатории.
Вы узнаете, как выполнять следующие задачи:
- Перемещение ресурсов в разные группы ресурсов.
- Экспорт шаблона Azure Resource Manager (ARM) лаборатории.
- Измените шаблон, добавив или обновив целевой регион и другие параметры.
- Используйте шаблон для создания новой лаборатории в целевом регионе.
- Настройте новую лабораторию.
- Переместите данные в новую лабораторию.
- Перемещение расписаний в новую лабораторию.
- Удаление ресурсов в исходном регионе.
Необходимые компоненты
Убедитесь, что службы и функции, используемые вашей учетной записью, поддерживаются в целевом регионе.
Если используются предварительные версии функции, убедитесь, что ваша подписка внесена в список разрешенных подписок для целевого региона.
DevTest Labs не сохраняет или не предоставляет пароли из экспортированного шаблона ARM. Вам нужно знать пароли и секреты:
- виртуальных машин;
- сохраненных секретов;
- личных маркеров доступа закрытых репозиториев артефактов для перемещения частных репозиториев вместе с лабораторией.
При перемещении расписания лаборатории убедитесь, что виртуальная машина вычислений существует в целевом регионе.
Перемещение лаборатории
В следующем разделе описывается перемещение ресурсов в другую группу ресурсов и создание и настройка шаблона ARM для перемещения лаборатории из одного региона в другой.
Расписание можно переместить без перемещения лаборатории, если у вас есть виртуальная машина в целевом регионе. Если вы хотите переместить расписание без перемещения лаборатории, см . раздел "Переместить расписание".
Перемещение групп ресурсов с помощью портала Azure
Перемещение ресурсов между группами ресурсов в разных расположениях теперь легко включено в DevTest Labs. Вы можете легко перенести любой ресурс из одной группы в другую в той же подписке.
Чтобы начать, выберите ресурс, который вы хотите переместить. На странице обзора ресурса вы найдете текущую группу ресурсов, отображаемую вверху. Рядом с именем группы ресурсов вы увидите слово (move)
в скобках.
Щелкните гиперссылок move
текст, который будет направлять вас на новую страницу, где можно переместить ресурс в любую другую группу ресурсов в той же подписке. Обратите внимание, что перемещение ресурса не изменит его расположение, даже если целевая группа ресурсов находится в другом расположении. Если вы не перемещаете ресурсы на портале Azure или передаете в группу ресурсов в другой подписке, альтернативные методы с помощью ARM описаны ниже.
Перемещение лабораторий в другой регион
При перемещении лаборатории необходимо выполнить некоторые действия, чтобы подготовиться к перемещению. Вам нужно:
- Подготовка виртуальной сети
- Экспорт шаблона ARM лаборатории
- Изменение шаблона
- Развертывание шаблона для перемещения лаборатории
- Настройка новой лаборатории
- Переключение дисков ОС виртуальных машин вычислений на новые виртуальные машины
- Очистка исходной лаборатории
Подготовка виртуальная сеть
Чтобы приступить к работе, экспортируйте и измените шаблон Resource Manager.
Войдите на портал Azure.
Если у вас нет Группы ресурсов в целевом регионе, создайте ее.
Переместите текущую виртуальная сеть в новый регион и группу ресурсов, выполнив действия, описанные в статье "Перемещение виртуальной сети Azure в другой регион".
Кроме того, можно создать новую виртуальную сеть, если вам не нужно ничего делать с исходной.
Экспорт шаблона ARM лаборатории
Затем вы экспортируете шаблон JSON, содержащий параметры, описывающие лабораторию.
Чтобы экспортировать шаблон с помощью портала Azure:
Выберите Все ресурсы, а затем выберите группу ресурсов для лаборатории.
Выберите Экспортировать шаблон.
Выберите " Скачать " в шаблоне экспорта.
Найдите скачанный c портала ZIP-файл и распакуйте его в любую выбранную папку.
В ZIP-файле содержатся JSON-файлы, содержащие шаблон и скрипты для развертывания шаблона. Он содержит все ресурсы лаборатории, перечисленные в формате шаблона ARM, за исключением ресурсов общей коллекции образов.
Изменение шаблона
Чтобы шаблон ARM был правильно развернут в новом регионе, необходимо изменить несколько его частей.
Чтобы обновить шаблон с помощью портала Azure, выполните следующие действия.
На портале Azure выберите Создать ресурс.
В строке Поиск в Marketplace введите развертывание шаблона и нажмите клавишу ВВОД.
Выберите Развертывание шаблона.
Нажмите кнопку создания.
Выберите Создать собственный шаблон в редакторе.
Выберите Загрузить файл и следуйте инструкциям, чтобы загрузить файл template.json, скачанный в предыдущем разделе.
В редакторе внесите следующие изменения в файл template.json:
Замените оригинал
location
на новый регион, в котором требуется выполнить развертывание, напримерwestus2
,southeastasia
и т. д. Чтобы получить коды расположения регионов, см. раздел Расположения Azure. Код региона — это имя региона без пробелов, например Центральная часть США =centralus
."variables": {}, "resources": [ { "type": "microsoft.devtestlab/labs", "location": "centralus",
Если у вас есть параметр "Все виртуальные машины в одной группе ресурсов" в разделе "Параметры лаборатории", также обновите следующие значения в шаблоне ARM:
- Измените значение
apiVersion
ресурсаmicrosoft.devtestlab/labs
на2018-10-15-preview
. - Добавьте
vmCreationResourceGroupId
в разделproperties
.
"variables": {}, "resources": [ { "type": "microsoft.devtestlab/labs", "apiVersion": "2018-10-15-preview", "name": "[parameters('labs_lj_dtl_rgsettings_name')]", "location": "<regionName>", "properties": { "vmCreationResourceGroupId": "/subscriptions/<subscriptionID>/resourceGroups/<myResourceGroup>", "labStorageType": "Premium",
- Измените значение
Найдите ресурс
"type": "microsoft.devtestlab/labs/users"
. Удалите весь разделsecretStore
, включая параметрыkeyVaultld
иkeyVaultUri
.secretStore": { "keyVaultUri": "<vaultvalue>" "keyVaultld": "<id>" }
Найдите ресурс
"type": "microsoft.devtestlab/labs/virtualnetworks"
. Если вы создали виртуальную сеть ранее на этих этапах, необходимо добавить фактическое имя подсети в/subnets/[SUBNET_NAME]
. Если вы решили переместить виртуальную сеть в новый регион, пропустите этот шаг.Найдите ресурс
"type": "microsoft.devtestlab/labs/virtualmachines"
.В разделе "Свойства" добавьте
"password": "RANDOM_PASSWORD"
Примечание.
Для создания новой виртуальной машины требуется свойство "пароль". Мы вводим случайный пароль, так как в дальнейшем мы заменим диск ОС на исходную виртуальную машину.
Для виртуальных машин с общим IP-адресом добавьте этот фрагмент кода в раздел "properties.networkInterface",
Виртуальная машина Windows с RDP:
"networkInterface": { "sharedPublicIpAddressConfiguration": { "inboundNatRules": [ { "transportProtocol": "tcp", "backendPort": 3389 } ] } }
Виртуальная машина Linux с SSH:
"networkInterface": { "sharedPublicIpAddressConfiguration": { "inboundNatRules": [ { "transportProtocol": "tcp", "backendPort": 22 } ] } }
В разделе ресурсов
microsoft.devtestlab/labs/users/secrets
ниже приведен параметр "свойства". заменивYOUR_STORED_PASSWORD
собственным паролем;Внимание
Используйте secureString для значений паролей.
"value": "YOUR_STORED_PASSWORD"
В разделе ресурсов
microsoft.devtestlab/labs/artifactsources
ниже приведен параметр "свойства". заменивYOUR_STORED_PASSWORD
собственным паролем; Снова используйте secureString для значений паролей."securityToken": "YOUR_PAT_TOKEN_VALUE"
В редакторе сохраните шаблон.
Развертывание шаблона для перемещения лаборатории
Используйте шаблон для создания новой лаборатории в целевом регионе.
На странице Настраиваемое развертывание обновите все параметры с соответствующими значениями, определенными в шаблоне.
Введите следующие значения:
Имя. Значение Подписка Выберите подписку Azure. Группа ресурсов Выберите имя группы ресурсов, созданной в предыдущем разделе. Местонахождение Выберите расположение для лаборатории. Например, центральная часть США. Имя лаборатории Имя должно быть другим. Идентификатор виртуальной сети Должен быть перемещен или создан новый. Выберите Review + create (Просмотреть и создать).
Нажмите кнопку создания.
Чтобы просмотреть состояние развертывания, щелкните значок колокольчика (уведомления) в верхней части экрана. Появится уведомление Выполняется развертывание. Подождите, пока развертывание завершится.
Настройка новой лаборатории
Хотя большинство ресурсов лаборатории были реплицированы в новом регионе с помощью шаблона ARM, некоторые изменения по-прежнему нужно перемещать вручную.
- Добавьте коллекцию вычислений обратно в лабораторию, если в исходной.
- Добавьте политики "Виртуальные машины на пользователя", "Виртуальные машины на лабораторию" и "Разрешенные размеры виртуальных машин" обратно в перемещенную лабораторию.
Переключение дисков ОС виртуальных машин вычислений на новые виртуальные машины
Обратите внимание, что виртуальные машины в новой лаборатории имеют те же характеристики, что и в старой лаборатории. Единственное отличие заключается в их дисках ОС.
Создайте пустой диск в новом регионе.
Получите имя целевого диска ОС виртуальной машины в новой лаборатории. Вы можете найти виртуальную машину вычислений и его диск в группе ресурсов на странице виртуальной машины лаборатории.
Используйте AzCopy, чтобы скопировать старое содержимое диска в новые или пустые диски в новом регионе. Вы можете выполнять команды PowerShell из Dev Box или из Azure Cloud Shell.
AzCopy — это предпочтительное средство для перемещения данных. Он оптимизирован для производительности. Одним из способов ускорения является непосредственное копирование данных, чтобы AzCopy не использовало пропускную способность сети компьютера. Используйте AzCopy в командной строке или в составе пользовательского сценария. См. подробнее о начале работы с AzCopy.
# Fill in the source/target disk names and their resource group names $sourceDiskName = "SOURCE_DISK" $sourceRG = "SOURCE_RG" $targetDiskName = "TARGET_DISK" $targetRG = "TARGET_RG" $targetRegion = "TARGET_LOCATION" # Create an empty target disk from the source disk $sourceDisk = Get-AzDisk -ResourceGroupName $sourceRG -DiskName $sourceDiskName $targetDiskconfig = New-AzDiskConfig -SkuName $sourceDisk.Sku.Name -UploadSizeInBytes $($sourceDisk.DiskSizeBytes+512) -Location $targetRegion -OsType $sourceDisk.OsType -CreateOption 'Upload' $targetDisk = New-AzDisk -ResourceGroupName $targetRG -DiskName $targetDiskName -Disk $targetDiskconfig # Copy the disk content from source to target $sourceDiskSas = Grant-AzDiskAccess -ResourceGroupName $sourceRG -DiskName $sourceDiskName -DurationInSecond 1800 -Access 'Read' $targetDiskSas = Grant-AzDiskAccess -ResourceGroupName $targetRG -DiskName $targetDiskName -DurationInSecond 1800 -Access 'Write' azcopy copy $sourceDiskSas.AccessSAS $targetDiskSas.AccessSAS --blob-type PageBlob Revoke-AzDiskAccess -ResourceGroupName $sourceRG -DiskName $sourceDiskName Revoke-AzDiskAccess -ResourceGroupName $targetRG -DiskName $targetDiskName
После этого в новом регионе появится новый диск.
- Замените диск ОС виртуальной машины в новой лаборатории на новый диск. Дополнительные сведения см. в статье "Изменение диска ОС, используемого виртуальной машиной Azure, с помощью PowerShell".
Перемещение расписания
Существуют следующие два способа переноса расписания.
- Повторное создание расписаний вручную на перенесенных виртуальных машинах. Этот процесс может занять много времени и сопровождаться ошибками. Этот метод подходит при наличии нескольких расписаний и виртуальных машин.
- Экспорт и повторное развертывание расписаний с помощью шаблонов ARM.
Выполните следующие действия, чтобы экспортировать и повторно развернуть расписание в другом регионе Azure с помощью шаблона ARM.
Войдите на портал Azure.
Перейдите в исходную группу ресурсов, которая содержала виртуальные машины.
На странице Обзор группы ресурсов в разделе Ресурсы выберите Показать скрытые типы.
Выберите все ресурсы с типом microsoft.devtestlab/schedules.
Выберите Экспортировать шаблон.
На странице Экспортировать шаблон группы ресурсов выберите Развернуть.
На странице Пользовательское развертывание выберите Изменить шаблон.
В коде шаблона измените все экземпляры
"location": "<old location>"
на"location": "<new location>"
и нажмите кнопку Сохранить.На странице Пользовательское развертывание введите значения, соответствующие целевой виртуальной машине:
Имя. Значение Подписка Выберите подписку Azure. Группа ресурсов Выберите имя группы ресурсов. Регион Выберите расположение для расписания лаборатории. Например, центральная часть США. Имя расписания Должно быть глобально уникальное имя. VirtualMachine_xxx_externalId Должна быть целевая виртуальная машина. Внимание
Каждое расписание должно иметь глобально уникальное имя; необходимо изменить имя расписания для нового расположения.
Выберите Проверить и создать, чтобы создать развертывание.
После завершения развертывания убедитесь, что новое расписание правильно настроено на новой виртуальной машине.
Отмена или очистка
Если после развертывания нужно начать заново, можно удалить лабораторию и повторить действия, описанные в разделах Подготовка и Перемещение этой статьи.
Чтобы зафиксировать изменения и завершить перемещение, необходимо удалить исходную лабораторию.
Чтобы удалить лабораторию с помощью портала Azure:
На портале Azure разверните меню слева, чтобы открыть меню служб, и выберите Лаборатории DevTest, чтобы просмотреть список лабораторий.
Найдите целевую лабораторию, которую нужно удалить, и щелкните правой кнопкой мыши кнопку Дополнительно (...) справа от списка.
Выберите Удалить и подтвердите действие.
Вы также можете очистить исходные расписания, если они больше не используются. Перейдите к исходной группе ресурсов расписания (где вы экспортировали шаблоны из шага 5 выше) и удалите ресурс расписания.
Следующие шаги
В этой статье вы переместили DevTest Labs из одного региона в другой и очистили исходные ресурсы. Дополнительные сведения о перемещении ресурсов между регионами и аварийном восстановлении в Azure см. по следующей ссылке: