Aracılığıyla paylaş


PowerShell Kullanarak hizmet uygulamasını kopyalamayı Azure Uygulaması

Not

Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz . Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Microsoft Azure PowerShell sürüm 1.1.0'ın yayımlanmasıyla birlikte, mevcut bir App Service uygulamasını farklı bir bölgede veya aynı bölgede yeni oluşturulan bir uygulamaya kopyalamanıza olanak tanıyan yeni bir seçenek eklenmiştir New-AzWebApp . Bu seçenek müşterilerin farklı bölgelere bir dizi uygulamayı hızlı ve kolay bir şekilde dağıtmasını sağlar.

Uygulama kopyalama Standart, Premium, Premium V2 ve Yalıtılmış App Service planlarında desteklenir. Yeni özellik, App Service Yedekleme özelliğiyle aynı sınırlamaları kullanır. Bkz. Azure Uygulaması Service'te bir uygulamayı yedekleme.

Mevcut bir uygulamayı kopyalama

Senaryo: Orta Güney ABD bölgesinde mevcut bir uygulama ve içeriği Orta Kuzey ABD bölgesindeki yeni bir uygulamaya kopyalamak istiyorsunuz. Seçeneğiyle -SourceWebApp yeni bir uygulama oluşturmak için PowerShell cmdlet'inin Azure Resource Manager sürümü kullanılarak gerçekleştirilebilir.

Kaynak uygulamayı içeren kaynak grubu adını bilerek, kaynak uygulamanın bilgilerini almak için aşağıdaki PowerShell komutunu kullanabilirsiniz (bu örnekte adı source-webapp:

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

Yeni bir App Service Planı oluşturmak için aşağıdaki örnekte olduğu gibi komutunu kullanabilirsiniz New-AzAppServicePlan

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

New-AzWebApp komutunu kullanarak, yeni uygulamayı Orta Kuzey ABD bölgesinde oluşturabilir ve mevcut bir App Service Planına bağlayabilirsiniz. Ayrıca, aşağıdaki komutta gösterildiği gibi kaynak uygulamayla aynı kaynak grubunu kullanabilir veya yeni bir kaynak grubu tanımlayabilirsiniz:

$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 olmak üzere mevcut bir uygulamayı kopyalamak için parametresini IncludeSourceWebAppSlots kullanmanız gerekir. parametresinin IncludeSourceWebAppSlots yalnızca tüm yuvaları dahil olmak üzere uygulamanın tamamını kopyalama için desteklendiğini unutmayın. Aşağıdaki PowerShell komutu, komutuyla New-AzWebApp bu parametrenin kullanımını gösterir:

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

Aynı bölgedeki mevcut bir uygulamayı 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:

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

Mevcut uygulamayı bir App Service Ortamı kopyalama

Senaryo: Orta Güney ABD bölgesindeki mevcut bir uygulama ve içeriği yeni bir uygulamaya var olan bir App Service Ortamı (ASE) kopyalamak istiyorsunuz.

Kaynak uygulamayı içeren kaynak grubu adını bilerek, kaynak uygulamanın bilgilerini almak için aşağıdaki PowerShell komutunu kullanabilirsiniz (bu örnekte adı source-webapp:

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

ASE'nin adını ve ASE'nin ait olduğu kaynak grubu adını bilerek, aşağıdaki komutta gösterildiği gibi mevcut ASE'de yeni uygulamayı oluşturabilirsiniz:

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

Parametresi Location eski nedenden dolayı gereklidir, ancak uygulamayı ASE'de oluşturduğunuzda yoksayılır.

Mevcut Bir Uygulama Yuvasını Kopyalama

Senaryo: Bir uygulamanın mevcut dağıtım yuvasını yeni bir uygulamaya veya yeni bir yuvaya kopyalamak istiyorsunuz. Yeni uygulama, özgün uygulama yuvasıyla aynı bölgede veya farklı bir bölgede olabilir.

Kaynak uygulamayı içeren kaynak grubu adını bilerek, aşağıdaki PowerShell komutunu kullanarak kaynak uygulama yuvasının bağlı bilgilerini (bu örnekte adlı source-appslot) source-appalabilirsiniz:

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

Aşağıdaki komut, yeni bir uygulamaya kaynak uygulamanın bir kopyasını oluşturmayı gösterir:

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

Bir uygulamayı klonlarken Traffic Manager'ın yapılandırılması

Çok bölgeli uygulamalar oluşturmak ve trafiği tüm bu uygulamalara yönlendirmek için Azure Traffic Manager'ı yapılandırmak, müşterilerin uygulamalarının yüksek oranda kullanılabilir olmasını sağlamak için önemli bir senaryodur. Mevcut bir uygulamayı klonlarken, her iki uygulamayı da yeni bir traffic manager profiline veya mevcut bir uygulamaya bağlama seçeneğiniz vardır. Traffic Manager'ın yalnızca Azure Resource Manager sürümü desteklenir.

Bir uygulamayı klonlarken yeni bir Traffic Manager profili oluşturma

Senaryo: Her iki uygulamayı da içeren bir Azure Resource Manager traffic manager profili yapılandırırken bir uygulamayı başka bir bölgeye kopyalamak istiyorsunuz. Aşağıdaki komut, yeni bir Traffic Manager profili yapılandırırken kaynak uygulamanın yeni bir uygulamaya bir kopyasını oluşturmayı gösterir:

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

Mevcut Traffic Manager profiline yeni kopyalanmış uygulama ekleme

Senaryo: Zaten bir Azure Resource Manager trafik yöneticisi profiliniz var ve her iki uygulamayı da uç nokta olarak eklemek istiyorsunuz. Bunu yapmak için önce mevcut traffic manager profil kimliğini derlemeniz gerekir. Abonelik kimliğine, kaynak grubu adına ve mevcut traffic manager profil adına ihtiyacınız vardır.

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

Trafik yöneticisi kimliğine sahip olduktan sonra aşağıdaki komut, kaynak uygulamanın yeni bir uygulamaya kopyasını oluştururken bunları mevcut bir Traffic Manager profiline eklemeyi gösterir:

$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ında SSL doğrulaması başarısız oluyor" hatasını alıyorsanız, kopyalama işlemini gerçekleştirirken powershell cmdlet'inde -IgnoreCustomHostNames özniteliğini kullanmanızı veya başka bir şekilde portalı kullanmanızı öneririz.

Geçerli Kısıtlamalar

Uygulama kopyalamanın bilinen kısıtlamaları şunlardır:

  • Otomatik ölçeklendirme ayarları kopyalanmaz
  • Yedekleme zamanlaması ayarları kopyalanmaz
  • Sanal ağ (VNET) ayarları kopyalanmaz
  • Hedef uygulamada App Insights otomatik olarak ayarlanmaz
  • Kolay Kimlik Doğrulaması ayarları kopyalanmaz
  • Kudu Uzantısı kopyalanmaz
  • TiP kuralları kopyalanmaz
  • Veritabanı içeriği kopyalanmaz
  • Farklı bir ölçek birimine kopyalama yapılırsa Giden IP Adresleri değişir
  • Linux Uygulamalarında kullanılamaz
  • Yönetilen Kimlikler kopyalanmaz
  • İşlev Uygulamalarında kullanılamaz

Başvurular