Переход на Облачные службы Azure (расширенная поддержка) с помощью PowerShell

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

1) Планирование миграции

Планирование — это наиболее важный шаг для успешного выполнения миграции. Прежде чем приступать к миграции, ознакомьтесь со статьей Обзор Облачных служб (расширенная поддержка) и Планирование миграции ресурсов IaaS из классической модели в Azure Resource Manager.

2) Установка последней версии PowerShell

Есть два основных способа установки Azure PowerShell — с помощью коллекции PowerShell и установщика веб-платформы (WebPI). Обновления для установщика веб-платформы выпускаются ежемесячно. Обновления для коллекции PowerShell выпускаются на постоянной основе. В этой статье используется Azure PowerShell 2.1.0.

Инструкции по установке см. в статье Установка и настройка Azure PowerShell.

3) Проверка наличия разрешений администратора

Чтобы выполнить миграцию, вас нужно добавить как соадминистратора подписки на портале Azure.

  1. Войдите на портал Azure.
  2. В меню Центр выберите Подписка. Если вы не видите этот пункт, щелкните Все службы.
  3. Найдите нужную запись подписки, а затем посмотрите на поле MY ROLE. Для соадминистратора значение должно выглядеть как Администратор учетной записи.

Если вам не удалась добавить соадминистратора, обратитесь к администратору или соадминистратору служб для подписки, чтобы вас добавили.

4) Регистрация поставщика классической модели и функции CloudService

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

Войдите в учетную запись для модели Resource Manager.

Connect-AzAccount

Получите доступные подписки с помощью следующей команды.

Get-AzSubscription | Sort Name | Select Name

Задайте подписку Azure для текущего сеанса. В этом примере задается имя подписки по умолчанию My Azure Subscription. Замените имя подписки в примере своим собственным значением.

Select-AzSubscription –SubscriptionName "My Azure Subscription"

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

Register-AzResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate

Примечание.

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

Неправильный запрос: Подписка не зарегистрирована для миграции.

Зарегистрируйте функцию CloudServices для подписки. Регистрация займет несколько минут.

Register-AzProviderFeature -FeatureName CloudServices -ProviderNamespace Microsoft.Compute

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

Состояние утверждения регистрации поставщика в классической модели можно проверить, выполнив следующую команду:

Get-AzResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate

Проверьте состояние регистрации с помощью следующей команды:

Get-AzProviderFeature -FeatureName CloudServices -ProviderNamespace Microsoft.Compute

Убедитесь, что RegistrationState имеет значение Registered для обеих регистраций, прежде чем продолжить.

Перед переходом на классическую модель развертывания убедитесь в наличии достаточной квоты виртуального ЦП Azure Resource Manager в регионе Azure текущей среды развертывания или виртуальной сети. Чтобы проверить текущее количество виртуальных ЦП в Azure Resource Manager, используйте приведенную ниже команду PowerShell. Чтобы узнать больше о квотах на виртуальные ЦП, см. соответствующий раздел статьи Подписка Azure, границы, квоты и ограничения службы.

В этом примере проверяется доступность в регионе Западная часть США. Замените регион в примере своим собственным значением.

Get-AzVMUsage -Location "West US"

Теперь войдите в свою учетную запись для классической модели развертывания.

Add-AzureAccount

Получите доступные подписки с помощью следующей команды.

Get-AzureSubscription | Sort SubscriptionName | Select SubscriptionName

Задайте подписку Azure для текущего сеанса. В этом примере задается имя подписки по умолчанию My Azure Subscription. Замените имя подписки в примере своим собственным значением.

Select-AzureSubscription –SubscriptionName "My Azure Subscription"

5) Миграция Облачных служб

Перед началом миграции необходимо изучить этапы миграции и что именно они делают.

Примечание.

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

5.1) Вариант 1. Миграция Облачной службы не в виртуальной сети

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

Get-AzureService | ft Servicename

Получите имя развертывания для Облачной службы. В этом примере имя службы — My Service. Замените имя службы в примере своим собственным значением.

$serviceName = "My Service"
$deployment = Get-AzureDeployment -ServiceName $serviceName
$deploymentName = $deployment.DeploymentName

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

$validate = Move-AzureService -Validate -ServiceName $serviceName -DeploymentName $deploymentName -CreateNewVirtualNetwork
$validate.ValidationMessages

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

Move-AzureService -Prepare -ServiceName $serviceName -DeploymentName $deploymentName -CreateNewVirtualNetwork

Проверьте конфигурацию для подготовленной Облачной службы (расширенная поддержка) с помощью Azure PowerShell или портала Azure. Если вы не готовы выполнить миграцию и хотите вернуть предыдущее состояние, отмените миграцию.

Move-AzureService -Abort -ServiceName $serviceName -DeploymentName $deploymentName

Если вы готовы завершить миграцию, зафиксируйте ее.

Move-AzureService -Commit -ServiceName $serviceName -DeploymentName $deploymentName

5.1) Вариант 2. Миграция Облачной службы в виртуальной сети

Для миграции Облачной службы в виртуальной сети переносится сама виртуальная сеть. Облачная служба автоматически переносится вместе с виртуальной сетью.

Примечание.

Имя виртуальной сети может отличаться от приведенного на новом портале. На новом портале Azure отображается имя в формате [vnet-name], но фактическое имя виртуальной сети имеет тип Group [resource-group-name] [vnet-name]. Прежде чем начать миграцию, найдите фактическое имя виртуальной сети с помощью команды Get-AzureVnetSite | Select -Property Name или просмотрите его на старом портале Azure.

В этом примере виртуальной сети присваивается имя myVnet. Замените имя виртуальной сети в примере своим собственным значением.

$vnetName = "myVnet"

Сначала проверьте возможность переноса виртуальной сети с помощью следующей команды.

Move-AzureVirtualNetwork -Validate -VirtualNetworkName $vnetName

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

Move-AzureVirtualNetwork -Prepare -VirtualNetworkName $vnetName

Проверьте конфигурацию для подготовленной Облачной службы (расширенная поддержка) с помощью Azure PowerShell или портала Azure. Если вы не готовы выполнить миграцию и хотите вернуть предыдущее состояние, используйте следующую команду:

Move-AzureVirtualNetwork -Abort -VirtualNetworkName $vnetName

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

Move-AzureVirtualNetwork -Commit -VirtualNetworkName $vnetName

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

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