PowerShell kullanarak uygulama kopyalamayı Azure App ServiceAzure App Service App Cloning Using PowerShell

Not

Bu makale Azure Az PowerShell modülünü kullanacak şekilde güncelleştirilmiştir.This article has been updated to use the Azure Az PowerShell module. Az PowerShell modülü, Azure ile etkileşim kurmak için önerilen PowerShell modülüdür.The Az PowerShell module is the recommended PowerShell module for interacting with Azure. Az PowerShell modülünü kullanmaya başlamak için Azure PowerShell’i yükleyin.To get started with the Az PowerShell module, see Install Azure PowerShell. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.To learn how to migrate to the Az PowerShell module, see Migrate Azure PowerShell from AzureRM to Az.

Microsoft Azure PowerShell Version 1.1.0 sürümü ile, var olan bir New-AzWebApp App Service uygulamasını farklı bir bölgede veya aynı bölgede yeni oluşturulan bir uygulamaya kopyalamanızı sağlayan yeni bir seçenek eklenmiştir.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. Bu seçenek, müşterilerin farklı bölgelerde birkaç uygulamayı hızlı ve kolay bir şekilde dağıtmasını sağlar.This option enables customers to deploy a number of apps across different regions quickly and easily.

Uygulama kopyalama standart, Premium, Premium v2 ve yalıtılmış App Service planları için desteklenir.App cloning is supported for Standard, Premium, Premium V2, and Isolated app service plans. Yeni özellik App Service yedekleme özelliğiyle aynı sınırlamaları kullanır, bkz. Azure App Service bir uygulamayıyedekleme.The new feature uses the same limitations as App Service Backup feature, see Back up an app in Azure App Service.

Mevcut bir uygulamayı kopyalamaCloning an existing app

Senaryo: Orta Güney ABD bölgesindeki mevcut bir uygulama ve içerikleri Orta Kuzey ABD bölgesinde yeni bir uygulamaya kopyalamak istiyorsunuz.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. Bu, seçeneğiyle yeni bir uygulama oluşturmak için PowerShell cmdlet 'inin Azure Resource Manager sürümü kullanılarak gerçekleştirilebilir -SourceWebApp .It can be accomplished by using the Azure Resource Manager version of the PowerShell cmdlet to create a new app with the -SourceWebApp option.

Kaynak uygulamanın bulunduğu kaynak grubu adını bilmenin ardından, kaynak uygulamanın bilgilerini (Bu durumda adlı) almak için aşağıdaki PowerShell komutunu kullanabilirsiniz source-webapp :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

Yeni bir App Service planı oluşturmak için New-AzAppServicePlan Aşağıdaki örnekte gösterildiği gibi komutunu kullanabilirsinizTo 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

Komutunu kullanarak New-AzWebApp Yeni uygulamayı Orta Kuzey ABD bölgesinde oluşturup mevcut bir App Service planına bağlayabilirsiniz.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. Ayrıca, kaynak uygulamayla aynı kaynak grubunu kullanabilir veya aşağıdaki komutta gösterildiği gibi yeni bir kaynak grubu tanımlayabilirsiniz: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

Tüm ilişkili dağıtım yuvaları dahil var olan bir uygulamayı kopyalamak için parametresini kullanmanız gerekir IncludeSourceWebAppSlots .To clone an existing app including all associated deployment slots, you need to use the IncludeSourceWebAppSlots parameter. IncludeSourceWebAppSlotsParametresinin yalnızca tüm yuvaları dahil olmak üzere tüm bir uygulamayı kopyalamak için desteklendiğini unutmayın.Note that the IncludeSourceWebAppSlots parameter is only supported for cloning an entire app including all of its slots. Aşağıdaki PowerShell komutu, komutla birlikte bu parametrenin kullanımını gösterir 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

Mevcut bir uygulamayı aynı bölgede kopyalamak için, aynı bölgede yeni bir kaynak grubu ve yeni bir App Service planı oluşturmanız ve ardından uygulamayı kopyalamak için aşağıdaki PowerShell komutunu kullanmanız gerekir: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

Mevcut bir uygulamayı bir App Service Ortamı kopyalamaCloning an existing App to an App Service Environment

Senaryo: Orta Güney ABD bölgesindeki mevcut bir uygulama ve içerikleri yeni bir uygulamaya kopyalamak istiyorsanız, mevcut bir App Service Ortamı (Ao).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).

Kaynak uygulamanın bulunduğu kaynak grubu adını bilmenin ardından, kaynak uygulamanın bilgilerini (Bu durumda adlı) almak için aşağıdaki PowerShell komutunu kullanabilirsiniz source-webapp :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

Ao 'nun adını ve Ao 'nun ait olduğu kaynak grubu adını bilmenin yanı sıra, aşağıdaki komutta gösterildiği gibi mevcut Ao 'da yeni uygulamayı oluşturabilirsiniz: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

LocationParametre, eski bir nedenden dolayı gereklidir, ancak uygulamayı BIR Ao 'da oluşturduğunuzda yok sayılır.The Location parameter is required due to legacy reason, but it is ignored when you create the app in an ASE.

