klonowanie aplikacji usługi aplikacja systemu Azure Service przy użyciu programu PowerShell
Uwaga
Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. 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.
Wraz z wydaniem programu Microsoft Azure PowerShell w wersji 1.1.0 dodano New-AzWebApp
nową opcję umożliwiającą sklonowanie istniejącej aplikacji usługi 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 korzysta z tych samych ograniczeń co funkcja tworzenia kopii zapasowej usługi App Service. Zobacz Tworzenie kopii zapasowej aplikacji w usłudze aplikacja systemu Azure 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 usługi Azure Resource Manager polecenia cmdlet programu PowerShell, 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 usługi 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 usługi App Service. Ponadto możesz 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 New-AzWebApp
pomocą 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, należy 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 w środowisku App Service Environment
Scenariusz: istniejąca aplikacja w regionie Południowo-środkowe stany USA i chcesz sklonować zawartość do nowej aplikacji do istniejącego środowiska 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 ze względu na starszą przyczynę, 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.
Znając nazwę grupy zasobów, która zawiera 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 demonstruje 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 Traffic Manager usługi Azure Resource 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 Traffic Manager usługi Azure Resource 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
W przypadku wystąpienia błędu z komunikatem "Sprawdzanie poprawności protokołu 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
Informacje
- Klonowanie usługi App Service
- Tworzenie kopii zapasowej aplikacji w usłudze aplikacja systemu Azure
- Obsługa usługi Azure Resource Manager w wersji zapoznawczej usługi Azure Traffic Manager
- Wprowadzenie do usługi App Service Environment
- Używanie programu Azure PowerShell z usługą Azure Resource Manager