Azure App Service alkalmazás klónozása a PowerShell használatával
Megjegyzés
Javasoljuk, hogy az Azure Az PowerShell-modult használja az Azure-ral való kommunikációhoz. Az első lépésekhez tekintse meg az Azure PowerShell telepítését ismertető szakaszt. 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 App Service Biztonsági mentés funkció. Lásd: Alkalmazás biztonsági mentése Azure App Service.
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 a következő 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 parancsot, ahogyan az alábbi példában is látható
New-AzAppServicePlan -Location "North Central US" -ResourceGroupName DestinationAzureResourceGroup -Name DestinationAppServicePlan -Tier Standard
New-AzWebApp
A paranccsal létrehozhatja az új alkalmazást az USA északi középső régiójában, és összekapcsolhatja egy meglévő App Service-csomaggal. Ezenkívül használhatja ugyanazt az erőforráscsoportot, mint a forrásalkalmazás, vagy definiálhat egy új erőforráscsoportot az alábbi parancsban látható módon:
$destapp = New-AzWebApp -ResourceGroupName DestinationAzureResourceGroup -Name dest-webapp -Location "North Central US" -AppServicePlan DestinationAppServicePlan -SourceWebApp $srcapp
Ha klónozni szeretne egy meglévő alkalmazást, beleértve az összes társított üzembehelyezési helyet, 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óhelyet 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 ugyanabban a régióban szeretne klónozni, 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 egy App Service Environment
Forgatókönyv: Egy meglévő alkalmazás az USA déli középső régiójában, és a tartalmat egy meglévő App Service Environment (ASE) szeretné klónozni egy új alkalmazásba.
A forrásalkalmazást tartalmazó erőforráscsoport nevének ismeretében a következő PowerShell-paranccsal lekérheti a forrásalkalmazás adatait (ebben az esetben a neve source-webapp
):
$srcapp = Get-AzWebApp -ResourceGroupName SourceAzureResourceGroup -Name source-webapp
Az ASE nevét és az ASE-hez tartozó erőforráscsoport-nevet ismerve létrehozhatja az új alkalmazást a meglévő ASE-ben, ahogyan az az alábbi 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 ASE-ben való létrehozásakor a rendszer 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 ugyanabban a régióban lehet, mint az eredeti alkalmazáshely, vagy egy másik régióban.
A forrásalkalmazást tartalmazó erőforráscsoport-név ismeretében a következő PowerShell-paranccsal lekérheti a forrásalkalmazás-tárolóhely 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ó irányításához fontos forgatókönyv annak biztosításához, hogy az ügyfelek alkalmazásai magas rendelkezésre állásúak legyenek. Meglévő alkalmazás klónozása esetén mindkét alkalmazást csatlakoztathatja egy új traffic manager-profilhoz vagy egy meglévőhöz. Csak az Azure Resource Manager Traffic Manager-verzió 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 forgalomkezelő meglévő profilazonosítóját. Szüksége van az előfizetés azonosítójá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 forgalom-gyűjtő azonosítójának megadása után a következő 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
Megjegyzés
Ha a következő hibaüzenetet kapja: "Az SSL-ellenőrzés a traffic manager gazdanevén sikertelen", akkor javasoljuk, hogy a klónozási művelet végrehajtásakor vagy a portál használata közben használja a -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