Обработка особых случаев при перемещении виртуальных машин в группу ресурсов или подписку

В этой статье описываются специальные случаи, требующие дополнительных шагов при перемещении виртуальной машины в новую группу ресурсов или подписку Azure. Если виртуальная машина использует шифрование дисков, план Marketplace или Azure Backup, необходимо использовать одно из обходных решений, описанных в этой статье. Для всех других сценариев переместите виртуальную машину со стандартными операциями для портал Azure, Azure CLI или Azure PowerShell. Для Azure CLI используйте команду az resource move . Для Azure PowerShell используйте команду Move-AzResource .

Сведения о перемещении виртуальных машин в новый регион см. в руководстве по перемещению виртуальных машин Azure между регионами.

Неподдерживаемые сценарии

Следующие сценарии пока не поддерживаются.

  • Масштабируемые наборы виртуальных машин со службой Load Balancer ценовой категории "Стандартный" и общедоступным IP-адресом ценовой категории "Стандартный" переместить невозможно.
  • Виртуальные компьютеры в имеющейся виртуальной сети можно перевести на новую подписку только при перемещении виртуальной сети и всех ее зависимых ресурсов.
  • Виртуальные машины, созданные из ресурсов Marketplace с подключенными планами, невозможно переместить между подписками. Возможные обходные пути см. в статье Виртуальные машины с планами Marketplace.
  • Низкоприоритетные виртуальные машины и низкоприоритетные масштабируемые наборы виртуальных машин невозможно переместить между группами ресурсов или подписками.
  • Виртуальные машины в группе доступности невозможно переместить по отдельности.
  • Виртуальные машины, использующие запланированное исправление, нельзя перемещать между группами ресурсов или подписками. Сведения о потенциальном обходном пути см. в статье "Управление обновлениями виртуальных машин с помощью конфигураций обслуживания"

Шифрование дисков Azure

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

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

az vm encryption disable --resource-group demoRG --name myVm1 --volume-type all

Виртуальные машины с планами Marketplace

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

  1. Получите сведения о плане.

    az vm show --resource-group demoRG --name myVm1 --query plan
    
  2. Убедитесь, что предложение по-прежнему существует в Marketplace.

    az vm image list-skus --publisher Fabrikam --offer LinuxServer --location centralus
    
  3. Клонируйте диск операционной системы в целевую подписку либо переместите исходный диск после удаления виртуальной машины из исходной подписки.

  4. В целевой подписке примите условия Marketplace для своего плана. Условия можно принять с помощью следующей команды PowerShell:

    az vm image terms accept --publisher {publisher} --offer {product/offer} --plan {name/SKU}
    

    Вы также можете создать новый экземпляр виртуальной машины с планом с помощью портала. Виртуальную машину можно удалить после принятия условий в новой подписке.

  5. В целевой подписке повторно создайте виртуальную машину на основе клонированного диска ОС с помощью PowerShell, интерфейса командной строки или шаблона Azure Resource Manager. Добавьте план Marketplace, подключенный к диску. Сведения о плане должны соответствовать плану, который вы приобрели в новой подписке. Дополнительные сведения см. в разделе Создание виртуальной машины.

Дополнительные сведения см. в статье Перемещение виртуальной машины Azure Marketplace в другую подписку.

Виртуальные машины с Azure Backup

Чтобы переместить виртуальные машины, настроенные с Azure Backup, необходимо удалить коллекции точек восстановления (моментальных снимков) из хранилища. Точки восстановления, уже скопированные в хранилище, можно сохранять и перемещать.

Если для виртуальной машины включено обратимое удаление, ее невозможно переместить, пока хранятся эти точки восстановления. Отключите обратимое удаление или подождите 14 дней после удаления точек восстановления.

Портал

  1. Временно остановите резервное копирование и сохраните данные резервных копий.

  2. Чтобы переместить виртуальные машины, настроенные с Azure Backup, выполните указанные ниже действия.

    1. Найдите группу ресурсов, которая содержит резервные копии. Если вы использовали группу ресурсов по умолчанию, то ее имя соответствует следующему шаблону: AzureBackupRG_<VM location>_1. Например, имя может иметь формат AzureBackupRG_westus2_1.

      Если вы создали собственную группу ресурсов, выберите эту группу ресурсов. Если вы не можете найти нужную группу ресурсов, выполните на портале поиск по запросу коллекции точек восстановления. Найдите коллекцию, имя которой соответствует шаблону AzureBackup_<VM name>_###########.

    2. Выберите ресурс с типом Коллекция точек восстановления, имя которого соответствует шаблону AzureBackup_<VM name>_###########.

    3. Удалите этот ресурс. Эта операция удаляет только точки мгновенного восстановления, но не данные резервных копий в хранилище.

    4. После завершения операции удаления можно переместить виртуальную машину.

  3. Переместите виртуальную машину в целевую группу ресурсов.

  4. Перенастройте резервную копию.

Скрипт

  1. Найдите группу ресурсов, которая содержит резервные копии. Если вы использовали группу ресурсов по умолчанию, то ее имя соответствует следующему шаблону: AzureBackupRG_<VM location>_1. Например, имя может иметь формат AzureBackupRG_westus2_1.

    Если вы создали собственную группу ресурсов, найдите эту группу ресурсов. Если вы не можете найти группу ресурсов, используйте следующую команду и укажите имя виртуальной машины.

    az resource list --resource-type Microsoft.Compute/restorePointCollections --query "[?starts_with(name, 'AzureBackup_<vm-name>')].resourceGroup"
    
  2. Если вы перемещаете только одну виртуальную машину, получите для нее коллекцию точек восстановления.

    RESTOREPOINTCOL=$(az resource list -g AzureBackupRG_<VM location>_1 --resource-type Microsoft.Compute/restorePointCollections --query "[?starts_with(name, 'AzureBackup_<VM name>')].id" --output tsv)
    

    Удалите этот ресурс. Эта операция удаляет только точки мгновенного восстановления, но не данные резервных копий в хранилище.

    az resource delete --ids $RESTOREPOINTCOL
    
  3. Если вы перемещаете все виртуальные машины с резервными копиями в этом расположении, получите для них коллекции точек восстановления.

    RESTOREPOINTCOL=$(az resource list -g AzureBackupRG_<VM location>_1 --resource-type Microsoft.Compute/restorePointCollections)
    

    Удалите каждый ресурс. Эта операция удаляет только точки мгновенного восстановления, но не данные резервных копий в хранилище.

    az resource delete --ids $RESTOREPOINTCOL
    

Следующие шаги