Megosztás a következőn keresztül:


Mik azok az ARM-sablonok?

A felhőbe való áttéréssel számos csapat alkalmazott agilis fejlesztési módszereket. Ezek a csapatok gyorsan iterálnak. Ismétlődően kell a megoldásokat a felhőben üzembe helyezniük, és biztosaknak kell lenniük abban, hogy az infrastruktúrájuk megbízható állapotban van. Ahogy az infrastruktúra az iteratív folyamat részévé vált, a műveletek és a fejlesztés közötti megosztás eltűnt. A teamsnek egységes folyamaton keresztül kell kezelnie az infrastruktúrát és az alkalmazáskódot.

A kihívásoknak való megfelelés érdekében automatizálja az üzembe helyezéseket, és használja az infrastruktúra mint kód gyakorlatát. A kódban definiálja az üzembe helyezendő infrastruktúrát. Az infrastruktúra-kód a projekt része. Az alkalmazáskódhoz hasonlóan tárolja az infrastruktúra-kódot egy forrásadattárban, és verziószámozza azt. A csapat bármely tagja futtathatja a kódot, és hasonló környezeteket helyezhet üzembe.

Az infrastruktúra kódként történő implementálásához az Azure-megoldások esetében használjon Azure Resource Manager- (ARM-) sablonokat. A sablon egy JavaScript Object Notation- (JSON-) fájl, amely meghatározza a projekt infrastruktúráját és konfigurációját. A sablon olyan deklaratív szintaxist használ, amellyel anélkül határozhatja meg, hogy mit szeretne üzembe helyezni, hogy ehhez programozási parancsok sorozatát kellene megírnia. A sablonban meg kell adnia az üzembe helyezendő erőforrásokat és az erőforrások tulajdonságait. Azt is megadhatja, hogy az erőforrások mely erőforráscsoportban legyenek üzembe helyezve.

Tipp.

Bevezettünk egy bicep nevű új nyelvet, amely ugyanazokat a képességeket kínálja, mint az ARM-sablonok, de egy könnyebben használható szintaxissal. Minden Bicep-fájl automatikusan ARM-sablonná alakul az üzembe helyezés során. Ha az infrastruktúrát kódbeállításként tekinti, javasoljuk, hogy tekintse meg a Bicepet. További információ: Mi az a Bicep?.

Miért érdemes ARM-sablonokat választani?

