Klonen der Azure App Service-App mit PowerShellAzure App Service App Cloning Using PowerShell

Hinweis

Dieser Artikel wurde aktualisiert und beinhaltet jetzt das neue Az-Modul von Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. Sie können das AzureRM-Modul weiterhin verwenden, das bis mindestens Dezember 2020 weiterhin Fehlerbehebungen erhält.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Weitere Informationen zum neuen Az-Modul und zur Kompatibilität mit AzureRM finden Sie unter Introducing the new Azure PowerShell Az module (Einführung in das neue Az-Modul von Azure PowerShell).To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Anweisungen zur Installation des Az-Moduls finden Sie unter Install Azure PowerShell (Installieren von Azure PowerShell).For Az module installation instructions, see Install Azure PowerShell.

Mit der Veröffentlichung von Microsoft Azure PowerShell Version 1.1.0 wurde New-AzWebApp eine neue Option hinzugefügt, mit der Sie eine vorhandene App Service-App in eine neu erstellte App in einer anderen Region oder derselben Region klonen können.With the release of Microsoft Azure PowerShell version 1.1.0, a new option has been added to New-AzWebApp that lets you clone an existing App Service app to a newly created app in a different region or in the same region. Durch diese Option können Kunden eine Reihe von Apps in unterschiedlichen Regionen bereitstellen.This option enables customers to deploy a number of apps across different regions quickly and easily.

Das Klonen von Apps wird in den Tarifen „Standard“, „Premium“, „Premium V2“ sowie bei „App Service (isoliert)“ unterstützt.App cloning is supported for Standard, Premium, Premium V2, and Isolated app service plans. Das neue Feature verwendet die gleichen Einschränkungen wie das App Service-Sicherungsfeature. Informationen dazu finden Sie unter Sichern einer App in Azure App Service.The new feature uses the same limitations as App Service Backup feature, see Back up an app in Azure App Service.

Klonen einer vorhandenen AppCloning an existing app

Szenario: Sie möchten den Inhalt einer vorhandenen App in der Region „USA, Süden-Mitte“ in eine neue App in der Region „USA, Norden-Mitte“ klonen.Scenario: An existing app in South Central US region, and you want to clone the contents to a new app in North Central US region. Dies kann mithilfe der Azure Resource Manager-Version des PowerShell-Cmdlets zum Erstellen einer neuen App mit der Option -SourceWebApp erfolgen.It can be accomplished by using the Azure Resource Manager version of the PowerShell cmdlet to create a new app with the -SourceWebApp option.

Wenn der Name der Ressourcengruppe mit der Quell-App bekannt ist, können Sie die Informationen der Quell-App (in diesem Fall mit der Bezeichnung source-webapp) mit dem folgenden PowerShell-Befehl abrufen:Knowing the resource group name that contains the source app, you can use the following PowerShell command to get the source app's information (in this case named source-webapp):

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

Um einen neuen App Service-Plan zu erstellen, können Sie den Befehl New-AzAppServicePlan wie im folgenden Beispiel verwenden:To create a new App Service Plan, you can use New-AzAppServicePlan command as in the following example

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

Mithilfe des Befehls New-AzWebApp können Sie die neue App in der Region „USA, Norden-Mitte“ erstellen und mit einem vorhandenen App Service-Plan verknüpfen.Using the New-AzWebApp command, you can create the new app in the North Central US region, and tie it to an existing App Service Plan. Darüber hinaus können Sie dieselbe Ressourcengruppe wie für die Quell-App verwenden oder eine neue Ressourcengruppe definieren, wie im folgenden Befehl gezeigt:Moreover, you can use the same resource group as the source app, or define a new resource group, as shown in the following command:

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

Um eine vorhandene App einschließlich aller zugehörigen Bereitstellungsslots zu klonen, müssen Sie den IncludeSourceWebAppSlots-Parameter verwenden.To clone an existing app including all associated deployment slots, you need to use the IncludeSourceWebAppSlots parameter. Beachten Sie, dass der-Parameter IncludeSourceWebAppSlots nur für das Klonen einer gesamten App unterstützt wird (einschließlich aller zugehörigen Slots).Note that the IncludeSourceWebAppSlots parameter is only supported for cloning an entire app including all of its slots. Die folgende PowerShell-Befehl veranschaulicht die Verwendung dieses Parameters mit dem Befehl New-AzWebApp:The following PowerShell command demonstrates the use of that parameter with the New-AzWebApp command:

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

Um eine vorhandene App innerhalb derselben Region zu klonen, müssen Sie eine neue Ressourcengruppe und einen neuen App Service-Plan in derselben Region erstellen und dann den folgenden PowerShell-Befehl zum Klonen der App verwenden:To clone an existing app within the same region, you need to create a new resource group and a new app service plan in the same region, and then use the following PowerShell command to clone the app:

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

Klonen einer vorhandenen App in einer App Service-UmgebungCloning an existing App to an App Service Environment

Szenario: Sie möchten den Inhalt einer vorhandenen App in der Region „USA, Süden-Mitte“ in eine neue App in einer bereits vorhandenen App Service-Umgebung (ASE) klonen.Scenario: An existing app in South Central US region, and you want to clone the contents to a new app to an existing App Service Environment (ASE).

Wenn der Name der Ressourcengruppe mit der Quell-App bekannt ist, können Sie die Informationen der Quell-App (in diesem Fall mit der Bezeichnung source-webapp) mit dem folgenden PowerShell-Befehl abrufen:Knowing the resource group name that contains the source app, you can use the following PowerShell command to get the source app's information (in this case named source-webapp):

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

