Sdílet prostřednictvím


Použití infrastruktury jako kódu k aktualizaci cílových zón Azure

Tento článek popisuje výhody použití infrastruktury jako kódu (IaC) k aktualizaci cílových zón Azure. Organizace musí aktualizovat cílové zóny, protože pracují, aby zajistily správnost konfigurací a reagovaly na potřebu změn.

IaC může spravovat celý životní cyklus a exceluje při správě prostředků, které nasazuje. Organizace by měly naplánovat nasazení cílových zón Azure pomocí IaC. Vyžaduje plánování sladění stávajících prostředků mimo IaC s prostředky IaC, které jsou podporovány správou stavu. Je potřeba namapovat existující prostředky na požadovaný stav.

Další informace najdete v tématu Udržování cílové zóny Azure v aktualizovaném stavu.

Jak funguje infrastruktura jako kód

IaC odkazuje na postupy a nástroje pro správu životního cyklu prostředků infrastruktury pomocí strojově čitelných definičních souborů. Definice infrastruktury se zapíše, vytvoří verze, nasadí prostřednictvím kanálů a pak se stane součástí nasazení pro úlohy.

Technologie IaC jsou deklarativní, což znamená, že při spuštění IaC nastaví konfiguraci na to, co je popsáno v kódu bez ohledu na jeho aktuální stav. Když konfigurujete infrastrukturu prostřednictvím skriptů, jako je Azure CLI nebo Azure PowerShell, jsou imperativní. Imperativní skripty provádějí sadu akcí a výsledek závisí na aktuálním stavu a stavu po akcích.

Pokud tedy máte infrastrukturu jako definici kódu pro prostředek Azure, můžete tuto definici spustit tak často, jak potřebujete, a pouze v případě, že:

  • Definice se změní tak, aby se přidávaly nové prostředky, odebíraly dříve nasazené prostředky nebo se změnily prostředky, které byly dříve nasazeny.
  • Nasazený prostředek se od konfigurace posune, aby se konfigurace resetuje na definovanou.

Pomocí IaC můžete obnovit stav odebráním prostředků, které už nepotřebujete, a správou životního cyklu prostředků prostřednictvím mnoha změn.

Poznámka:

Specifická mechanika pro odebrání prostředků pomocí IaC se liší. Například Azure Bicep vyžaduje použití complete typu nasazení k nápravě prostředků mimo rozsah. Tento příkaz funguje jenom v konkrétních oborech. U Terraformu lifecycle mají prostředky meta argument, který obsahuje pokyny, jak má Terraform zpracovávat prostředky.

Pro cílové zóny Azure existují dvě hlavní možnosti infrastruktury jako kódu:

  • Azure Bicep, což je jazyk specifický pro doménu, který se používá k nasazení prostředků Azure vyvinutých Microsoftem. Další informace najdete v tématu Cílové zóny Azure – Aspekty návrhu modulů Bicep.
  • Terraform, produkt vytvořený společností Hashicorp, pro nasazení infrastruktury do cloudu a místního prostředí. Terraform má pro nasazení prostředků Azure specifické poskytovatele prostředků vytvořené microsoftem. Další informace najdete v tématu Cílové zóny Azure – Aspekty návrhu modulu Terraform.

Výhody aktualizace ALZ pomocí infrastruktury jako kódu

Následující výhody popisují, proč byste měli použít infrastrukturu jako kód k provádění aktualizací cílové zóny.

Snížení úsilí

Použití infrastruktury jako kódu k provádění aktualizací v porovnání s ručními změnami trvá méně úsilí. Nasazení IaC pomáhá zodpovědět následující otázky:

  • Jak se dnes konfigurují prostředky?
  • Jak bude tato aktualizace nakonfigurována?
  • Jaké změny budou provedeny, aby byla v souladu s touto aktualizací?

Když se infrastruktura jako sada nástrojů kódu spustí, může vytvořit porovnání nebo rozdílové čtení změn. Před potvrzením změn v prostředí si toto čtení projděte.

Sada nástrojů může informace o změně zkompilovat místo operátora nebo inženýra.

Snížit chybu

