Azure-alkalmazás Szolgáltatásalkalmazás klónozása a PowerShell használatával
Feljegyzés
Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Első lépésként tekintse meg az Azure PowerShell telepítését ismertető témakört. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.
A Microsoft Azure PowerShell 1.1.0-s verziójának kiadásával új lehetőséggel New-AzWebApp
bővült a meglévő App Service-alkalmazás klónozása egy újonnan létrehozott alkalmazásba egy másik régióban vagy ugyanabban a régióban. Ezzel a beállítással az ügyfelek számos alkalmazást helyezhetnek üzembe gyorsan és egyszerűen a különböző régiókban.
Az alkalmazások klónozása a Standard, a Prémium, a Prémium V2 és az Izolált App Service-csomagoknál támogatott. Az új funkció ugyanazokat a korlátozásokat használja, mint az App Service biztonsági mentési funkciója, lásd: Alkalmazás biztonsági mentése Azure-alkalmazás Szolgáltatásban.
Meglévő alkalmazás klónozása
Forgatókönyv: Egy meglévő alkalmazás az USA déli középső régiójában, és a tartalmat egy új alkalmazásba szeretné klónozni az USA északi középső régiójában. Ez a PowerShell-parancsmag Azure Resource Manager-verziójával valósítható meg egy új alkalmazás beállítással történő -SourceWebApp
létrehozásához.
A forrásalkalmazást tartalmazó erőforráscsoport nevének ismeretében az alábbi PowerShell-paranccsal lekérheti a forrásalkalmazás adatait (ebben az esetben a neve source-webapp
):
$srcapp = Get-AzWebApp -ResourceGroupName SourceAzureResourceGroup -Name source-webapp
Új App Service-csomag létrehozásához használhatja New-AzAppServicePlan
a következő példához hasonló parancsot
New-AzAppServicePlan -Location "North Central US" -ResourceGroupName DestinationAzureResourceGroup -Name DestinationAppServicePlan -Tier Standard
A New-AzWebApp
parancs használatával létrehozhatja az új alkalmazást az USA északi középső régiójában, és összekapcsolhatja egy meglévő App Service-csomaggal. Emellett használhatja ugyanazt az erőforráscsoportot, mint a forrásalkalmazás, vagy definiálhat egy új erőforráscsoportot, ahogyan az alábbi parancsban látható:
$destapp = New-AzWebApp -ResourceGroupName DestinationAzureResourceGroup -Name dest-webapp -Location "North Central US" -AppServicePlan DestinationAppServicePlan -SourceWebApp $srcapp
Egy meglévő alkalmazás klónozásához, beleértve az összes kapcsolódó üzembehelyezési pontot, a paramétert IncludeSourceWebAppSlots
kell használnia. Vegye figyelembe, hogy a IncludeSourceWebAppSlots
paraméter csak egy teljes alkalmazás klónozásához támogatott, beleértve az összes tárolóhelyét is. A következő PowerShell-parancs bemutatja a paraméter használatát a New-AzWebApp
paranccsal:
$destapp = New-AzWebApp -ResourceGroupName DestinationAzureResourceGroup -Name dest-webapp -Location "North Central US" -AppServicePlan DestinationAppServicePlan -SourceWebApp $srcapp -IncludeSourceWebAppSlots
Ha egy meglévő alkalmazást szeretne klónozni ugyanabban a régióban, létre kell hoznia egy új erőforráscsoportot és egy új App Service-csomagot ugyanabban a régióban, majd a következő PowerShell-paranccsal klónoznia kell az alkalmazást:
$destapp = New-AzWebApp -ResourceGroupName NewAzureResourceGroup -Name dest-webapp -Location "South Central US" -AppServicePlan NewAppServicePlan -SourceWebApp $srcapp
Meglévő alkalmazás klónozása App Service-környezetbe
Forgatókönyv: Egy meglévő alkalmazás az USA déli középső régiójában, és a tartalmat egy új alkalmazásba szeretné klónozni egy meglévő App Service-környezetbe (A Standard kiadás).
A forrásalkalmazást tartalmazó erőforráscsoport nevének ismeretében az alábbi PowerShell-paranccsal lekérheti a forrásalkalmazás adatait (ebben az esetben a neve source-webapp
):
$srcapp = Get-AzWebApp -ResourceGroupName SourceAzureResourceGroup -Name source-webapp
Ismerve az A Standard kiadás nevét és az erőforráscsoport nevét, amelyhez az A Standard kiadás tartozik, létrehozhatja az új alkalmazást a meglévő A Standard kiadás, ahogyan az a következő parancsban látható:
$destapp = New-AzWebApp -ResourceGroupName DestinationAzureResourceGroup -Name dest-webapp -Location "North Central US" -AppServicePlan DestinationAppServicePlan -ASEName DestinationASE -ASEResourceGroupName DestinationASEResourceGroupName -SourceWebApp $srcapp
A Location
paraméter örökölt ok miatt szükséges, de az alkalmazás A Standard kiadás-ben való létrehozásakor figyelmen kívül hagyja.
Meglévő alkalmazáshely klónozása
Forgatókönyv: Egy alkalmazás meglévő üzembehelyezési pontját egy új alkalmazásba vagy egy új pontba szeretné klónozni. Az új alkalmazás lehet ugyanabban a régióban, mint az eredeti alkalmazás pont, vagy egy másik régióban.
A forrásalkalmazást tartalmazó erőforráscsoport nevét ismerve a következő PowerShell-paranccsal lekérheti a forrásalkalmazás pontjának adatait (ebben az esetben a neve source-appslot
) a következőhöz source-app
:
$srcappslot = Get-AzWebAppSlot -ResourceGroupName SourceAzureResourceGroup -Name source-app -Slot source-appslot
Az alábbi parancs bemutatja, hogyan hozhat létre klónt a forrásalkalmazásból egy új alkalmazásba:
$destapp = New-AzWebApp -ResourceGroupName DestinationAzureResourceGroup -Name dest-app -Location "North Central US" -AppServicePlan DestinationAppServicePlan -SourceWebApp $srcappslot
A Traffic Manager konfigurálása alkalmazás klónozása közben
A többrégiós alkalmazások létrehozása és az Azure Traffic Manager konfigurálása a forgalom ezen alkalmazásokhoz való átirányításához fontos forgatókönyv annak biztosítása érdekében, hogy az ügyfelek alkalmazásai magas rendelkezésre állásúak legyenek. Meglévő alkalmazás klónozásakor lehetősége van mindkét alkalmazást egy új traffic manager-profilhoz vagy egy meglévőhöz csatlakoztatni. Csak a Traffic Manager Azure Resource Manager-verziója támogatott.
Új Traffic Manager-profil létrehozása alkalmazás klónozása közben
Forgatókönyv: Egy alkalmazást egy másik régióba szeretne klónozni, miközben konfigurál egy Azure Resource Manager traffic Manager-profilt, amely mindkét alkalmazást tartalmazza. Az alábbi parancs bemutatja, hogyan hozhat létre klónt a forrásalkalmazásból egy új alkalmazásba egy új Traffic Manager-profil konfigurálása során:
$destapp = New-AzWebApp -ResourceGroupName DestinationAzureResourceGroup -Name dest-webapp -Location "South Central US" -AppServicePlan DestinationAppServicePlan -SourceWebApp $srcapp -TrafficManagerProfileName newTrafficManagerProfile
Új klónozott alkalmazás hozzáadása meglévő Traffic Manager-profilhoz
Forgatókönyv: Már rendelkezik Azure Resource Manager Traffic Manager-profillal, és mindkét alkalmazást végpontként szeretné hozzáadni. Ehhez először össze kell állítania a traffic manager meglévő profilazonosítóját. Szüksége van az előfizetés azonosítóra, az erőforráscsoport nevére és a meglévő Traffic Manager-profil nevére.
$TMProfileID = "/subscriptions/<Your subscription ID goes here>/resourceGroups/<Your resource group name goes here>/providers/Microsoft.TrafficManagerProfiles/ExistingTrafficManagerProfileName"
A forgalomkezelő azonosítójának megadása után az alábbi parancs bemutatja, hogyan hozhat létre klónt a forrásalkalmazásból egy új alkalmazásba, miközben hozzáadja őket egy meglévő Traffic Manager-profilhoz:
$destapp = New-AzWebApp -ResourceGroupName <Resource group name> -Name dest-webapp -Location "South Central US" -AppServicePlan DestinationAppServicePlan -SourceWebApp $srcapp -TrafficManagerProfileId $TMProfileID
Feljegyzés
Ha olyan hibaüzenetet kap, amely azt jelzi, hogy "Az SSL-ellenőrzés a traffic manager gazdagépnevén sikertelen", akkor javasoljuk, hogy a klónozási művelet végrehajtása vagy a portál használata során használja az -IgnoreCustomHostNames attribútumot a PowerShell-parancsmagban.
Jelenlegi korlátozások
Az alkalmazások klónozásának korlátai a következők:
- Az automatikus skálázási beállítások nem lesznek klónozva
- A biztonsági mentés ütemezési beállításai nem lesznek klónozva
- A VNET-beállítások nem lesznek klónozva
- Az App Insights nem lesz automatikusan beállítva a célalkalmazásban
- Az egyszerűsített hitelesítés beállításai nem lesznek klónozva
- A Kudu bővítmény nem lesz klónozva
- A TiP-szabályok nem lesznek klónozva
- Az adatbázis-tartalmak nem lesznek klónozva
- A kimenő IP-címek módosulnak, ha a klónozás egy másik skálázási egységre történik
- Linux-alkalmazásokhoz nem érhető el
- A felügyelt identitások nem lesznek klónozva
- Függvényalkalmazásokhoz nem érhető el