Partilhar via


Clonar um aplicativo do Serviço de Aplicativo do Azure usando o PowerShell

Observação

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

Este artigo explica como você pode clonar um aplicativo do Serviço de Aplicativo existente para criar um novo aplicativo em uma região diferente ou na mesma região. Você pode implantar vários aplicativos em diferentes regiões de forma rápida e fácil.

A clonagem de aplicativos é suportada em camadas padrão e superiores, e em camadas isoladas. O recurso tem 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.

Clone um aplicativo existente

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

Quando você souber o nome do grupo de recursos que contém o aplicativo de origem, poderá 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 o New-AzAppServicePlan comando mostrado 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 existente do Serviço de Aplicativo. Além disso, você pode usar o mesmo grupo de recursos que o aplicativo de origem ou definir um novo grupo de recursos. Consulte o seguinte comando:

$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. Esse parâmetro é suportado apenas 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, crie um novo grupo de recursos e um novo plano do Serviço de Aplicativo na mesma região. Em seguida, use 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

Clone uma aplicação existente para um Ambiente de Serviço de Aplicações

Cenário: você deseja clonar o conteúdo de um aplicativo existente na região Centro-Sul dos EUA para um novo aplicativo em um Ambiente do Serviço de Aplicativo existente.

Quando você souber o nome do grupo de recursos que contém o aplicativo de origem, poderá 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

Com o nome do Ambiente do Serviço de Aplicativo e o nome do grupo de recursos ao qual o Ambiente do Serviço de Aplicativo pertence, você pode criar o novo aplicativo no Ambiente do Serviço de Aplicativo existente. O processo é mostrado no seguinte comando:

$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 por motivos herdados, mas é ignorado quando você cria o aplicativo em um Ambiente do Serviço de Aplicativo.

Clonar 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.

Quando você souber o nome do grupo de recursos que contém o aplicativo de origem, poderá 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 como criar 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

Configurar o Gerenciador de Tráfego ao clonar um aplicativo

Quando você cria aplicativos de várias regiões e configura o Gerenciador de Tráfego do Azure para rotear o tráfego para esses aplicativos, recomendamos que os aplicativos do cliente estejam altamente disponíveis. Ao clonar um aplicativo existente, você pode conectar ambos os aplicativos a um novo perfil do Gerenciador de Tráfego ou a um perfil existente. Apenas a versão do Azure Resource Manager do Traffic Manager é suportada.

Criar 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 do Gerenciador de Tráfego do Azure Resource Manager que inclui ambos os aplicativos. O comando a seguir demonstra como criar 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 um novo aplicativo clonado a um perfil existente do Gerenciador de Tráfego

Cenário: você já tem um perfil do Gerenciador de Tráfego do Azure Resource Manager e deseja adicionar ambos os aplicativos como pontos de extremidade. Primeiro, monte o ID de perfil existente do Gerenciador de Tráfego. Você precisa da ID da assinatura, do nome do grupo de recursos e do nome do perfil existente do Gerenciador de Tráfego.

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

Depois de ter o ID do Gerenciador de Tráfego, o comando a seguir demonstra como criar 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

Observação

Se você receber um erro informando que a validação SSL no nome do host do gerenciador de tráfego está falhando, sugerimos que você use o -IgnoreCustomHostNames atributo no cmdlet do PowerShell enquanto executa a operação de clonagem. Como alternativa, você pode usar o portal do Azure.

Restrições atuais

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

  • As configurações de dimensionamento automático não são clonadas.
  • As configurações de agendamento de backup não são clonadas.
  • O Application Insights não é configurado automaticamente no aplicativo de destino.
  • As configurações de autenticação fácil não são clonadas.
  • As extensões Kudu não são clonadas.
  • As regras do TiP não são clonadas.
  • O conteúdo do banco de dados não é clonado.
  • Os endereços IP de saída mudam se forem clonados para uma unidade de escala diferente.
  • Os aplicativos Linux não estão disponíveis.
  • As identidades gerenciadas não são clonadas.
  • As aplicações funcionais não estão disponíveis.