Partilhar via


Clonagem de aplicativo do Serviço de Aplicativo do Azure usando o PowerShell

Nota

Recomendamos que utilize o módulo Azure Az do PowerShell para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o Az.

Com o lançamento do Microsoft Azure PowerShell versão 1.1.0, foi adicionada uma nova opção que New-AzWebApp permite clonar um aplicativo do Serviço de Aplicativo existente para um aplicativo recém-criado em uma região diferente ou na mesma região. Essa opção permite que os clientes implantem vários aplicativos em diferentes regiões de forma rápida e fácil.

A clonagem de aplicações é suportada nos planos do Serviço de Aplicações Standard, Premium, Premium V2 e Isolado. O novo recurso usa as mesmas limitações do recurso Backup do Serviço de Aplicativo, consulte Fazer backup de um aplicativo no Serviço de Aplicativo do Azure.

Clonando um aplicativo existente

Cenário: Um aplicativo existente na região Centro-Sul dos EUA e você deseja clonar o conteúdo para um novo aplicativo na região Centro-Norte dos EUA. Isso pode ser feito usando a versão do Azure Resource Manager do cmdlet do PowerShell para criar um novo aplicativo com a -SourceWebApp opção.

Sabendo o nome do grupo de recursos que contém o aplicativo de origem, você pode usar o seguinte comando do PowerShell para obter as informações do aplicativo de origem (neste caso, chamado source-webapp):

$srcapp = Get-AzWebApp -ResourceGroupName SourceAzureResourceGroup -Name source-webapp

Para criar um novo Plano do Serviço de Aplicativo, você pode usar New-AzAppServicePlan o comando como no exemplo a seguir

New-AzAppServicePlan -Location "North Central US" -ResourceGroupName DestinationAzureResourceGroup -Name DestinationAppServicePlan -Tier Standard

Usando o New-AzWebApp comando, você pode criar o novo aplicativo na região Centro-Norte dos EUA e vinculá-lo a um Plano de Serviço de Aplicativo existente. Além disso, você pode usar o mesmo grupo de recursos que o aplicativo de origem ou definir um novo grupo de recursos, conforme mostrado no comando a seguir:

$destapp = New-AzWebApp -ResourceGroupName DestinationAzureResourceGroup -Name dest-webapp -Location "North Central US" -AppServicePlan DestinationAppServicePlan -SourceWebApp $srcapp

Para clonar um aplicativo existente, incluindo todos os slots de implantação associados, você precisa usar o IncludeSourceWebAppSlots parâmetro. Observe que o IncludeSourceWebAppSlots parâmetro só é suportado para clonar um aplicativo inteiro, incluindo todos os seus slots. O comando PowerShell a seguir demonstra o uso desse parâmetro com o New-AzWebApp comando:

$destapp = New-AzWebApp -ResourceGroupName DestinationAzureResourceGroup -Name dest-webapp -Location "North Central US" -AppServicePlan DestinationAppServicePlan -SourceWebApp $srcapp -IncludeSourceWebAppSlots

Para clonar um aplicativo existente na mesma região, você precisa criar um novo grupo de recursos e um novo plano de serviço de aplicativo na mesma região e, em seguida, usar o seguinte comando do PowerShell para clonar o aplicativo:

$destapp = New-AzWebApp -ResourceGroupName NewAzureResourceGroup -Name dest-webapp -Location "South Central US" -AppServicePlan NewAppServicePlan -SourceWebApp $srcapp

Clonando um aplicativo existente em um ambiente do Serviço de Aplicativo

Cenário: um aplicativo existente na região Centro-Sul dos EUA e você deseja clonar o conteúdo para um novo aplicativo para um ambiente de serviço de aplicativo (ASE) existente.

Sabendo o nome do grupo de recursos que contém o aplicativo de origem, você pode usar o seguinte comando do PowerShell para obter as informações do aplicativo de origem (neste caso, chamado source-webapp):

$srcapp = Get-AzWebApp -ResourceGroupName SourceAzureResourceGroup -Name source-webapp

Sabendo o nome do ASE e o nome do grupo de recursos ao qual o ASE pertence, você pode criar o novo aplicativo no ASE existente, conforme mostrado no comando a seguir:

$destapp = New-AzWebApp -ResourceGroupName DestinationAzureResourceGroup -Name dest-webapp -Location "North Central US" -AppServicePlan DestinationAppServicePlan -ASEName DestinationASE -ASEResourceGroupName DestinationASEResourceGroupName -SourceWebApp $srcapp