Wenn Sie den Namen der ASE sowie den Namen der Ressourcengruppe kennt, zu der die ASE gehört, können Sie die neue App in der bereits vorhandenen ASE erstellen, wie im folgenden Befehl gezeigt:Knowing the ASE's name, and the resource group name that the ASE belongs to, you can create the new app in the existing ASE, as shown in the following command:

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

Der Location-Parameter ist aus Gründen der Kompatibilität mit älteren Versionen erforderlich. Er wird jedoch ignoriert, wenn Sie die App in einer ASE erstellen.The Location parameter is required due to legacy reason, but it is ignored when you create the app in an ASE.

Klonen eines vorhandenen App-SlotsCloning an existing App Slot

Szenario: Sie möchten einen vorhandenen Bereitstellungsslot einer App entweder in eine neue App oder einen neuen Slot klonen.Scenario: You want to clone an existing deployment slot of an app to either a new app or a new slot. Die neue App kann sich in derselben Region wie der ursprüngliche App-Slot oder in einer anderen Region befinden.The new app can be in the same region as the original app slot or in a different region.

Wenn der Name der Ressourcengruppe mit der Quell-App bekannt ist, können Sie mit dem folgenden PowerShell-Befehl die Slotinformationen der Quell-App (in diesem Fall source-appslot) abrufen, die mit source-app verknüpft ist:Knowing the resource group name that contains the source app, you can use the following PowerShell command to get the source app slot's information (in this case named source-appslot) tied to source-app:

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

Der folgende Befehl zeigt, wie ein Klon der Quell-App in einer neuen App erstellt wird:The following command demonstrates creating a clone of the source app to a new app:

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

Konfigurieren von Traffic Manager beim Klonen einer AppConfiguring Traffic Manager while cloning an app

Das Erstellen von Apps mit mehreren Regionen und das Konfigurieren von Azure Traffic Manager zum Weiterleiten von Datenverkehr an diese Apps ist ein wichtiges Szenario, mit dem sichergestellt wird, dass die Apps der Kunden hoch verfügbar sind.Creating multi-region apps and configuring Azure Traffic Manager to route traffic to all these apps, is an important scenario to ensure that customers' apps are highly available. Beim Klonen einer vorhandenen App können Sie beide Apps mit einem neuen oder vorhandenen Traffic Manager-Profil verbinden.When cloning an existing app, you have the option to connect both apps to either a new traffic manager profile or an existing one. Nur die Azure Resource Manager-Version von Traffic Manager wird unterstützt.Only Azure Resource Manager version of Traffic Manager is supported.

Erstellen eines neuen Traffic Manager-Profils beim Klonen einer AppCreating a new Traffic Manager profile while cloning an app

Szenario: Sie möchten eine App in eine andere Region klonen, während gleichzeitig ein Azure Resource Manager-Traffic Manager-Profil angelegt wird, das beide Apps enthält.Scenario: You want to clone an app to another region, while configuring an Azure Resource Manager traffic manager profile that includes both apps. Der folgende Befehl zeigt das Erstellen eines Klons der Quell-App in einer neuen App bei gleichzeitigem Konfigurieren eines neuen Traffic Manager-Profils:The following command demonstrates creating a clone of the source app to a new app while configuring a new Traffic Manager profile:

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

Hinzufügen neuer geklonter Apps zu einem vorhandenen Traffic Manager-ProfilAdding new cloned app to an existing Traffic Manager profile

Szenario: Sie besitzen bereits ein Azure Resource Manager-Traffic Manager-Profil, dem Sie beide Apps als Endpunkte hinzufügen möchten.Scenario: You already have an Azure Resource Manager traffic manager profile and want to add both apps as endpoints. Dazu müssen Sie zuerst die vorhandene Traffic Manager-Profil-ID zusammenstellen.To do so, you first need to assemble the existing traffic manager profile ID. Sie benötigen die Abonnement-ID, den Namen der Ressourcengruppe und den vorhandenen Traffic Manager-Profilnamen.You need the subscription ID, the resource group name, and the existing traffic manager profile name.

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

Das folgende Beispiel zeigt, wie nach der Zusammenstellung der Traffic Manager-ID ein Klon der Quell-App als neue App und gleichzeitig ein neues Traffic Manager-Profil erstellt werden:After having the traffic manger ID, the following command demonstrates creating a clone of the source app to a new app while adding them to an existing Traffic Manager profile:

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

Aktuelle EinschränkungenCurrent Restrictions

Hier finden Sie die bekannten Einschränkungen für das App-Klonen:Here are the known restrictions of app cloning:

  • Einstellungen für automatische Skalierung werden nicht geklontAuto scale settings are not cloned
  • Einstellungen des Sicherungszeitplans werden nicht geklontBackup schedule settings are not cloned
  • VNET-Einstellungen werden nicht geklontVNET settings are not cloned
  • App Insights wird nicht automatisch für die Ziel-App eingerichtetApp Insights are not automatically set up on the destination app
  • Easy Auth-Einstellungen werden nicht geklontEasy Auth settings are not cloned
  • Kudu-Erweiterungen werden nicht geklontKudu Extension are not cloned
  • TiP-Regeln werden nicht geklontTiP rules are not cloned
  • Datenbankinhalte werden nicht geklont.Database content is not cloned
  • Ausgehende IP-Adressen ändern sich beim Klonen in eine andere Skalierungseinheit.Outbound IP Addresses changes if cloning to a different scale unit
  • Nicht für Linux-Apps verfügbarNot available for Linux Apps

ReferenzenReferences