Az Azure Resource Manager üzembe helyezési módjai

Az erőforrások üzembe helyezésekor meg kell adnia, hogy az üzemelő példány növekményes frissítés vagy teljes frissítés. A két mód közötti különbség az, Resource Manager a sablonban nem lévő erőforráscsoport meglévő erőforrásait kezeli.

A két mód 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, a rendszer nem folytat műveletet az adott erőforráson. 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 hibával meghiúsul. Ehelyett telepítsen egy új erőforrást a szükséges helyről vagy típusról.

Az alapértelmezett mód növekményes.

Teljes mód

Teljes módban a Resource Manager törli az erőforráscsoportban található, de a sablonban nem megadott erőforrásokat.

Megjegyzés

Mindig használja a what-if műveletet, mielőtt teljes módban üzembe helyez egy sablont. A What-if azt mutatja meg, hogy mely erőforrások lesznek létrehozva, törölve vagy módosítva. A what-if használatával elkerülheti az erőforrások akaratlan törlését.

Ha a sablon olyan erőforrást tartalmaz, amely nincs telepítve, mert a feltétel kiértékelése hamis, az eredmény attól függ, REST API melyik verziót használja a sablon üzembe helyezéséhez. Ha a 2019-05-10-esnél korábbi verziót használ, az erőforrás nem törlődik. A 2019-05-10-es vagy újabb időpontban az erőforrás törölve lesz. A Azure PowerShell és az Azure CLI legújabb verziói törlik az erőforrást.

Legyen óvatos a teljes mód és a másolási hurkok használatával. Törlődnek minden olyan erőforrás, amely nem lett megadva a sablonban a másolási hurok feloldása után.

Ha egy sablon több erőforráscsoportja számára is üzembe helyez üzembe helyezést, akkor azüzembe helyezési műveletben megadott erőforráscsoport erőforrásai törölhetők. A másodlagos erőforráscsoportokban az erőforrások 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 nincsenek a sablonban. Ezek a gyermekerőforrások azonban törlődnek a szülőerőforrás törlésekor.

Ha például az erőforráscsoport egy DNS-zónát (erőforrástípus) és egy CNAME rekordot Microsoft.Network/dnsZones (erőforrástípus) tartalmaz, a DNS-zóna a CNAME rekord Microsoft.Network/dnsZones/CNAME szülőerőforrása. Ha teljes módban telepíti az üzembe helyezést, és nem foglalja bele a DNS-zónát a sablonba, a DNS-zóna és a CNAME rekord is törlődik. Ha a DNS-zónát a sablonba foglalja, de a CNAME rekordot nem, a rendszer nem törli a CNAME rekordot.

Az erőforrástípusok törlési módjának listájáért lásd: Azure-erőforrások törlése teljes módú üzembe helyezések esetén.

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énnö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 a Resource Manager az erőforráscsoportban található, de a sablonban nem megadott erőforrásokat hagyja változatlanul. A sablon erőforrásai hozzá vannak adva az erőforráscsoporthoz.

Megjegyzés

Meglévő erőforrás növekményes módban való újratelepítésekor a rendszer az összes tulajdonságot újraalkalmazásra használja. A tulajdonságok nem kerülnek növekményes hozzáadásra. Gyakori félreértés az, hogy a sablonban nem megadott tulajdonságok változatlanok maradnak. Ha nem ad meg bizonyos tulajdonságokat, a Resource Manager az üzemelő példány az értékek felülírásaként értelmezi. A sablonban nem szereplő tulajdonságok visszaállnak az alapértelmezett értékekre. Az erőforrás nem alapértelmezett értékeit adja meg, ne csak azokat, amelyeken épp frissít. A sablonban található erőforrás-definíció mindig tartalmazza az erőforrás végső állapotát. Nem jelentheti egy meglévő erőforrás részleges frissítését.

Ritka esetekben az erőforráshoz megadott tulajdonságok valójában gyermekerőforrásként vannak megvalósítva. Ha például helykonfigurációs értékeket ad meg egy webalkalmazáshoz, ezek az értékek a gyermek erőforrástípusban vannak Microsoft.Web/sites/config megvalósítva. Ha a webalkalmazás ismételt üzembehelyét adja meg, és üres objektumot ad meg a helykonfigurációs értékekhez, a gyermekerőforrás nem frissül. Ha azonban új helykonfigurációs értékeket ad meg, a gyermekerőforrás típusa 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ére tekintse meg a következő forgatókönyvet.

Az erőforráscsoport a következő adatokat tartalmazza:

  • A erőforrás
  • B erőforrás
  • C erőforrás

A sablon a következő elemeket tartalmazza:

  • A erőforrás
  • B erőforrás
  • D erőforrás

Növekményes módban való üzembe helyezéskor az erőforráscsoport a következővel rendelkezik:

  • A erőforrás
  • B erőforrás
  • C erőforrás
  • D erőforrás

Teljes módban való üzembe helyezéskor a C erőforrás törlődik. Az erőforráscsoport a következővel rendelkezik:

  • A erőforrás
  • B erőforrás
  • D erőforrás

Üzembe helyezési mód beállítása

Az üzembe helyezési mód PowerShell-rel való üzembe helyezésekor a paraméterrel Mode állíthatja be.

New-AzResourceGroupDeployment `
  -Mode Complete `
  -Name ExampleDeployment `
  -ResourceGroupName ExampleResourceGroup `
  -TemplateFile c:\MyTemplates\storage.json

Az üzembe helyezési mód beállítását az Azure CLI-val való üzembe helyezéshez használja a mode paraméterrel.

az deployment group create \
  --mode Complete \
  --name ExampleDeployment \
  --resource-group ExampleResourceGroup \
  --template-file storage.json

Az alábbi példa egy növekményes üzembe helyezé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