Compartilhar via


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

Observação

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

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

Há suporte para clonagem de aplicativo em camadas Standard e superiores e em camadas isoladas. O recurso tem as mesmas limitações que o recurso Backup do Serviço de Aplicativo, consulte Fazer backup de um aplicativo no Serviço de Aplicativo do Azure.

Clonar 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 opção -SourceWebApp .

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, nesse 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 do 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. 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 tem suporte apenas para clonar um aplicativo inteiro, incluindo todos os seus slots. O seguinte comando do PowerShell 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

Clonar um aplicativo existente em um Ambiente do Serviço de Aplicativo

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, nesse 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 que o 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 denominado 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 durante a clonagem de 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 existente. Há suporte apenas para a versão do Gerenciador de Tráfego do Azure Resource Manager.

Criar um novo perfil do Gerenciador de Tráfego durante a clonagem de um aplicativo

Cenário: você deseja clonar um aplicativo para outra região, ao mesmo tempo em que 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 de Gerenciador de Tráfego do Azure Resource Manager e quer adicionar ambos os aplicativos como endpoints. Primeiro, monte a ID do 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 a ID do Gerenciador de Tráfego, o comando a seguir demonstra como criar um clone do aplicativo de origem para um novo aplicativo ao adicioná-los 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 clone. Como alternativa, você pode usar o portal do Azure.

Restrições atuais

Estas são as restrições conhecidas da clonagem de aplicativos:

  • 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 do Kudu não são clonadas.
  • As regras de TiP não são clonadas.
  • O conteúdo do banco de dados não é clonado.
  • Os endereços IP de saída são alterados se você clonar para uma unidade de escala diferente.
  • Os aplicativos linux não estão disponíveis.
  • As identidades gerenciadas não são clonadas.
  • Os aplicativos de funções não estão disponíveis.