Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nota
建议使用 Azure Az PowerShell 模块与 Azure 交互。 请参阅安装 Azure PowerShell 以开始使用。 若要了解如何迁移到 Az PowerShell 模块,请参阅 将 Azure PowerShell 从 AzureRM 迁移到 Az。
随着 Azure PowerShell 版本 1.1.0 的发布,有一个新的选项 New-AzWebApp
。 使用此选项可将现有应用服务应用克隆到不同区域或同一区域中新创建的应用。 可以快速轻松地跨不同区域部署多个应用。
标准、高级、高级 V2 和隔离应用服务计划支持应用克隆功能。 此功能使用与应用服务备份功能相同的限制,请参阅 在 Azure 应用服务中备份应用。
场景:你想要将中国北部 2 区域中现有应用的内容克隆到美国中北部区域的新应用。 可以使用 Azure 资源管理器版 PowerShell cmdlet 和 -SourceWebApp
选项来创建新应用。
当知道包含源应用的资源组的名称时,可以使用以下 PowerShell 命令获取源应用的信息(在本例中命名 source-webapp
):
$srcapp = Get-AzWebApp -ResourceGroupName SourceAzureResourceGroup -Name source-webapp
若要创建新的应用服务计划,可以使用 New-AzAppServicePlan
以下示例所示的命令:
New-AzAppServicePlan -Location "China North" -ResourceGroupName DestinationAzureResourceGroup -Name DestinationAppServicePlan -Tier Standard
使用 New-AzWebApp
此命令,可以在“华北北部”区域中创建新应用,并将其绑定到现有的应用服务计划。 此外,可以使用与源应用相同的资源组,或定义新的资源组。 请参阅以下命令:
$destapp = New-AzWebApp -ResourceGroupName DestinationAzureResourceGroup -Name dest-webapp -Location "China North" -AppServicePlan DestinationAppServicePlan -SourceWebApp $srcapp
若要克隆现有应用(包括所有关联的部署槽位),需要使用参数 IncludeSourceWebAppSlots
。
IncludeSourceWebAppSlots
参数仅支持克隆整个应用程序,包括其所有插槽。 以下 PowerShell 命令演示了该参数与 New-AzWebApp
命令的用法:
$destapp = New-AzWebApp -ResourceGroupName DestinationAzureResourceGroup -Name dest-webapp -Location "China North" -AppServicePlan DestinationAppServicePlan -SourceWebApp $srcapp -IncludeSourceWebAppSlots
若要克隆同一区域中的现有应用,请在同一区域中创建新的资源组和新的应用服务计划。 然后,使用以下 PowerShell 命令克隆应用:
$destapp = New-AzWebApp -ResourceGroupName NewAzureResourceGroup -Name dest-webapp -Location "China East" -AppServicePlan NewAppServicePlan -SourceWebApp $srcapp
场景:想要将中国北部 2 区域中现有应用的内容克隆到现有应用服务环境中的新应用。
当知道包含源应用的资源组的名称时,可以使用以下 PowerShell 命令获取源应用的信息(在本例中命名 source-webapp
):
$srcapp = Get-AzWebApp -ResourceGroupName SourceAzureResourceGroup -Name source-webapp
使用应用服务环境的名称和应用服务环境所属的资源组的名称,可以在现有应用服务环境中创建新应用。 此过程显示在以下命令中:
$destapp = New-AzWebApp -ResourceGroupName DestinationAzureResourceGroup -Name dest-webapp -Location "China North" -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 "China North" -AppServicePlan DestinationAppServicePlan -SourceWebApp $srcappslot
创建多区域应用并配置 Azure 流量管理器以将流量路由到这些应用时,我们建议客户应用高度可用。 克隆现有应用时,可以将两个应用都连接到新的或现有的流量管理器配置文件。 仅支持 Azure 资源管理器版本的流量管理器。
方案:想要将应用克隆到另一个区域,同时配置包含这两个应用的 Azure 资源管理器流量管理器配置文件。 以下命令演示如何在配置新的流量管理器配置文件时创建源应用的克隆到新应用:
$destapp = New-AzWebApp -ResourceGroupName DestinationAzureResourceGroup -Name dest-webapp -Location "China East" -AppServicePlan DestinationAppServicePlan -SourceWebApp $srcapp -TrafficManagerProfileName newTrafficManagerProfile
场景:您已拥有一个 Azure 资源管理器流量管理器配置文件,并希望将这两个应用程序添加为终端节点。 首先,组装现有的流量管理器配置文件 ID。 需要订阅 ID、资源组名称和现有流量管理器配置文件名称。
$TMProfileID = "/subscriptions/<Your subscription ID goes here>/resourceGroups/<Your resource group name goes here>/providers/Microsoft.TrafficManagerProfiles/ExistingTrafficManagerProfileName"
获得流量管理器 ID 后,以下命令演示如何将源应用克隆为一个新的应用并将它们添加到现有的流量管理器配置文件中:
$destapp = New-AzWebApp -ResourceGroupName <Resource group name> -Name dest-webapp -Location "China East" -AppServicePlan DestinationAppServicePlan -SourceWebApp $srcapp -TrafficManagerProfileId $TMProfileID
Nota
如果收到一条错误,指出“流量管理器主机名上的 SSL 验证失败”,建议在执行克隆作时在 PowerShell cmdlet 中使用 -IgnoreCustomHostNames
该属性。 另一种方法是可以使用门户。
下面是应用克隆的已知限制:
- 不会克隆自动缩放设置。
- 不会克隆备份计划设置。
- 不会克隆虚拟网络设置。
- 不会在目标应用上自动设置 Application Insights。
- 不会克隆简单的身份验证设置。
- Kudu 扩展不会被克隆。
- 不会克隆 TiP 规则。
- 不会克隆数据库内容。
- 如果克隆到不同的缩放单元,出站 IP 地址会更改。