Ha az ARM-sablonok és a másik infrastruktúra kódszolgáltatásként való használata között próbál dönteni, vegye figyelembe a sablonok használatának alábbi előnyeit:

  • Deklaratív szintaxis: Az ARM-sablonok lehetővé teszik egy teljes Azure-infrastruktúra deklaratív létrehozását és üzembe helyezését. Például nem csak a virtuális gépeket, hanem a hálózati infrastruktúrát, a tárolórendszereket és a szükséges egyéb erőforrásokat is üzembe helyezheti.

  • Megismételhető eredmények: Az infrastruktúra ismételt üzembe helyezése a fejlesztési életciklus során, és bízik abban, hogy az erőforrások konzisztens módon vannak üzembe helyezve. A sablonok idempotensek, ami azt jelenti, hogy ugyanazt a sablont többször is üzembe helyezheti, és ugyanabban az állapotban ugyanazokat az erőforrástípusokat szerezheti be. Létrehozhat egy sablont, amely a kívánt állapotot képviseli, ahelyett, hogy sok különálló sablont fejlesztenél a frissítések megjelenítéséhez. Az alábbi fájl például létrehoz egy tárfiókot. Ha a sablont és a megadott tulajdonságokkal rendelkező tárfiókot már üzembe helyezi, nem történik módosítás.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    }
  },
  "resources": {
    "mystore": {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2023-04-01",
      "name": "mystorageaccount",
      "location": "[parameters('location')]",
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "StorageV2"
    }
  }
}
  • Vezénylés: Nem kell aggódnia a rendelési műveletek összetettsége miatt. A Resource Manager vezényli az egymástól függő erőforrások üzembe helyezését, hogy azok a megfelelő sorrendben legyenek létrehozva. Ha lehetséges, a Resource Manager párhuzamosan helyezi üzembe az erőforrásokat, így az üzemelő példányok gyorsabban fejeződnek be, mint a soros üzemelő példányok. A sablont több imperatív parancs helyett egy paranccsal helyezheti üzembe.

    Az imperatív és a deklaratív üzembe helyezés közötti különbséget bemutató diagram.

  • Moduláris fájlok: A sablonokat kisebb, újrafelhasználható összetevőkre bonthatja, és az üzembe helyezéskor összekapcsolhatja őket. Egy sablont egy másik sablonba is beágyazhat.

  • Bármilyen Azure-erőforrás létrehozása: Azonnal használhatja az új Azure-szolgáltatásokat és -funkciókat a sablonokban. Amint egy erőforrás-szolgáltató új erőforrásokat vezet be, sablonokkal telepítheti ezeket az erőforrásokat. Az új szolgáltatások használata előtt nem kell megvárnia az eszközök vagy modulok frissítését.

  • Bővíthetőség: Az üzembehelyezési szkriptekkel PowerShell- vagy Bash-szkripteket vehet fel a sablonokba. Az üzembehelyezési szkriptek kibővítik az erőforrások üzembe helyezése során történő beállításának lehetőségét. Felvehet egy szkriptet a sablonba, vagy tárolhatja egy külső forrásban, és hivatkozhat rá a sablonban. Az üzembehelyezési szkriptekkel a teljes környezet beállítását egyetlen ARM-sablonban végezheti el.

  • Tesztelés: Annak érdekében, hogy a sablon kövesse az ajánlott irányelveket, tesztelje az ARM-sablon eszközkészlettel (arm-ttk). Ez a tesztkészlet egy PowerShell-szkript, amelyet a GitHubról tölthet le. Az eszközkészlet megkönnyíti a szakértelem fejlesztését a sablonnyelv használatával.

  • Változások előnézete: A módosításokat a mi-ha művelettel tekintheti meg a sablon üzembe helyezése előtt. A lehetőséggel láthatja, hogy mely erőforrásokat kell létrehoznia, frissítenie vagy törölnie, és milyen erőforrástulajdonságokat kell módosítania. A lehetőségelemzési művelet ellenőrzi a környezet aktuális állapotát, és szükségtelenné teszi az állapot kezelését.

  • Beépített érvényesítés: A sablon csak az ellenőrzés átadása után lesz üzembe helyezve. A Resource Manager az üzembe helyezés megkezdése előtt ellenőrzi a sablont, hogy biztosan sikeres legyen. Az üzembe helyezés kevésbé valószínű félkész állapotban.

  • Nyomon követett üzemelő példányok: Az Azure Portalon áttekintheti az üzembe helyezési előzményeket, és információkat kaphat a sablon üzembe helyezéséről. Megtekintheti az üzembe helyezett sablont, az átadott paraméterértékeket és a kimeneti értékeket. A kódszolgáltatásokhoz tartozó egyéb infrastruktúrát a rendszer nem követi nyomon a portálon.

    Képernyőkép az Azure Portalról az üzembe helyezési előzményekről.

  • Szabályzat mint kód: Az Azure Policy egy szabályzat, mint kódkeret, amely automatizálja a szabályozást. Azure-szabályzatok használata esetén a szabályzatok szervizelése nem megfelelő erőforrásokon történik a sablonokon keresztül történő üzembe helyezéskor.

  • Üzembehelyezési tervek: A Microsoft által biztosított terveket a szabályozási és megfelelőségi szabványoknak való megfelelés érdekében használhatja ki. Ezek a tervek előre összeállított sablonokat tartalmaznak a különböző architektúrákhoz.

  • CI/CD-integráció: Sablonokat integrálhat a folyamatos integrációs és folyamatos üzembe helyezési (CI/CD) eszközökbe. Ez az integráció automatizálja a kiadási folyamatokat a gyors és megbízható alkalmazás- és infrastruktúra-frissítések érdekében. Az Azure DevOps és a Resource Manager sablonfeladat használatával az Azure Pipelines használatával folyamatosan hozhat létre és helyezhet üzembe ARM-sablonprojekteket. További információ: VS-projekt folyamatokkal és oktatóanyag: Az Azure Resource Manager-sablonok folyamatos integrálása az Azure Pipelinessal.

  • Exportálható kód: Egy meglévő erőforráscsoport sablonját az erőforráscsoport aktuális állapotának exportálásával vagy egy adott üzembe helyezéshez használt sablon megtekintésével szerezheti be. Az exportált sablon megtekintése hasznos információkat nyújt a sablon szintaxisáról.

  • Szerzői eszközök: Sablonokat készíthet a Visual Studio Code-talés a sabloneszköz bővítményével. IntelliSense, szintaxiskiemelés, in-line súgó és sok más nyelvi függvény. A Visual Studio Code mellett a Visual Studio is használható.

Sablonfájl

A sablonon belül olyan sablonkifejezéseket írhat, amelyek kibővítik a JSON képességeit. Ezek a kifejezések a Resource Manager által biztosított függvényeket használják.

