Co je Azure Resource Manager?
S týmem jste strávili určitou dobu učením výhod infrastruktury jako kódu a různých přístupů, které jsou k dispozici. Vaše společnost rychle roste a váš tým ví, že do Azure nasadí velký počet prostředků. Jako tým jste se rozhodli, že deklarativní infrastruktura jako kód je správným přístupem ke zřizování prostředků. Tým nechce udržovat skripty, které uvádějí každý krok nasazení. Než začnete s procesem vytváření první šablony, musíte pochopit, jak Azure Resource Manager funguje. Zkoumání typů šablon, které jsou k dispozici pro použití s Azure, vám pomůže určit další kroky ve strategii infrastruktury jako kódu.
V této lekci se seznámíte s Resource Managerem a dvěma typy šablon Resource Manageru.
Koncepty Azure Resource Manageru
Azure Resource Manager je služba, která se používá k nasazení a správě prostředků v Azure. Pomocí Resource Manageru můžete vytvářet, aktualizovat a odstraňovat prostředky ve vašem předplatném Azure. S Resource Managerem můžete pracovat pomocí mnoha nástrojů, včetně webu Azure Portal. Resource Manager také poskytuje řadu dalších funkcí, jako je řízení přístupu, auditování a označování, a pomáhá tak spravovat prostředky po nasazení.
Terminologie
Při zahájení cesty ke cloudu s Resource Managerem je důležité porozumět některým pojmům a konceptům:
Prostředek: Spravovatelná položka, která je dostupná na platformě Azure. Příkladem prostředků jsou virtuální sítě, virtuální počítače, účty úložiště, webové aplikace a databáze.
Skupina prostředků: Logický kontejner, který obsahuje související prostředky pro řešení Azure. Skupina prostředků obsahuje prostředky, které chcete spravovat jako skupinu. Většina prostředků Azure je obsažená ve skupině prostředků. Rozhodnete se, které prostředky patří do skupiny prostředků, na základě toho, co je pro vaše řešení nejvhodnější.
Poznámka:
Malý počet prostředků nejsou obsaženy ve skupinách prostředků. Tyto typy prostředků jsou určené pro konkrétní účely, jako je správa řízení přístupu a vynucování zásad. Další informace o těchto prostředcích najdete v pozdějším modulu.
Předplatné: Logický kontejner a hranice fakturace pro vaše prostředky a skupiny prostředků. Každý prostředek a skupina prostředků Azure jsou přidružené jenom k jednomu předplatnému.
Skupina pro správu: Logický kontejner, který používáte ke správě více než jednoho předplatného. Definováním hierarchie skupin pro správu, předplatných, skupin prostředků a prostředků můžete efektivně spravovat přístup, zásady a dodržování předpisů prostřednictvím dědičnosti.
Šablona Azure Resource Manageru (šablona ARM): Soubor šablony, který definuje jeden nebo více prostředků pro nasazení do skupiny prostředků, předplatného, skupiny pro správu nebo tenanta. Šablonu můžete použít k nasazení prostředků konzistentním a opakovatelným způsobem. Existují dva typy souborů šablon ARM: JSON a Bicep. Tento modul se zaměřuje na Bicep.
Zaměstnanecké výhody
Resource Manager nabízí řadu výhod a možností souvisejících se zřizováním prostředků infrastruktury jako kódu:
- Prostředky ve vašem řešení můžete nasadit, spravovat a monitorovat jako skupinu místo jednotlivě.
- Řešení můžete znovu nasadit v průběhu životního cyklu vývoje a mít jistotu, že jsou vaše prostředky nasazené v konzistentním stavu.
- Infrastrukturu můžete spravovat prostřednictvím deklarativních šablon místo pomocí skriptů.
- Můžete zadat závislosti prostředků, abyste zajistili, že se prostředky nasadí ve správném pořadí.
Operace: Řídicí rovina a rovina dat
V Azure můžete provádět dva typy operací: operace řídicí roviny a operace roviny dat. Pomocí řídicí roviny můžete spravovat prostředky ve vašem předplatném. Pomocí roviny dat můžete získat přístup k funkcím vystaveným prostředkem.
Například k vytvoření virtuálního počítače použijete operaci řídicí roviny, ale k připojení k virtuálnímu počítači pomocí protokolu RDP (Remote Desktop Protocol) použijete operaci roviny dat.
Řídicí rovina
Když odešlete požadavek z libovolného nástroje, rozhraní API nebo sady SDK (Software Development Kit), Resource Manager žádost přijme, ověří a autorizuje žádost. Pak odešle požadavek poskytovateli prostředků Azure, který provede požadovanou akci. Vzhledem k tomu, že všechny požadavky se zpracovávají prostřednictvím stejného rozhraní API, uvidíte konzistentní výsledky a možnosti ve všech různých nástrojích, které jsou dostupné v Azure.
Následující obrázek znázorňuje roli, kterou Resource Manager hraje při zpracování požadavků Azure:
Všechny požadavky na operace řídicí roviny se posílají na adresu URL Resource Manageru. Například operace vytvoření nebo aktualizace pro virtuální počítače je operace řídicí roviny. Tady je adresa URL požadavku pro tuto operaci:
PUT https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}?api-version=2022-08-01
Řídicí rovina rozumí tomu, které prostředky je potřeba vytvořit a které prostředky už existují. Resource Manager rozumí rozdílu mezi těmito požadavky a nevytváří identické prostředky ani neodstraní existující prostředky, i když existují způsoby, jak toto chování přepsat.
Rovina dat
Při spuštění operace roviny dat se požadavky posílají do konkrétního koncového bodu ve vašem předplatném Azure. Operace Zjistit jazyk ve službách Azure AI je například operace roviny dat, protože adresa URL požadavku je:
POST https://eastus.api.cognitive.microsoft.com/text/analytics/v2.0/languages
Funkce Resource Manageru, jako je řízení přístupu a zámky, se ne vždy vztahují na operace roviny dat. Uživatel například nemusí mít oprávnění ke správě virtuálního počítače pomocí řídicí roviny, ale uživatel se může přihlásit k operačnímu systému.
Co jsou šablony ARM?
Šablony Azure Resource Manageru jsou soubory, které definují infrastrukturu a konfiguraci pro vaše nasazení. Při psaní šablony ARM použijete deklarativní přístup ke zřizování prostředků. Tyto šablony popisují jednotlivé prostředky v nasazení, ale nepopisují, jak prostředky nasadit. Když odešlete šablonu do Resource Manageru pro nasazení, řídicí rovina může nasadit definované prostředky uspořádaným a konzistentním způsobem. V předchozí lekci jste se dozvěděli o rozdílech mezi imperativním kódem a deklarativním kódem.
Proč používat šablony ARM?
Použití šablon ARM ( JSON nebo Bicep) pro zřizování prostředků má mnoho výhod.
Opakovatelné výsledky: Šablony ARM jsou idempotentní, což znamená, že stejnou šablonu můžete opakovaně nasadit a získat stejný výsledek. Šablona nezdvojuje prostředky.
Orchestrace: Při odeslání nasazení šablony do Resource Manageru se prostředky v šabloně nasadí paralelně. Tento proces umožňuje rychlejší dokončení nasazení. Resource Manager orchestruje tato nasazení ve správném pořadí, pokud jeden prostředek závisí na jiném.
Preview: Nástroj citlivostní analýza dostupný v Azure PowerShellu a Azure CLI umožňuje zobrazit náhled změn v prostředí před nasazením šablony. Tento nástroj podrobně popisuje veškeré vytváření, úpravy a odstranění provedené vaší šablonou.
Testování a ověřování: Pomocí nástrojů, jako je linter Bicep, můžete před nasazením zkontrolovat kvalitu šablon. Šablony ARM odeslané do Resource Manageru se ověřují před procesem nasazení. Toto ověření vás upozorní na případné chyby v šabloně před zřizováním prostředků.
Modularita: Šablony můžete rozdělit do menších komponent a propojit je při nasazení.
Integrace CI/CD: Šablony ARM je možné integrovat do několika nástrojů CI/CD, jako jsou Azure DevOps a GitHub Actions. Tyto nástroje můžete použít k vytváření verzí šablon prostřednictvím správy zdrojového kódu a kanálů verzí buildu.
Rozšiřitelnost: Pomocí skriptů nasazení můžete spouštět skripty Bash nebo PowerShellu z šablon ARM. Tyto skripty provádějí úlohy, jako jsou operace roviny dat, při nasazení. Prostřednictvím rozšiřitelnosti můžete k nasazení kompletního řešení použít jednu šablonu ARM.
Šablony JSON a Bicep
Dnes jsou k dispozici dva typy šablon ARM: šablony JSON a šablony Bicep. JavaScript Object Notation (JSON) je open-standard formátu souboru, který může používat více jazyků. Bicep je nový jazyk specifický pro doménu, který byl nedávno vyvinut pro vytváření šablon ARM pomocí jednodušší syntaxe. Pro šablony ARM a nasazení prostředků můžete použít některý formát šablony.