O Location parâmetro é necessário devido ao motivo herdado, mas é ignorado quando você cria o aplicativo em um ASE.

Clonando um slot de aplicativo existente

Cenário: você deseja clonar um slot de implantação existente de um aplicativo para um novo aplicativo ou um novo slot. O novo aplicativo pode estar na mesma região do slot de aplicativo original ou em uma região diferente.

Sabendo o nome do grupo de recursos que contém o aplicativo de origem, você pode usar o seguinte comando do PowerShell para obter as informações do slot do aplicativo de origem (neste caso, chamado source-appslot) vinculadas a source-app:

$srcappslot = Get-AzWebAppSlot -ResourceGroupName SourceAzureResourceGroup -Name source-app -Slot source-appslot

O comando a seguir demonstra a criação de um clone do aplicativo de origem para um novo aplicativo:

$destapp = New-AzWebApp -ResourceGroupName DestinationAzureResourceGroup -Name dest-app -Location "North Central US" -AppServicePlan DestinationAppServicePlan -SourceWebApp $srcappslot

Configurando o Gerenciador de Tráfego ao clonar um aplicativo

Criar aplicativos de várias regiões e configurar o Gerenciador de Tráfego do Azure para rotear o tráfego para todos esses aplicativos é um cenário importante para garantir que os aplicativos dos clientes estejam altamente disponíveis. Ao clonar um aplicativo existente, você tem a opção de conectar ambos os aplicativos a um novo perfil de gerenciador de tráfego ou a um perfil existente. Apenas a versão do Azure Resource Manager do Traffic Manager é suportada.

Criando um novo perfil do Gerenciador de Tráfego ao clonar um aplicativo

Cenário: você deseja clonar um aplicativo para outra região, enquanto configura um perfil de gerenciador de tráfego do Azure Resource Manager que inclui ambos os aplicativos. O comando a seguir demonstra a criação de um clone do aplicativo de origem para um novo aplicativo ao configurar um novo perfil do Gerenciador de Tráfego:

$destapp = New-AzWebApp -ResourceGroupName DestinationAzureResourceGroup -Name dest-webapp -Location "South Central US" -AppServicePlan DestinationAppServicePlan -SourceWebApp $srcapp -TrafficManagerProfileName newTrafficManagerProfile

Adicionar novo aplicativo clonado a um perfil existente do Gerenciador de Tráfego

Cenário: você já tem um perfil de gerenciador de tráfego do Azure Resource Manager e deseja adicionar ambos os aplicativos como pontos de extremidade. Para fazer isso, primeiro você precisa montar o ID de perfil do gerenciador de tráfego existente. Você precisa da ID da assinatura, do nome do grupo de recursos e do nome do perfil do gerenciador de tráfego existente.

$TMProfileID = "/subscriptions/<Your subscription ID goes here>/resourceGroups/<Your resource group name goes here>/providers/Microsoft.TrafficManagerProfiles/ExistingTrafficManagerProfileName"

Depois de ter o ID da manjedoura de tráfego, o comando a seguir demonstra a criação de um clone do aplicativo de origem para um novo aplicativo enquanto os adiciona a um perfil existente do Gerenciador de Tráfego:

$destapp = New-AzWebApp -ResourceGroupName <Resource group name> -Name dest-webapp -Location "South Central US" -AppServicePlan DestinationAppServicePlan -SourceWebApp $srcapp -TrafficManagerProfileId $TMProfileID

Nota

Se você estiver recebendo um erro informando "A validação SSL no nome do host do gerenciador de tráfego está falhando", sugerimos que você use o atributo -IgnoreCustomHostNames no cmdlet powershell ao executar a operação de clone ou use o portal.

Restrições atuais

Veja a seguir as restrições conhecidas da clonagem de aplicações:

  • As definições de dimensionamento automático não são clonadas
  • As definições de agendamento de cópias definição não são clonadas
  • As definições da VNET não são clonadas
  • As Informações da Aplicação não são automaticamente configuradas na aplicação de destino
  • As configurações Easy Auth não são clonadas
  • A Extensão do Kudu não é clonada
  • As regras do TiP não são clonadas
  • O conteúdo da base de dados não é clonado
  • Os Endereços IP de Saída são alterados quando a clonagem é realizada para uma unidade de escala diferente
  • Não disponível para Aplicações Linux
  • As identidades geridas não são clonadas
  • Não disponível para as Aplicações de Funções

Referências