klonowanie aplikacji Azure App Service przy użyciu programu PowerShell

Uwaga

Zalecamy korzystanie z modułu Azure Az programu PowerShell do interakcji z platformą Azure. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. 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 wersji Microsoft Azure PowerShell w wersji 1.1.0 dodano nową opcjęNew-AzWebApp, która umożliwia sklonowanie istniejącej aplikacji App Service do nowo utworzonej aplikacji w innym regionie lub w tym samym regionie. Ta opcja umożliwia klientom szybkie i łatwe wdrażanie wielu aplikacji w różnych regionach.

Klonowanie aplikacji w usłudze App Service jest obsługiwane w planach Standardowa, Premium, Premium (wersja 2) i Izolowana. Nowa funkcja używa tych samych ograniczeń co funkcja App Service Backup, zobacz Tworzenie kopii zapasowej aplikacji w Azure App Service.

Klonowanie istniejącej aplikacji

Scenariusz: istniejąca aplikacja w regionie Południowo-środkowe stany USA i chcesz sklonować zawartość do nowej aplikacji w regionie Północno-środkowe stany USA. Można to zrobić przy użyciu wersji polecenia cmdlet programu PowerShell w usłudze Azure Resource Manager, aby utworzyć nową aplikację z opcją -SourceWebApp .

Znajomość nazwy 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 App Service, możesz użyć New-AzAppServicePlan polecenia , jak w poniższym przykładzie

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

New-AzWebApp Za pomocą polecenia możesz utworzyć nową aplikację w regionie Północno-środkowe stany USA 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, jak pokazano w poniższym poleceniu:

$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 . Należy pamiętać, że IncludeSourceWebAppSlots parametr jest obsługiwany tylko w przypadku klonowania całej aplikacji, w tym wszystkich miejsc. Następujące polecenie programu PowerShell demonstruje użycie tego parametru za pomocą New-AzWebApp polecenia :

$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, musisz utworzyć nową grupę zasobów i nowy plan usługi App Service w tym samym regionie, a następnie użyć 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 App Service Environment

Scenariusz: istniejąca aplikacja w regionie Południowo-środkowe stany USA i chcesz sklonować zawartość do nowej aplikacji do istniejącej App Service Environment (ASE).

Znajomość nazwy 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

Znajomość nazwy środowiska ASE i nazwy grupy zasobów, do której należy środowisko ASE, możesz utworzyć nową aplikację w istniejącym środowisku ASE, jak pokazano w poniższym 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 z powodu starszej przyczyny, ale jest ignorowany podczas tworzenia aplikacji w środowisku ASE.

Klonowanie istniejącego miejsca aplikacji

Scenariusz: chcesz sklonować istniejące miejsce wdrożenia aplikacji do nowej aplikacji lub nowego miejsca. Nowa aplikacja może znajdować się w tym samym regionie co oryginalne miejsce aplikacji lub w innym regionie.

Znajomość nazwy 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 tworzenie klonu 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

Tworzenie aplikacji z wieloma regionami i konfigurowanie usługi Azure Traffic Manager w celu kierowania ruchu do wszystkich tych aplikacji jest ważnym scenariuszem zapewniającym wysoką dostępność aplikacji klientów. Podczas klonowania istniejącej aplikacji możesz połączyć obie aplikacje z nowym profilem usługi Traffic Manager lub istniejącym. Obsługiwana jest tylko wersja usługi Azure Resource Manager usługi Traffic Manager.

Tworzenie nowego profilu usługi Traffic Manager podczas klonowania aplikacji

Scenariusz: chcesz sklonować aplikację do innego regionu, konfigurując profil usługi Azure Resource Manager traffic manager zawierający obie aplikacje. Następujące polecenie pokazuje tworzenie klonu 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 Azure Resource Manager traffic manager i chcesz dodać obie aplikacje jako punkty końcowe. W tym celu należy najpierw zebrać 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 menedżera ruchu następujące polecenie pokazuje utworzenie klonu 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

Jeśli wystąpi błąd z komunikatem "Walidacja SSL w nazwie hosta usługi Traffic Manager kończy się niepowodzeniem", zalecamy użycie atrybutu -IgnoreCustomHostNames w poleceniu cmdlet programu PowerShell podczas wykonywania operacji klonowania lub używania portalu.

Bieżące ograniczenia

Oto znane ograniczenia klonowania aplikacji:

  • Ustawienia skalowania automatycznego nie są klonowane
  • Ustawienia harmonogramu kopii zapasowych nie są klonowane
  • Ustawienia sieci wirtualnej nie są klonowane
  • Ustawienia usługi App Insights nie są automatycznie konfigurowane w aplikacji docelowej
  • Ustawienia łatwego uwierzytelniania nie są klonowane
  • Rozszerzenie Kudu nie jest klonowane
  • Reguły testowania w produkcji nie są klonowane
  • Zawartość baz danych nie jest klonowana
  • Adresy IP ruchu wychodzącego zmienią się w przypadku klonowania do innej jednostki skalowania
  • Niedostępne dla aplikacji systemu Linux
  • Tożsamości zarządzane nie są klonowane
  • Niedostępne dla aplikacji funkcji

Odwołania