A sablon a következő szakaszokból áll:

  • Paraméterek – Olyan értékeket adjon meg az üzembe helyezés során, amelyeket ugyanazon sablon használatakor testre szabhat a különböző környezetekhez.

  • Változók – A sablonokban újra felhasználható értékek definiálása. Ezeket paraméterértékekből hozhatja létre.

  • Felhasználó által definiált függvények – Testre szabott függvények létrehozása, amelyek leegyszerűsítik a sablont.

  • Erőforrások – Adja meg az üzembe helyezendő erőforrásokat.

  • Kimenetek – Az üzembe helyezett erőforrások értékeinek visszaadása.

Sablon üzembe helyezési folyamata

Amikor üzembe helyez egy sablont, a Resource Manager a sablont REST API-műveletekké alakítja át. Például amikor a Resource Manager megkap egy sablont, amely a következő erőforrás-definíciót tartalmazza:

"resources": [
  {
    "type": "Microsoft.Storage/storageAccounts",
    "apiVersion": "2022-09-01",
    "name": "mystorageaccount",
    "location": "centralus",
    "sku": {
      "name": "Standard_LRS"
    },
    "kind": "StorageV2"
  },
]

A definíciót a következő REST API-műveletre alakítja át, amelyet a Microsoft.Storage erőforrás-szolgáltatónak küld:

PUT
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/mystorageaccount?api-version=2022-09-01
REQUEST BODY
{
  "location": "centralus",
  "sku": {
    "name": "Standard_LRS"
  },
  "kind": "StorageV2",
  "properties": {}
}

Figyelje meg, hogy az erőforrás sablonjában beállított apiVersion a REST-művelet API-verziója. A sablont ismételten üzembe helyezheti, és biztos lehet abban, hogy a sablon továbbra is működik. Ugyanannak az API-verziónak a használatával nem kell aggódnia a későbbi verziókban esetleg bevezetett kompatibilitástörő változások miatt.

Sablon üzembe helyezéséhez használja az alábbi lehetőségeket:

Sablonterv

Sablonokat és erőforráscsoportokat határozhat meg a megoldás kezelésének módjától függően. A háromrétegű alkalmazást például egyetlen sablonon keresztül helyezheti üzembe egyetlen erőforráscsoportban.

Háromrétegű alkalmazástelepítést bemutató diagram egyetlen sablon használatával.

Nem kell a teljes infrastruktúrát egyetlen sablonban meghatároznia. Gyakran érdemes felosztani a telepítési követelményeket konkrét, célspecifikus sablonokra. Ezeket a sablonokat egyszerűen újból felhasználhatja különböző megoldásokhoz. Egy adott megoldás üzembe helyezéséhez hozzon létre egy fő sablont, amely összekapcsolja az összes szükséges sablont. Az alábbi kép bemutatja, hogyan helyezhet üzembe háromszintű megoldást egy három beágyazott sablont tartalmazó szülősablonon keresztül.

A beágyazott sablonok használatával háromszintű alkalmazástelepítést bemutató diagram.

Ha elképzeli, hogy a rétegek külön életciklusokkal rendelkeznek, akkor a három szintet különálló erőforráscsoportokra telepítheti. Az erőforrások továbbra is csatolhatók más erőforráscsoportok erőforrásaihoz.

Diagram, amely egy háromszintű alkalmazástelepítést mutat be külön erőforráscsoportokkal.

A beágyazott sablonokkal kapcsolatos további információkért lásd: Kapcsolt sablonok használata az Azure Resource Manager eszközben.

Sablonok megosztása

A sablon létrehozása után érdemes lehet megosztania a szervezet más felhasználóival. A sablon specifikációi lehetővé teszik egy sablon erőforrástípusként való tárolását. Szerepköralapú hozzáférés-vezérléssel kezelheti a sablon specifikációhoz való hozzáférést. A sablon specifikációhoz olvasási hozzáféréssel rendelkező felhasználók üzembe helyezhetik, de nem módosíthatják a sablont.

Ez a megközelítés azt jelenti, hogy biztonságosan megoszthatja a szervezet szabványainak megfelelő sablonokat.

Támogatás kérése

Az Alábbiakban bemutatjuk az Azure Resource Manager-sablonokkal kapcsolatos támogatási jegy megnyitásának lépéseit:

  1. Nyissa meg az Azure Portalt.

  2. A jobb felső sarokban válassza a Támogatás és hibaelhárítás ikont.

  3. Röviden írja le a problémát, írja be az ARM-sablont, majd válassza az Ugrás lehetőséget.

  4. Melyik szolgáltatásban van probléma?, válassza a Portál lehetőséget a Figyelés és kezelés területen, majd válassza a Tovább gombot.

  5. Jelöljön ki egy előfizetést, majd válassza a Tovább gombot.

  6. Válassza az ARM-sablonokkal kapcsolatos probléma lehetőséget, majd válassza a Tovább gombot.

    Képernyőkép az ARM-sablon támogatásának igényléséről.

Következő lépések