Vzhledem k programové povaze nasazení snižuje infrastruktura jako kód lidské chyby, zatímco provádí změny. Změní jenom to, co je definované a má možnosti preview, takže snižuje výpadky způsobené neúspěšnými nebo neúplnými změnami. Nabízí také vylepšené možnosti testování.

Správa verzí a historie

Infrastruktura jako nasazení kódu je zajištěna definičním souborem, takže ke správě verzí definic můžete použít správu zdrojového kódu. V závislosti na metodě IaC, kterou používáte, můžete odkazovat na nasazení v Azure for Bicep nebo na váš stavový soubor pro Terraform a zkontrolovat historii předchozích nasazení.

Když používáte postupy správy zdrojového kódu, vytvoří novou větev IaC pro přidání změn a revizí. Historie větve v systému správy zdrojového kódu zachycuje iterace a změny. Můžete ho použít k nasazení změn do testovacího prostředí, dokud nebudete připraveni sloučit a nasadit změny do produkčního prostředí. Další informace najdete v tématu Testování přístupu pro cílové zóny Azure. V průběhu tohoto cyklu zaznamenává záznamy nasazení používanou verzi a prostředky, které jsou nasazené, což poskytuje vysoce viditelnou historii.

Tyto testovací metody můžete použít s bicepem pro obecné účely testování. Pomocí těchto metod můžete provést testování před nasazením kódu a otestovat v neprodukčním prostředí z větve.

Testovací prostředí

Nasazení IaC se dají opakovat, takže stejnou definici můžete použít k nasazení druhého (nebo více) prostředí založeného na nasazení. Tato metoda je cenná pro testování změn.

Pokud například chcete nahradit službu Azure Firewall pomocí skladové položky Premium, můžete nasadit testovací prostředí a ověřit změny beze změny v produkčním prostředí.

Zachycení odchylek konfigurace

IaC nabízí jedinečnou možnost zachycení odchylek konfigurace během aktualizací. Nasazení zachytí změny v definičním souboru a zobrazí instance, ve kterých se konfigurace prostředku liší od definice.

Aktualizace cílových zón pomocí IaC vám můžou pomoct zachytit tento posun konfigurace a umožnit vám odpovídajícím způsobem aktualizovat kód, vyřešit tyto chybné konfigurace prostřednictvím aktualizace nebo je vyřešit jiným způsobem.

Když provedete změnu prostředků prostřednictvím portálu, rozhraní příkazového řádku nebo jiné metody než IaC, je tato změna implementována. Při příštím spuštění nasazení prostřednictvím IaC označí porovnání mezi stavem definovaným kódem a skutečným stavem na portálu pomocí funkcí citlivostní analýzy nebo plánu. Tuto metodu použijte k identifikaci, zda je prostředí změněno mimo soubor kódu.

Po zjištění nesprávného zarovnání můžete spustit IaC a pokusit se o sladění nasazení s definicí. Tato metoda slouží k identifikaci problémů a nápravě scénářů v závislosti na povaze problémů, povaze spuštění a způsobu provedení změn. Terraform se například pokusí obnovit směrný plán k prostředkům, které nasadil, a Complete nasazení režimu v Bicep odebere prostředky ve skupině prostředků, které nejsou součástí definice. Tyto nástroje detekují a opravují posun konfigurace, ale nemusí řešit všechny problémy.

Další informace najdete v tématu Vzdálené změny a zjišťování a správa odchylek pomocí Terraformu.

Změny definované na portálu jsou těžkopádné pro implementaci zpět do IaC. Kód musíte aktualizovat tak, aby odpovídal aktuálnímu stavu, což často zahrnuje kontrolu každé změny prostředku a aktualizaci jeho parametrů tak, aby odpovídal konfiguraci "tak, jak je".

Pokud ke správě cílové zóny nebo jiných prostředků používáte IaC, měli byste v rámci tísňového volání provádět změny pouze mimo IaC. U účtů, které mají přístup k provádění změn přímo, jako je Privileged Identity Management, proveďte preventivní opatření.

Obecné postupy automatizace a zabezpečení najdete v následujících článcích:

Další kroky

Seznamte se s nástroji IaC v následujících článcích: