Udostępnij za pośrednictwem


Klonowanie aplikacji usługi Azure App Service przy użyciu programu PowerShell

Uwaga / Notatka

Zalecamy użycie modułu Azure Az PowerShell do interakcji z Azure. Aby rozpocząć, zobacz Instalowanie programu Azure PowerShell. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

W tym artykule wyjaśniono, jak sklonować istniejącą aplikację usługi App Service, aby utworzyć nową aplikację w innym regionie lub w tym samym regionie. Możesz szybko i łatwo wdrażać wiele aplikacji w różnych regionach.

Klonowanie aplikacji jest obsługiwane w warstwach Standardowa i wyższych oraz w warstwach izolowanych. Ta funkcja ma takie same ograniczenia jak funkcja tworzenia kopii zapasowej usługi App Service. Zobacz Tworzenie kopii zapasowej aplikacji w usłudze Azure App Service.

Klonowanie istniejącej aplikacji

Scenariusz: Chcesz sklonować zawartość istniejącej aplikacji w regionie South Central USA do nowej aplikacji w regionie North Central USA. Możesz użyć wersji usługi Azure Resource Manager polecenia cmdlet programu PowerShell, aby utworzyć nową aplikację przy użyciu opcji -SourceWebApp.

Jeśli znasz nazwę grupy zasobów zawierającej aplikację źródłową, możesz użyć następującego polecenia programu PowerShell, aby uzyskać informacje o aplikacji źródłowej, w tym przypadku o nazwie source-webapp:

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

Aby utworzyć nowy plan usługi App Service, możesz użyć New-AzAppServicePlan polecenia pokazanego w poniższym przykładzie:

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

Za pomocą polecenia New-AzWebApp możesz utworzyć nową aplikację w regionie północno-centralnych Stanów Zjednoczonych i powiązać ją z istniejącym planem App Service. Ponadto można użyć tej samej grupy zasobów co aplikacja źródłowa lub zdefiniować nową grupę zasobów. Zobacz następujące polecenie:

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

Aby sklonować istniejącą aplikację, w tym wszystkie skojarzone miejsca wdrożenia, należy użyć parametru IncludeSourceWebAppSlots . Ten parametr jest obsługiwany tylko w przypadku klonowania całej aplikacji, w tym wszystkich jej slotów. Następujące polecenie programu PowerShell demonstruje użycie tego parametru z poleceniem New-AzWebApp.

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

Aby sklonować istniejącą aplikację w tym samym regionie, utwórz nową grupę zasobów i nowy plan usługi App Service w tym samym regionie. Następnie użyj następującego polecenia programu PowerShell, aby sklonować aplikację:

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

Klonowanie istniejącej aplikacji do środowiska App Service Environment

Scenariusz: chcesz sklonować zawartość istniejącej aplikacji w regionie South Central USA do nowej aplikacji w istniejącym środowisku App Service Environment.

Jeśli znasz nazwę grupy zasobów zawierającej aplikację źródłową, możesz użyć następującego polecenia programu PowerShell, aby uzyskać informacje o aplikacji źródłowej, w tym przypadku o nazwie source-webapp:

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

Przy użyciu nazwy środowiska App Service Environment i nazwy grupy zasobów, do której należy środowisko App Service Environment, możesz utworzyć nową aplikację w istniejącym środowisku App Service Environment. Proces jest wyświetlany w następującym poleceniu:

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

Parametr Location jest wymagany ze starszych powodów, ale jest ignorowany podczas tworzenia aplikacji w środowisku App Service Environment.

Sklonuj istniejący slot aplikacji

Scenariusz: chcesz sklonować istniejący slot wdrożeniowy aplikacji do nowej aplikacji lub nowego slotu. Nowa aplikacja może znajdować się w tym samym regionie co oryginalny slot aplikacji lub w innym regionie.

Gdy znasz nazwę grupy zasobów zawierającej aplikację źródłową, możesz użyć następującego polecenia programu PowerShell, aby uzyskać informacje o miejscu aplikacji źródłowej (w tym przypadku o nazwie source-appslot) powiązane z :source-app

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

Następujące polecenie pokazuje, jak utworzyć klon aplikacji źródłowej do nowej aplikacji:

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

Konfigurowanie usługi Traffic Manager podczas klonowania aplikacji

Podczas tworzenia aplikacji z wieloma regionami i konfigurowania usługi Azure Traffic Manager w celu kierowania ruchu do tych aplikacji zalecamy, aby aplikacje klienta były wysoce dostępne. Podczas klonowania istniejącej aplikacji można połączyć obie aplikacje z nowym profilem usługi Traffic Manager lub istniejącym. Obsługiwana jest tylko wersja Azure Resource Manager dla Traffic Manager.

Tworzenie nowego profilu usługi Traffic Manager podczas klonowania aplikacji

Scenariusz: chcesz sklonować aplikację do innego regionu podczas konfigurowania profilu usługi Traffic Manager usługi Azure Resource Manager, który zawiera obie aplikacje. Następujące polecenie pokazuje, jak utworzyć klon aplikacji źródłowej do nowej aplikacji podczas konfigurowania nowego profilu usługi Traffic Manager:

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

Dodawanie nowej sklonowanej aplikacji do istniejącego profilu usługi Traffic Manager

Scenariusz: Masz już profil usługi Traffic Manager usługi Azure Resource Manager i chcesz dodać obie aplikacje jako punkty końcowe. Najpierw złóż istniejący identyfikator profilu usługi Traffic Manager. Potrzebny jest identyfikator subskrypcji, nazwa grupy zasobów i istniejąca nazwa profilu usługi Traffic Manager.

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

Po utworzeniu identyfikatora usługi Traffic Manager następujące polecenie pokazuje, jak utworzyć klon aplikacji źródłowej do nowej aplikacji podczas dodawania ich do istniejącego profilu usługi Traffic Manager:

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

Uwaga / Notatka

Jeśli wystąpi błąd z informacją o niepowodzeniu weryfikacji protokołu SSL w nazwie hosta usługi Traffic Manager, zalecamy użycie atrybutu -IgnoreCustomHostNames w poleceniu cmdlet programu PowerShell podczas wykonywania operacji klonowania. Alternatywnie możesz użyć witryny Azure Portal.

Bieżące ograniczenia

Oto znane ograniczenia klonowania aplikacji:

  • Ustawienia autoskalowania nie są klonowane.
  • Ustawienia harmonogramu tworzenia kopii zapasowych nie są klonowane.
  • Usługa Application Insights nie jest automatycznie konfigurowana w aplikacji docelowej.
  • Ustawienia łatwego uwierzytelniania nie są klonowane.
  • Rozszerzenia Kudu nie są klonowane.
  • Reguły tiP nie są klonowane.
  • Zawartość bazy danych nie jest klonowana.
  • Adresy IP ruchu wychodzącego zmieniają się w przypadku klonowania do innej jednostki skalowania.
  • Aplikacje systemu Linux nie są dostępne.
  • Tożsamości zarządzane nie są klonowane.
  • Aplikacje funkcji nie są dostępne.