Переход на Облачные службы Azure (расширенная поддержка) с помощью PowerShell
Ниже показано, как использовать команды Azure PowerShell для перехода с классических Облачных служб на Облачные службы с расширенной поддержкой.
Планирование миграции
Планирование — это наиболее важный шаг для успешного выполнения миграции. Ознакомьтесь с обзором Облачные службы (расширенная поддержка) и планированием миграции ресурсов IaaS из классической модели в Azure Resource Manager перед началом любых шагов миграции.
установка последней версии PowerShell;
Есть два основных способа установки Azure PowerShell — с помощью коллекции PowerShell и установщика веб-платформы (WebPI). Обновления для установщика веб-платформы выпускаются ежемесячно. Обновления для коллекции PowerShell выпускаются на постоянной основе. В этой статье используется Azure PowerShell 2.1.0.
Инструкции по установке см. в статье Установка и настройка Azure PowerShell.
Убедитесь, что разрешения администратора
Чтобы выполнить миграцию, вас нужно добавить как соадминистратора подписки на портале Azure.
- Войдите на портал Azure.
- В меню Центр выберите Подписка. Если вы не видите этот пункт, щелкните Все службы.
- Найдите нужную запись подписки, а затем посмотрите на поле MY ROLE. Для соадминистратора значение должно выглядеть как Администратор учетной записи.
Если вы не можете добавить соадминистратор, обратитесь к администратору службы или соадминистратору для подписки, чтобы добавить себя.
Регистрация классического поставщика и функции 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"
Перенос Облачные службы
Перед началом миграции необходимо изучить этапы миграции и что именно они делают.
Примечание.
Все операции, описанные здесь, являются идемпотентными. Если вы столкнетесь с какой-либо проблемой, не связанной с неподдерживаемой функцией или ошибкой конфигурации, мы рекомендуем повторить подготовку, прервать или зафиксировать текущую операцию. Платформа попытается повторить это действие.
Вариант 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
Вариант 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
Следующие шаги
Просмотрите раздел изменений после миграции, чтобы просмотреть изменения в файлах развертывания, автоматизации и других атрибутах нового развертывания Облачные службы (расширенная поддержка).