Var olan bir uygulama yuvasını kopyalamaCloning an existing App Slot

Senaryo: uygulamanın mevcut bir dağıtım yuvasını yeni bir uygulamaya veya yeni bir yuvaya kopyalamak istiyorsunuz.Scenario: You want to clone an existing deployment slot of an app to either a new app or a new slot. Yeni uygulama, özgün uygulama yuvası ile aynı bölgede veya farklı bir bölgede olabilir.The new app can be in the same region as the original app slot or in a different region.

Kaynak uygulamanın bulunduğu kaynak grubu adını bilmenin ardından, kaynak uygulama yuvasının bilgilerini (Bu durumda adlı) bağlı olarak almak için aşağıdaki PowerShell komutunu kullanabilirsiniz source-appslot source-app :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

Aşağıdaki komut, kaynak uygulamanın bir kopyasını yeni bir uygulamaya oluşturmayı gösterir: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

Uygulama kopyalanırken Traffic Manager yapılandırmaConfiguring Traffic Manager while cloning an app

Çok bölgeli uygulamalar oluşturma ve bu uygulamalara giden trafiği yönlendirmek için Azure Traffic Manager yapılandırma, müşterilerin uygulamalarının yüksek oranda kullanılabilir olmasını sağlamak için önemli bir senaryodur.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. Mevcut bir uygulamayı kopyalarken, her iki uygulamayı da yeni bir Traffic Manager profiline veya var olan bir profile bağlama seçeneğiniz vardır.When cloning an existing app, you have the option to connect both apps to either a new traffic manager profile or an existing one. Yalnızca Traffic Manager sürümü Azure Resource Manager desteklenir.Only Azure Resource Manager version of Traffic Manager is supported.

Uygulama kopyalanırken yeni bir Traffic Manager profili oluşturmaCreating a new Traffic Manager profile while cloning an app

Senaryo: her iki uygulamayı da içeren bir Azure Resource Manager Traffic Manager profilini yapılandırırken bir uygulamayı başka bir bölgeye kopyalamak istersiniz.Scenario: You want to clone an app to another region, while configuring an Azure Resource Manager traffic manager profile that includes both apps. Aşağıdaki komut, yeni bir Traffic Manager profili yapılandırılırken, kaynak uygulamanın bir kopyasını yeni bir uygulamaya oluşturmayı gösterir: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

Yeni kopyalanmış uygulama varolan bir Traffic Manager profiline ekleniyorAdding new cloned app to an existing Traffic Manager profile

Senaryo: zaten bir Azure Resource Manager Traffic Manager profiliniz var ve her iki uygulamayı uç nokta olarak eklemek istiyorsunuz.Scenario: You already have an Azure Resource Manager traffic manager profile and want to add both apps as endpoints. Bunu yapmak için, önce mevcut Traffic Manager profil KIMLIĞINI birleştirmek gerekir.To do so, you first need to assemble the existing traffic manager profile ID. Abonelik KIMLIĞI, kaynak grubu adı ve mevcut Traffic Manager profili adı gerekir.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"

Trafik Yöneticisi KIMLIĞINI aldıktan sonra aşağıdaki komut, mevcut bir Traffic Manager profiline eklenirken kaynak uygulamanın bir kopyasını yeni bir uygulamaya oluşturmayı gösterir: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

Not

"Traffic Manager ana bilgisayar adı üzerinde SSL doğrulaması başarısız oldu" hatası ile ilgili bir hata alıyorsanız, kopyalama işlemini gerçekleştirirken veya başka bir durumda Portal 'ı kullanarak PowerShell cmdlet 'inde Use-IgnoreCustomHostNames özniteliğini öneririz.If you are receiving an error that states, "SSL validation on the traffic manager hostname is failing" then we suggest you use -IgnoreCustomHostNames attribute in the powershell cmdlet while performing the clone operation or else use the portal.

Geçerli kısıtlamalarCurrent Restrictions

Uygulama kopyalama işleminin bilinen kısıtlamaları aşağıda verilmiştir:Here are the known restrictions of app cloning:

  • Otomatik ölçeklendirme ayarları kopyalanamadıAuto scale settings are not cloned
  • Yedekleme zamanlaması ayarları kopyalanamadıBackup schedule settings are not cloned
  • VNET ayarları kopyalanamadıVNET settings are not cloned
  • Uygulama öngörüleri hedef uygulamada otomatik olarak ayarlanmadıApp Insights are not automatically set up on the destination app
  • Kolay kimlik doğrulama ayarları klonlanmıyorEasy Auth settings are not cloned
  • Kudu uzantısı kopyalanamadıKudu Extension are not cloned
  • Ipucu kuralları klonlanmıyorTiP rules are not cloned
  • Veritabanı içeriği kopyalanamadıDatabase content is not cloned
  • Farklı bir ölçek birimine kopyalama yaptıysanız giden IP adresleri değişirOutbound IP Addresses changes if cloning to a different scale unit
  • Linux uygulamaları için kullanılamazNot available for Linux Apps
  • Yönetilen kimlikler kopyalanmazManaged Identities are not cloned

BaşvurularReferences