Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Сведения о начале работы см. в статье "Установка Azure PowerShell". Чтобы узнать, как перейти на модуль Az PowerShell, см. статью Миграция Azure PowerShell с AzureRM на Az.
С выпуском Microsoft Azure PowerShell версии 1.1.0 появилась новая возможность New-AzWebApp
. С помощью этого параметра можно клонировать существующее приложение службы приложений в только что созданное приложение в другом регионе или в одном регионе. Вы можете быстро и легко развертывать несколько приложений в разных регионах.
Клонирование приложений поддерживается для планов службы приложений уровня "Стандартный", "Премиум", "Премиум" версии 2 и "Изолированный". Эта функция использует те же ограничения, что и функция резервного копирования службы приложений, см. в статье "Резервное копирование приложения" в Службе приложений Azure.
Клонирование существующего приложения
Сценарий. Вы хотите клонировать содержимое существующего приложения в регионе "Центральная часть США" в новое приложение в регионе "Северная часть США". Используйте версию Azure Resource Manager команды PowerShell cmdlet для создания нового приложения с параметром -SourceWebApp
.
Если вы знаете имя группы ресурсов, содержащей исходное приложение, можно использовать следующую команду PowerShell для получения сведений о исходном приложении (в данном случае с именем source-webapp
):
$srcapp = Get-AzWebApp -ResourceGroupName SourceAzureResourceGroup -Name source-webapp
Чтобы создать план службы приложений, можно использовать команду, показанную New-AzAppServicePlan
в следующем примере:
New-AzAppServicePlan -Location "North Central US" -ResourceGroupName DestinationAzureResourceGroup -Name DestinationAppServicePlan -Tier Standard
С помощью New-AzWebApp
команды можно создать новое приложение в регионе "Северная часть США" и связать его с существующим планом службы приложений. Кроме того, можно использовать ту же группу ресурсов, что и исходное приложение, или определить новую группу ресурсов. См. следующую команду:
$destapp = New-AzWebApp -ResourceGroupName DestinationAzureResourceGroup -Name dest-webapp -Location "North Central US" -AppServicePlan DestinationAppServicePlan -SourceWebApp $srcapp
Чтобы клонировать существующее приложение, включая все связанные слоты развертывания, необходимо использовать этот параметр IncludeSourceWebAppSlots
. Параметр IncludeSourceWebAppSlots
поддерживается только для клонирования всего приложения, включая все его слоты. Следующая команда PowerShell демонстрирует использование этого параметра с командой New-AzWebApp
:
$destapp = New-AzWebApp -ResourceGroupName DestinationAzureResourceGroup -Name dest-webapp -Location "North Central US" -AppServicePlan DestinationAppServicePlan -SourceWebApp $srcapp -IncludeSourceWebAppSlots
Чтобы клонировать существующее приложение в одном регионе, создайте новую группу ресурсов и новый план службы приложений в том же регионе. Затем используйте следующую команду PowerShell, чтобы клонировать приложение:
$destapp = New-AzWebApp -ResourceGroupName NewAzureResourceGroup -Name dest-webapp -Location "South Central US" -AppServicePlan NewAppServicePlan -SourceWebApp $srcapp
Клонирование существующего приложения в среду службы приложений
Сценарий. Вы хотите клонировать содержимое существующего приложения в регионе "Южная часть США" в новое приложение в существующей среде службы приложений.
Если вы знаете имя группы ресурсов, содержащей исходное приложение, можно использовать следующую команду PowerShell для получения сведений о исходном приложении (в данном случае с именем source-webapp
):
$srcapp = Get-AzWebApp -ResourceGroupName SourceAzureResourceGroup -Name source-webapp
С именем среды службы приложений и именем группы ресурсов, к которой принадлежит среда службы приложений, можно создать новое приложение в существующей среде службы приложений. Процесс показан в следующей команде:
$destapp = New-AzWebApp -ResourceGroupName DestinationAzureResourceGroup -Name dest-webapp -Location "North Central US" -AppServicePlan DestinationAppServicePlan -ASEName DestinationASE -ASEResourceGroupName DestinationASEResourceGroupName -SourceWebApp $srcapp
Параметр Location
требуется по устаревшим причинам, но он игнорируется при создании приложения в среде службы приложений.
Клонирование существующего слота приложения
Сценарий. Вы хотите клонировать существующий слот развертывания приложения в новое приложение или новый слот. Новое приложение может находиться в том же регионе, что и исходный слот приложения или в другом регионе.
Если вы знаете название группы ресурсов, включающей исходное приложение, можно использовать следующую команду PowerShell, чтобы получить сведения о слоте исходного приложения (в данном случае с именем source-appslot
), привязанного к source-app
.
$srcappslot = Get-AzWebAppSlot -ResourceGroupName SourceAzureResourceGroup -Name source-app -Slot source-appslot
Следующая команда демонстрирует создание клона исходного приложения в новом приложении:
$destapp = New-AzWebApp -ResourceGroupName DestinationAzureResourceGroup -Name dest-app -Location "North Central US" -AppServicePlan DestinationAppServicePlan -SourceWebApp $srcappslot
Настройка диспетчера трафика при клонирование приложения
При создании приложений с несколькими регионами и настройке диспетчера трафика Azure для маршрутизации трафика в эти приложения рекомендуется обеспечить высокую доступность клиентских приложений. При клонировании существующего приложения можно подключить оба приложения к новому профилю диспетчера трафика или существующему. Поддерживается только версия Диспетчера трафика Azure Resource Manager.
Создайте новый профиль диспетчера трафика при клонировании приложения
Сценарий. Вы хотите клонировать приложение в другой регион, настроив профиль Диспетчера трафика Azure Resource Manager, включающий оба приложения. Следующая команда демонстрирует создание клона исходного приложения в новое приложение при настройке нового профиля диспетчера трафика:
$destapp = New-AzWebApp -ResourceGroupName DestinationAzureResourceGroup -Name dest-webapp -Location "South Central US" -AppServicePlan DestinationAppServicePlan -SourceWebApp $srcapp -TrafficManagerProfileName newTrafficManagerProfile
Добавление нового клонированного приложения в существующий профиль диспетчера трафика
Сценарий. У вас уже есть профиль диспетчера трафика Azure Resource Manager и требуется добавить оба приложения в качестве конечных точек. Сначала соберите существующий идентификатор профиля диспетчера трафика. Вам нужен идентификатор подписки, имя группы ресурсов и существующее имя профиля диспетчера трафика.
$TMProfileID = "/subscriptions/<Your subscription ID goes here>/resourceGroups/<Your resource group name goes here>/providers/Microsoft.TrafficManagerProfiles/ExistingTrafficManagerProfileName"
После получения идентификатора диспетчера трафика следующая команда демонстрирует, как создать клон исходного приложения в новое приложение и добавить их в существующий профиль диспетчера трафика.
$destapp = New-AzWebApp -ResourceGroupName <Resource group name> -Name dest-webapp -Location "South Central US" -AppServicePlan DestinationAppServicePlan -SourceWebApp $srcapp -TrafficManagerProfileId $TMProfileID
Замечание
Если при выполнении операции клонирования вы получаете сообщение об ошибке "Проверка SSL в имени узла диспетчера трафика завершается неудачей", мы рекомендуем использовать атрибут -IgnoreCustomHostNames
в командлете PowerShell. Альтернатива заключается в том, что вы можете использовать портал.
Текущие ограничения
Ниже приведены известные ограничения клонирования приложения:
- Параметры автомасштабирования не клонируются.
- Параметры расписания резервного копирования не клонируются.
- Параметры виртуальной сети не клонируются.
- Application Insights не настраивается автоматически в целевом приложении.
- Параметры простой проверки подлинности не клонируются.
- Расширения Kudu не клонируются.
- Правила TiP не клонируются.
- Содержимое базы данных не клонируется.
- Исходящие IP-адреса изменяются, если клонировать в другую единицу масштабирования.
- Приложения Linux: недоступны.
- Управляемые удостоверения не клонируются.
- Функциональные приложения: недоступны.