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

Hivatkozások