Vysvětlení specifikací šablon

Dokončeno

Teď jste zvyklí nasazovat šablony Azure Resource Manageru (šablony ARM) do Azure pomocí Bicep nebo JSON. Vytvoříte soubor šablony a pak ho odešlete do Azure vytvořením nasazení. Azure Resource Manager orchestruje vytváření nebo rekonfiguraci prostředků.

Když pracujete se specifikacemi šablon, šablonu stále odesíláte do Azure. Místo toho, abyste ho nasadí, azure ho uloží, abyste ho mohli používat v budoucnu. Pak se můžete vrátit později a sdělit Azure, aby nasadil specifikaci šablony. Stejnou specifikaci šablony můžete dokonce použít opakovaně k nasazení více prostředí.

Proč používat specifikace šablon?

Ve vaší společnosti toy jste vytvořili spoustu opakovaně použitelných šablon, mezi které patří:

Název šablony Popis
Storage account Nasadí účet úložiště a vynucuje ověřování Microsoft Entra.
Účet Cosmos DB Nasadí účet služby Azure Cosmos DB s povoleným průběžným zálohováním.
Virtuální síť Nasadí virtuální síť, která má správnou konfiguraci pro partnerský vztah se sítí hlavního centra.
Web pro uvedení produktu na trh Nasadí plán služby Aplikace Azure, aplikaci a účet úložiště pro weby, které obsahují nové hračky.

Specifikace šablon představují skvělý způsob, jak vytvořit knihovnu opakovaně použitelných šablon ARM pro běžné scénáře ve vaší organizaci. Odborník může vytvořit šablonu s předkonfigurovaným prostředkem nebo sadou prostředků. Tento odborník ho pak může publikovat jako specifikaci šablony a umožnit ostatním uživatelům v organizaci ho nasadit.

Pomocí specifikací šablon můžete zajistit, aby byly prostředky, které váš tým vytvoří, nakonfigurované podle vašich požadavků. Můžete například publikovat specifikaci šablony, jako je šablona účtu úložiště, kterou jsme popsali dříve. Kdykoli pak někdo ve vaší organizaci nasadí specifikaci šablony, můžete mít jistotu, že vytvoří účet úložiště se správným nastavením ověřování.

Specifikace šablon se ukládají v Azure, takže nemusíte udržovat sdílené soubory šablon sami. Pomocí řízení přístupu na základě role v Azure můžete spravovat, kdo může používat a upravovat specifikace šablon. Bez specifikací šablon musíte zvolit umístění úložiště, jako je Azure Storage, aby se zachovaly soubory šablon. Musíte také řídit přístup sami.

Jak se specifikace šablon porovnávají s moduly Bicep?

Při práci s Bicepem můžete vytvořit opakovaně použitelné moduly pro definování sad prostředků v jednom souboru. Specifikace šablon a moduly Bicep jsou oba způsoby, jak do šablon přidat možnost opětovného použití, ale jsou optimalizované pro různé věci:

  • Specifikace šablon jsou navržené tak, aby je bylo možné nasadit jako úplnou šablonu. Specifikace šablon můžete nasadit pomocí webu Azure Portal a nástrojů, jako jsou Azure CLI a Azure PowerShell. Moduly Bicep se mají zkombinovat do většího nasazení. Pokud ale vytvoříte specifikaci šablony, bicep vám také umožní použít ji jako modul, pokud chcete.
  • Specifikace šablon poskytují možnosti správy verzí a řízení přístupu. Musíte spravovat verze a zabezpečení kódu Bicep sami.
  • Specifikace šablon se ukládají v Azure jako prostředek. Moduly Bicep musíte ukládat někam, kde řídíte, například systém správy verzí, jako je Git nebo váš systém souborů.
  • Moduly Bicep uchovávají veškerý původní kód Bicep, včetně komentářů, symbolických názvů a prázdných znaků. Když pomocí Bicep vytvoříte specifikaci šablony, kód Bicep se převede na JSON a některé z těchto informací se ztratí. Proto musíte zdrojový soubor Bicep zachovat někam jinam.

Když se rozhodujete mezi specifikacemi šablon a moduly Bicep, je dobrým pravidlem: pokud se šablona nasadí tak, jak je v celé organizaci, jsou specifikace šablon pravděpodobně vhodné. Pokud ale budete pravděpodobně tuto šablonu opakovaně používat v rámci více nadřazených šablon, můžou moduly Bicep lépe sloužit vašim potřebám.

Jak fungují specifikace šablon

Specifikace šablony je prostředek Azure, stejně jako účet úložiště nebo virtuální počítač. Musí se vytvořit v rámci skupiny prostředků, i když samotná šablona může nasadit prostředky do předplatného, správy nebo oboru tenanta.

Při práci se specifikací šablony vytvoříte dva prostředky:

  • Specifikace šablony je prostředek kontejneru. Obsahuje jednu nebo více verzí.
  • Verze specifikace šablony obsahují skutečnou šablonu, která se má nasadit.

Pracujete se specifikacemi a verzemi šablon pomocí jejich ID prostředků. Tady je příklad ID prostředku pro specifikaci šablony:

/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SharedTemplates/providers/Microsoft.Resources/templateSpecs/StorageWithoutSAS

Verze je podřízený prostředek specifikace šablony. Má ID prostředku, jako je tento příklad:

/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SharedTemplates/providers/Microsoft.Resources/templateSpecs/StorageWithoutSAS/versions/1.0

Při nasazování specifikace šablony je potřeba zadat ID prostředku verze specifikace šablony.

Tady je obrázek pracovního postupu, který sledujete při použití specifikací šablon:

Diagram that shows the workflow for using template specs.

Šablonu vytvoříte tak, jak jste zvyklí. Pro šablonu, kterou vytvoříte pro specifikaci šablony, není nic zvláštního. Deklarujete prostředky, vytváříte parametry a proměnné, používáte funkce atd.

Až bude šablona připravená, vytvoříte prostředek specifikace šablony. Pak šablonu publikujete do specifikace šablony jako verzi. Nástroje, které použijete k vytvoření specifikací šablon, vám umožní provést všechny tyto kroky v jedné operaci. Specifikace šablony se po publikování uloží v Azure jako prostředek. Můžete ho zobrazit, upravit a řídit přístup k němu stejně jako jakýkoli jiný prostředek Azure. Specifikaci šablony můžete publikovat z místního počítače nebo z kanálu nasazení.

Pokaždé, když chcete nasadit specifikaci šablony, odkazujete z nasazení na ID prostředku verze specifikace šablony. Můžete ho nasadit do libovolné skupiny prostředků nebo dokonce do jiného předplatného nebo oboru. Azure přečte specifikaci šablony a použije ji jako šablonu pro nasazení.