Az Azure Resource Manager üzembe helyezési módjai
Az erőforrások üzembe helyezésekor meg kell adnia, hogy az üzembe helyezés növekményes vagy teljes frissítés legyen. A két mód közötti különbség az, hogy Resource Manager hogyan kezeli a sablonban nem szereplő erőforráscsoport meglévő erőforrásait.
Mindkét mód esetében Resource Manager megpróbálja létrehozni a sablonban megadott összes erőforrást. Ha az erőforrás már létezik az erőforráscsoportban, és a beállításai változatlanok, nem történik művelet az adott erőforráshoz. Ha módosítja egy erőforrás tulajdonságértékét, az erőforrás frissül az új értékekkel. Ha egy meglévő erőforrás helyét vagy típusát próbálja frissíteni, az üzembe helyezés hiba miatt meghiúsul. Ehelyett helyezzen üzembe egy új erőforrást a kívánt hellyel vagy típussal.
Az alapértelmezett mód növekményes.
Teljes mód
Teljes módban Resource Manager törli az erőforráscsoportban található, de a sablonban nem megadott erőforrásokat.
Megjegyzés
A sablon teljes módban történő üzembe helyezése előtt mindig használja a lehetőségelemzési műveletet . A lehetőség azt mutatja, hogy mely erőforrások lesznek létrehozva, törölve vagy módosítva. A lehetőség kiválasztásával elkerülheti az erőforrások akaratlan törlését.
Ha a sablon tartalmaz egy olyan erőforrást, amely nincs üzembe helyezve, mert a feltétel hamisnak számít, az eredmény attól függ, hogy melyik REST API-verziót használja a sablon üzembe helyezéséhez. Ha 2019.05.10-nél korábbi verziót használ, az erőforrás nem törlődik. A 2019-05-10 vagy újabb verzió esetén az erőforrás törlődik. A Azure PowerShell és az Azure CLI legújabb verziói törlik az erőforrást.
Legyen óvatos a másolási ciklusokkal rendelkező teljes mód használatával. A másolási hurok feloldása után a sablonban nem megadott erőforrások törlődnek.
Ha egy sablonban több erőforráscsoportban helyezi üzembe az üzembe helyezést, az üzembe helyezési műveletben megadott erőforráscsoport erőforrásai törölhetők. A másodlagos erőforráscsoportok erőforrásai nem törlődnek.
Van néhány különbség abban, hogy az erőforrástípusok hogyan kezelik a teljes módú törléseket. A szülőerőforrások automatikusan törlődnek, ha nem teljes módban üzembe helyezett sablonban vannak. Egyes gyermekerőforrások nem törlődnek automatikusan, ha nem szerepelnek a sablonban. Ezek a gyermekerőforrások azonban törlődnek, ha a szülőerőforrást törölték.
Ha például az erőforráscsoport dns-zónát (erőforrástípust) és CNAME rekordot (Microsoft.Network/dnsZones
Microsoft.Network/dnsZones/CNAME
erőforrástípust) tartalmaz, a DNS-zóna a CNAME rekord szülőerőforrása. Ha teljes módban telepít, és nem tartalmazza a DNS-zónát a sablonban, a DNS-zóna és a CNAME rekord is törlődik. Ha belefoglalja a DNS-zónát a sablonba, de nem tartalmazza a CNAME rekordot, a CNAME nem törlődik.
Az erőforrástípusok törlési kezelésének listáját az Azure-erőforrások törlése a teljes módú üzembe helyezéshez című témakörben találja.
Ha az erőforráscsoport zárolva van, a teljes mód nem törli az erőforrásokat.
Megjegyzés
Csak a gyökérszintű sablonok támogatják a teljes üzembe helyezési módot. Csatolt vagy beágyazott sablonok esetén növekményes módot kell használnia.
Az előfizetési szintű üzemelő példányok nem támogatják a teljes módot.
A portál jelenleg nem támogatja a teljes módot.
Növekményes mód
Növekményes módban Resource Manager változatlan erőforrásokat hagy az erőforráscsoportban, de nincsenek megadva a sablonban. A sablon erőforrásai hozzá lesznek adva az erőforráscsoporthoz.
Fontos
Ha egy meglévő erőforrást növekményes módban helyez üzembe, a rendszer minden tulajdonságot újra alkalmaz. A tulajdonságok nincsenek növekményesen hozzáadva. Gyakori félreértés, hogy a sablonban nem megadott tulajdonságok változatlanok maradnak. Ha nem ad meg bizonyos tulajdonságokat, Resource Manager úgy értelmezi az üzemelő példányt, hogy felülírja ezeket az értékeket. A sablonban nem szereplő tulajdonságok alaphelyzetbe állnak az alapértelmezett értékekre. Adja meg az erőforrás összes nem alapértelmezett értékét, nem csak a frissíteni kívánt értékeket. A sablon erőforrásdefiníciója mindig tartalmazza az erőforrás végső állapotát. Nem jelölhet részleges frissítést egy meglévő erőforrásra.
Figyelmeztetés
Ritka esetekben tulajdonságokat adhat meg egy erőforráson vagy annak egyik gyermekerőforrásán. Két gyakori példa a virtuális hálózatok alhálózatai és a webalkalmazások helykonfigurációs értékei. Ezekben az esetekben gondosan kell kezelnie a növekményes frissítéseket.
Alhálózatok esetén adja meg az értékeket a subnets
Microsoft.Network/virtualNetworks erőforrás tulajdonságán keresztül. Ne definiálja az értékeket a Microsoft.Network/virtualNetworks/subnets gyermekerőforráson keresztül. Amíg az alhálózatok a virtuális hálózaton vannak definiálva, újra üzembe helyezheti a virtuális hálózatot, és nem veszítheti el az alhálózatokat.
A helykonfigurációs értékek esetében az értékek a gyermek erőforrástípusban Microsoft.Web/sites/config
vannak implementálva. Ha újra üzembe helyezi a webalkalmazást, és üres objektumot ad meg a hely konfigurációs értékeihez, a gyermekerőforrás nem frissül. Ha azonban új helykonfigurációs értékeket ad meg, a gyermekerőforrás-típus frissül.
Példa eredmény
A növekményes és a teljes mód közötti különbség szemléltetéséhez vegye figyelembe az alábbi forgatókönyvet.
Az erőforráscsoport a következőket tartalmazza:
- A erőforrás
- B erőforrás
- C erőforrás
A sablon a következőket tartalmazza:
- A erőforrás
- B erőforrás
- D erőforrás
Növekményes módban történő üzembe helyezés esetén az erőforráscsoport a következő:
- A erőforrás
- B erőforrás
- C erőforrás
- D erőforrás
Ha teljes módban van üzembe helyezve, a C erőforrás törlődik. Az erőforráscsoport a következő:
- A erőforrás
- B erőforrás
- D erőforrás
Üzembehelyezési mód beállítása
Ha a PowerShell-lel történő üzembe helyezéskor be szeretné állítani az üzembe helyezési módot, használja a paramétert Mode
.
New-AzResourceGroupDeployment `
-Mode Complete `
-Name ExampleDeployment `
-ResourceGroupName ExampleResourceGroup `
-TemplateFile c:\MyTemplates\storage.json
Az üzembe helyezés módjának beállításához az Azure CLI-vel való üzembe helyezéskor használja a paramétert mode
.
az deployment group create \
--mode Complete \
--name ExampleDeployment \
--resource-group ExampleResourceGroup \
--template-file storage.json
Az alábbi példa egy növekményes üzembehelyezési módra beállított csatolt sablont mutat be:
"resources": [
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2020-10-01",
"name": "linkedTemplate",
"properties": {
"mode": "Incremental",
<nested-template-or-external-template>
}
}
]
Következő lépések
- A Resource Manager sablonok létrehozásáról az ARM-sablonok szerkezetének és szintaxisának ismertetése című témakörben olvashat.
- Az erőforrások üzembe helyezésével kapcsolatos további információkért lásd: Erőforrások üzembe helyezése ARM-sablonokkal és Azure PowerShell.
- Az erőforrás-szolgáltató műveleteinek megtekintéséhez tekintse meg az Azure REST API-t.