Область применения: ✔️ Front Door (классическая модель)
Решения Azure Front Door в категориях "Стандартный" и "Премиум" предлагают новейшие функции облачной сети доставки для Azure. Благодаря расширенным функциям безопасности и комплексной службе содержимое приложения защищается и ближе к конечным пользователям с помощью глобальной сети Майкрософт. В этой статье описывается процесс миграции для переноса классического профиля Azure Front Door на профиль тарифного плана уровня "Стандартный" или "Премиум" с помощью Azure PowerShell.
Предварительные условия
- Ознакомьтесь со статьей «Об уровне миграции Front Door».
- Убедитесь, что профиль Front Door (классический) можно перенести:
- Azure Front Door Standard и Premium требуют использования протокола HTTPS для всех пользовательских доменов. Если у вас нет собственного сертификата, можно использовать управляемый сертификат Azure Front Door. Сертификат является бесплатным и ведётся за вас.
- Сходство сеансов включается в параметрах группы источников для профиля Azure Front Door уровня "Стандартный" или "Премиум". В классической модели Azure Front Door привязка сессии устанавливается на уровне домена. В рамках миграции привязка сеансов основана на настройках профиля Front Door (классический). Если у вас есть два домена в классическом профиле, который использует один и тот же внутренний пул (группа источников), сходство сеансов должно быть согласовано в обоих доменах, чтобы проверка миграции прошла.
- Последняя версия модуля Azure PowerShell, установленного локально или Azure Cloud Shell. Дополнительные сведения см. в статье Установка и настройка Azure PowerShell.
Примечание.
Вам не нужно вносить изменения DNS до или во время процесса миграции. Однако после завершения миграции и передачи трафика через новый профиль Azure Front Door необходимо обновить записи DNS. Дополнительные сведения см. в разделе "Обновление записей DNS".
Проверка совместимости
Откройте Azure PowerShell и подключитесь к учетной записи Azure. Дополнительные сведения см. в статье "Подключение к Azure PowerShell".
Проверьте профиль Azure Front Door (классическая модель), чтобы узнать, совместим ли он для миграции. Для проверки профиля можно использовать команду Test-AzFrontDoorCdnProfileMigration. Замените значения для имени группы ресурсов и идентификатора ресурса собственными значениями. Используйте Get-AzFrontDoor для получения идентификатора ресурса для профиля Front Door (классическая версия).
Замените следующие значения в команде:
-
<subscriptionId>: идентификатор подписки.
-
<resourceGroupName>: имя группы ресурсов Front Door (классическая версия).
-
<frontdoorClassicName>: имя профиля Front Door (классическая модель).
Test-AzFrontDoorCdnProfileMigration -ResourceGroupName <resourceGroupName> -ClassicResourceReferenceId /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.Network/frontdoors/<frontdoorClassicName>
Если миграция совместима с миграцией, вы увидите следующие выходные данные:
CanMigrate DefaultSku
---------- ----------
True Standard_AzureFrontDoor or Premium_AzureFrontDoor
Если миграция несовместима, вы увидите следующие выходные данные:
CanMigrate DefaultSku
---------- ----------
False
Подготовка к переносу
Примечание.
- Управляемый сертификат в настоящее время не поддерживается для Azure Front Door уровня "Стандартный" или "Премиум" в Azure для государственных организаций. Необходимо использовать BYOC для Azure Front Door уровня "Стандартный" или "Премиум" в Azure для государственных организаций или ждать, пока эта возможность не будет доступна.
Выполните команду Start-AzFrontDoorCdnProfilePrepareMigration, чтобы подготовиться к миграции. Замените значения для имени группы ресурсов, идентификатора ресурса, имени профиля собственными значениями. Для SkuName используется Standard_AzureFrontDoor или Premium_AzureFrontDoor. Название SkuName основано на результатах выполнения команды Test-AzFrontDoorCdnProfileMigration.
Замените следующие значения в команде:
-
<subscriptionId>: идентификатор подписки.
-
<resourceGroupName>: имя группы ресурсов Front Door (классическая версия).
-
<frontdoorClassicName>: имя профиля Front Door (классическая модель).
Start-AzFrontDoorCdnProfilePrepareMigration -ResourceGroupName <resourceGroupName> -ClassicResourceReferenceId /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.Network/frontdoors/<frontdoorClassicName> -ProfileName myAzureFrontDoor -SkuName Premium_AzureFrontDoor
Результат будет выглядеть примерно так:
Starting the parameter validation process.
The parameters have been successfully validated.
Your new Front Door profile is being created. Please wait until the process has finished completely. This may take several minutes.
Your new Front Door profile with the configuration has been successfully created.
Выполните команду Get-AzFrontDoorWafPolicy, чтобы получить идентификатор ресурса для политики WAF. Замените значения для имени группы ресурсов и имени политики WAF собственными значениями.
Get-AzFrontDoorWafPolicy -ResourceGroupName myAFDResourceGroup -Name myClassicFrontDoorWAF
Результат будет выглядеть примерно так:
PolicyMode : Detection
PolicyEnabledState : Enabled
RedirectUrl :
CustomBlockResponseStatusCode : 403
CustomBlockResponseBody :
RequestBodyCheck : Disabled
CustomRules : {}
ManagedRules : {Microsoft.Azure.Commands.FrontDoor.Models.PSAzureManagedRule}
Etag :
ProvisioningState : Succeeded
Sku : Classic_AzureFrontDoor
Tags :
Id : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/myAFDResourceGroup/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/myClassicFrontDoorWAF
Name : myFrontDoorWAF
Type :
Выполните команду New-AzFrontDoorCdnMigrationWebApplicationFirewallMappingObject, чтобы создать объект в памяти для миграции политики WAF. Используйте идентификатор WAF на последнем шаге MigratedFromId. Чтобы использовать существующую политику WAF, замените значение MigratedToId идентификатором ресурса политики WAF, который соответствует уровню Front Door, к которому вы мигрируете. Если вы создаете новую копию политики WAF, вы можете изменить имя политики WAF в идентификаторе ресурса.
$wafMapping = New-AzFrontDoorCdnMigrationWebApplicationFirewallMappingObject -MigratedFromId /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/myAFDResourceGroup/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/myClassicFrontDoorWAF -MigratedToId /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/myAFDResourceGroup/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/myFrontDoorWAF
Выполните команду Start-AzFrontDoorCdnProfilePrepareMigration, чтобы подготовиться к миграции. Замените значения для имени группы ресурсов, идентификатора ресурса, имени профиля собственными значениями. Для SkuName используется Standard_AzureFrontDoor или Premium_AzureFrontDoor. Название SkuName основано на результатах выполнения команды Test-AzFrontDoorCdnProfileMigration.
Замените следующие значения в команде:
-
<subscriptionId>: идентификатор подписки.
-
<resourceGroupName>: имя группы ресурсов Front Door (классическая версия).
-
<frontdoorClassicName>: имя профиля Front Door (классическая модель).
Start-AzFrontDoorCdnProfilePrepareMigration -ResourceGroupName <resourceGroupName> -ClassicResourceReferenceId /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.Network/frontdoors/<frontdoorClassicName> -ProfileName myAzureFrontDoor -SkuName Premium_AzureFrontDoor -MigrationWebApplicationFirewallMapping $wafMapping
Результат будет выглядеть примерно так:
Starting the parameter validation process.
The parameters have been successfully validated.
Your new Front Door profile is being created. Please wait until the process has finished completely. This may take several minutes.
Your new Front Door profile with the configuration has been successfully created.
Если вы переносите профиль Front Door с BYOC, необходимо включить управляемое удостоверение в профиле Front Door. Необходимо предоставить профилю Front Door доступ к хранилищу ключей, в котором хранится сертификат.
Выполните команду Start-AzFrontDoorCdnProfilePrepareMigration, чтобы подготовиться к миграции. Замените значения для имени группы ресурсов, идентификатора ресурса, имени профиля собственными значениями. Для SkuName используется Standard_AzureFrontDoor или Premium_AzureFrontDoor. Название SkuName основано на результатах выполнения команды Test-AzFrontDoorCdnProfileMigration.
Назначено системой
Для IdentityType используется SystemAssigned.
Start-AzFrontDoorCdnProfilePrepareMigration -ResourceGroupName myAFDResourceGroup -ClassicResourceReferenceId /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/myAFDResourceGroup/providers/Microsoft.Network/Frontdoors/myAzureFrontDoorClassic -ProfileName myAzureFrontDoor -SkuName Premium_AzureFrontDoor -IdentityType SystemAssigned
Пользователь назначен
Выполните команду Get-AzUserAssignedIdentity, чтобы получить идентификатор ресурса для назначенной пользователем идентичности.
$id = Get-AzUserAssignedIdentity -ResourceGroupName myResourceGroup -Name afduseridentity
$id.Id
Результат будет выглядеть примерно так:
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/myAFDResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/afduseridentity
Для IdentityType используйте UserAssigned, а для IdentityUserAssignedIdentity — идентификатор ресурса из предыдущего шага.
Замените следующие значения в команде:
-
<subscriptionId>: идентификатор подписки.
-
<resourceGroupName>: имя группы ресурсов Front Door (классическая версия).
-
<frontdoorClassicName>: имя профиля Front Door (классическая модель).
Start-AzFrontDoorCdnProfilePrepareMigration -ResourceGroupName <resourceGroupName> -ClassicResourceReferenceId /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.Network/frontdoors/<frontdoorClassicName> -ProfileName myAzureFrontDoor -SkuName Premium_AzureFrontDoor -IdentityType UserAssigned -IdentityUserAssignedIdentity @{"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/afduseridentity" = @{}}
Результат будет выглядеть примерно так:
Starting the parameter validation process.
The parameters have been successfully validated.
Your new Front Door profile is being created. Please wait until the process has finished completely. This may take several minutes.
Your new Front Door profile with the configuration has been successfully created.
В этом примере показано, как перенести профиль Front Door с несколькими политиками WAF и включить как назначаемое системой, так и назначаемое пользователем удостоверение.
Выполните команду Get-AzFrontDoorWafPolicy, чтобы получить идентификатор ресурса для политики WAF. Замените значения для имени группы ресурсов и имени политики WAF собственными значениями.
Get-AzFrontDoorWafPolicy -ResourceGroupName myAFDResourceGroup -Name myClassicFrontDoorWAF
Результат будет выглядеть примерно так:
PolicyMode : Detection
PolicyEnabledState : Enabled
RedirectUrl :
CustomBlockResponseStatusCode : 403
CustomBlockResponseBody :
RequestBodyCheck : Disabled
CustomRules : {}
ManagedRules : {Microsoft.Azure.Commands.FrontDoor.Models.PSAzureManagedRule}
Etag :
ProvisioningState : Succeeded
Sku : Classic_AzureFrontDoor
Tags :
Id : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/myAFDResourceGroup/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/myClassicFrontDoorWAF
Name : myFrontDoorWAF
Type :
Выполните команду New-AzFrontDoorCdnMigrationWebApplicationFirewallMappingObject, чтобы создать объект в памяти для миграции политики WAF. Используйте идентификатор WAF на последнем шаге MigratedFromId. Чтобы использовать существующую политику WAF, замените значение MigratedToId идентификатором ресурса политики WAF, который соответствует уровню Front Door, к которому вы мигрируете. Если вы создаете новую копию политики WAF, вы можете изменить имя политики WAF в идентификаторе ресурса.
$wafMapping1 = New-AzFrontDoorCdnMigrationWebApplicationFirewallMappingObject -MigratedFromId /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/myAFDResourceGroup/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/myClassicFrontDoorWAF1 -MigratedToId /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/myAFDResourceGroup/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/myFrontDoorWAF1
$wafMapping2 = New-AzFrontDoorCdnMigrationWebApplicationFirewallMappingObject -MigratedFromId /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/myAFDResourceGroup/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/myClassicFrontDoorWAF2 -MigratedToId /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/myAFDResourceGroup/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/myFrontDoorWAF2
Укажите оба типа управляемых идентификаторов в переменной.
$identityType = "SystemAssigned, UserAssigned"
Выполните команду Get-AzUserAssignedIdentity, чтобы получить идентификатор ресурса для назначенной пользователем идентичности.
$id1 = Get-AzUserAssignedIdentity -ResourceGroupName myResourceGroup -Name afduseridentity1
$id1.Id
$id2 = Get-AzUserAssignedIdentity -ResourceGroupName myResourceGroup -Name afduseridentity2
$id2.Id
Результат будет выглядеть примерно так:
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/myAFDResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/afduseridentity1
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/myAFDResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/afduseridentity2
Укажите идентификатор ресурса удостоверения, назначенный пользователем, в переменной.
$userInfo = @{
"subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/afduseridentity1" = @{}}
"subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/afduseridentity2" = @{}}
}
Выполните команду Start-AzFrontDoorCdnProfilePrepareMigration, чтобы подготовиться к миграции. Замените значения для имени группы ресурсов, идентификатора ресурса, имени профиля собственными значениями. Для SkuName используется Standard_AzureFrontDoor или Premium_AzureFrontDoor. Название SkuName основано на результатах выполнения команды Test-AzFrontDoorCdnProfileMigration. Параметр MigrationWebApplicationFirewallMapping принимает массив объектов миграции политик WAF. Параметр IdentityType принимает разделенный запятыми список типов удостоверений. Параметр IdentityUserAssignedIdentity принимает хэш-таблицу идентификаторов ресурсов, назначенных пользователем.
Замените следующие значения в команде:
-
<subscriptionId>: идентификатор подписки.
-
<resourceGroupName>: имя группы ресурсов Front Door (классическая версия).
-
<frontdoorClassicName>: имя профиля Front Door (классическая модель).
Start-AzFrontDoorCdnProfilePrepareMigration -ResourceGroupName <resourceGroupName> -ClassicResourceReferenceId /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.Network/frontdoors/<frontdoorClassicName> -ProfileName myAzureFrontDoor -SkuName Premium_AzureFrontDoor -MigrationWebApplicationFirewallMapping @($wafMapping1, $wafMapping2) -IdentityType $identityType -IdentityUserAssignedIdentity $userInfo
Результат будет выглядеть примерно так:
Starting the parameter validation process.
The parameters have been successfully validated.
Your new Front Door profile is being created. Please wait until the process has finished completely. This may take several minutes.
Your new Front Door profile with the configuration has been successfully created.
Миграция
Выполните команду Enable-AzFrontDoorCdnProfileMigration, чтобы перенести Front Door (классическую).
Enable-AzFrontDoorCdnProfileMigration -ProfileName myAzureFrontDoor -ResourceGroupName myAFDResourceGroup
Результат будет выглядеть примерно так:
Start to migrate.
This process will disable your Front Door (classic) profile and move all your traffic and configurations to the new Front Door profile.
Migrate succeeded.
Выполните команду Stop-AzFrontDoorCdnProfileMigration, чтобы отменить процесс миграции.
Stop-AzFrontDoorCdnProfileMigration -ProfileName myAzureFrontDoor -ResourceGroupName myAFDResourceGroup
Результат будет выглядеть примерно так:
Start to abort the migration.
Your new Front Door Profile will be deleted and your existing profile will remain active. WAF policies will not be deleted.
Please wait until the process has finished completely. This may take several minutes.
Abort succeeded.
Обновление записей DNS
Ваш старый экземпляр Azure Front Door (классический) использует полное доменное имя (FQDN), отличающееся от доменных имен Azure Front Door уровней "Стандартный" и "Премиум". Например, конечная точка Azure Front Door (классическая) может быть contoso.azurefd.net, в то время как конечная точка Azure Front Door уровня "Стандартный" или "Премиум" может быть contoso-mdjf2jfgjf82mnzx.z01.azurefd.net. Дополнительные сведения о конечных точках Azure Front Door уровня "Стандартный" и "Премиум" см. в статье "Конечные точки Azure Front Door".
Вам не нужно обновлять записи DNS до или во время миграции. Azure Front Door автоматически отправляет трафик, который он получает в конечной точке Azure Front Door (классической) в профиль Azure Front Door уровня "Стандартный" или "Премиум" без внесения изменений в конфигурацию.
Однако после завершения миграции настоятельно рекомендуется обновить записи DNS для перенаправления трафика в новую конечную точку Azure Front Door standard или Premium. Изменение записей DNS помогает гарантировать, что профиль продолжает работать в будущем. Изменение записи DNS не приводит к простою. Вам не нужно заранее планировать это обновление и планировать его в удобном режиме.
Следующие шаги
- Поймите сопоставление параметров уровней Front Door.
- Дополнительные сведения о процессе миграции уровня Azure Front Door.