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