Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk az infrastruktúra kódként (IaC) való használatának előnyeit ismerteti az Azure-beli célzónák frissítéséhez. A szervezeteknek működésük során frissíteniük kell a kezdőzónáikat, hogy a konfigurációk helyesek legyenek, és reagáljanak a módosítások szükségességére.
Az IaC képes kezelni az egész életciklust, és kiválóan kezeli az általa telepített erőforrásokat. A szervezeteknek az Azure-beli célzónák IaC-vel való üzembe helyezését kell megtervezniük. Megfelelő tervezésre van szükség ahhoz, hogy a meglévő, nem IaC típusú erőforrásokat összehangoljuk az állapotkezeléssel támogatott IaC-erőforrásokkal. Le kell képeznie a meglévő erőforrásokat a kívánt állapotra.
További információért lásd: Azure célzóna naprakészen tartása.
Az infrastruktúra mint kód működése
Az IaC az infrastruktúra-erőforrások életciklusának géppel olvasható definíciós fájlok használatával történő kezelésére szolgáló gyakorlatra és eszközökre vonatkozik. Az infrastruktúra definíciója meg van írva, verziószámozott, folyamatokon keresztül üzembe helyezve, majd a számítási feladatok üzembe helyezésének részévé válik.
Az IaC-technológiák deklaratívak, ami azt jelenti, hogy az IaC futtatásakor az infrastruktúra kívánt állapotát fogja kódban, és a tényleges állapotot a kívánt állapotba helyezi. Ha szkriptekkel konfigurálja az infrastruktúrát, például az Azure CLI-t vagy az Azure PowerShellt, azok imperatív. Az imperatív szkriptek műveletkészletet hajtanak végre, és az eredmény az aktuális állapottól és a műveletek utáni állapottól függ.
Ha tehát egy Azure-erőforrás kóddefiníciójaként rendelkezik infrastruktúrával, a definíciót tetszés szerint futtathatja, és csak akkor hoz létre változást, ha:
- A definíció módosítja az új erőforrások hozzáadását, a korábban üzembe helyezett erőforrások eltávolítását vagy a korábban üzembe helyezett erőforrások módosítását.
- Az üzembe helyezett erőforrás eltér a konfigurációtól, hogy visszaállítsa a konfigurációt a definiáltra.
Az IaC használatával visszaállíthatja az állapotot úgy, hogy eltávolítja a már nem szükséges erőforrásokat, és számos módosítással felügyeli az erőforrások életciklusát.
Jegyzet
Az erőforrások IaC-vel való eltávolításának konkrét mechanikája változó. Az Azure Bicep például megköveteli egy complete üzembe helyezési típus használatát a hatókörön kívül eső erőforrások javításához. Ez a parancs csak meghatározott hatókörökben működik. A Terraform esetében az erőforrások egy lifecycle metaargumentumot használnak, amely útmutatást nyújt arra vonatkozóan, hogy a Terraform hogyan kezelje az erőforrásokat.
Az Azure-beli célzónák esetében az infrastruktúra kódként két fő lehetőség közül választhat:
- Az Azure Bicep egy tartományspecifikus nyelv, amely a Microsoft által kifejlesztett Azure-erőforrások üzembe helyezésére szolgál. További információért lásd: Azure landing zones – Bicep-modulok tervezési szempontjai.
- A Hashicorp által gyártott Terraform infrastruktúrát helyez üzembe a felhőben és a helyszínen. A Terraform adott Microsoft által létrehozott erőforrás-szolgáltatókkal rendelkezik az Azure-erőforrások üzembe helyezéséhez. A további információért lásd Azure-beli célzónák – Terraform-modultervezési szempontok.
Az Azure-beli célzónák (ALZ) és az infrastruktúra kódként való frissítésének előnyei
Az alábbi előnyök azt mutatják be, hogy miért érdemes az infrastruktúrát kódként használni a kezdőzóna frissítéséhez.
Munkamennyiség csökkentése
A manuális módosításokhoz képest kevesebb erőfeszítést igényel az infrastruktúra kódként való használata a frissítések végrehajtásához. Az IaC üzembe helyezése a következő kérdések megválaszolásában segít:
- Hogyan vannak konfigurálva ma az erőforrások?
- Hogyan módosítja az erőforrásokat ez a frissítés?
Amikor egy infrastruktúra kódszerszámkészletként fut, az összehasonlítást vagy a módosítások "különbségi" olvasását eredményezheti. Tekintse át ezt a jelentést, mielőtt véglegesíti a módosításokat a környezetben.
Az eszközkészlet operátor vagy mérnök helyett képes a változásra vonatkozó információk fordítására.
Hibák csökkentése
Az üzemelő példányok programozott jellege miatt az infrastruktúra mint kód csökkenti az emberi hibákat, amikor módosításokat végez. Csak a definiált elemeket módosítja, és előnézeti lehetőségekkel rendelkezik, így csökkenti a sikertelen vagy hiányos módosítások által okozott kimaradást. Emellett továbbfejlesztett tesztelési lehetőségeket is kínál.
Verziókövetés és előzmények
A kódtelepítési infrastruktúra definíciós fájllal van alátámasztva, így a forrásvezérlővel kezelheti a definíciók verzióit. A használt IaC-módszertől függően hivatkozhat az Azure for Bicep üzemelő példányaira vagy a Terraform állapotfájljára a korábbi üzemelő példányok előzményeinek áttekintéséhez.
A forrásvezérlési eljárások használatakor az IaC egy új ágát hozza létre a módosítások és változatok hozzáadásához. A forrásvezérlő rendszerben az ág előzményei rögzítik az iterációkat és a módosításokat. A módosításokat egy tesztkörnyezetben is üzembe helyezheti, amíg készen nem áll a módosítások egyesítésére és üzembe helyezésére az éles környezetben. További információ: Az Azure-beli célzónák tesztelési megközelítése. Ebben a ciklusban az üzembe helyezési rekordok rögzítik a használt verziót és az üzembe helyezett erőforrásokat, ami jól látható előzményeket biztosít.
Ezeket a tesztelési módszereket a Bicep használatával általános tesztelési célokra használhatja. Az alábbi módszerekkel a kód üzembe helyezése előtt elvégezheti a tesztelést, és tesztelhet nem éles környezetekből az ágadon.
A biztonság megkeményítése
Kövesse az infrastruktúra kódtelepítési identitásként való biztonságossá tételéhez szükséges útmutatást a Biztonsági szempontok című cikkben.
Különösen az infrastruktúra mint kód telepítések esetében vegye figyelembe az alábbi módszereket a biztonság megerősítésére.
- Mindig használjon folyamatos kézbesítési folyamatokat az infrastruktúra kódként való üzembe helyezéséhez. Ne futtasson üzembe helyezéseket a helyi fejlesztői gépekről vagy más nem felügyelt eszközökről.
- Használjon különálló identitásokat a Terraform-tervhez és a Bicep-mi-ha műveletekhez a műveletek alkalmazása és üzembe helyezése helyett. A terv- és szimulációs műveletekhez csak olvasási hozzáférés szükséges, míg az alkalmazási és üzembe helyezési műveleteknek írási hozzáférésre van szükségük.
- Használjon emberi jóváhagyási kapukat az éles alkalmazás /üzembe helyezés fázisához. Ne hagyatkozz egyedül az automatizált ellenőrzésekre. Győződjön meg arról, hogy valaki ellenőrzi a Terraform-tervet vagy a Bicep mi-ha kimenetét, mielőtt módosításokat alkalmaz az éles környezetben.
- Szabályozott folyamatokat használhat egy központi helyen tárolt és felügyelt sablon megadásával. Ez a módszer biztosítja, hogy minden üzembe helyezés ugyanazokat a biztonsági és megfelelőségi védőkorlátokat kövesse.
Tesztelési környezetek
Az IaC telepítések ismételhetők, így ugyanazt a definíciót használhatja egy második (vagy több) környezet telepítéséhez. Ez a módszer hasznos a módosítások teszteléséhez.
Ha például az Azure Firewallt a Prémium termékváltozat használatával szeretné lecserélni, üzembe helyezhet egy tesztkörnyezetet, és az éles környezet módosítása nélkül érvényesítheti a módosításokat.
Adattár felépítése
Önnek biztosnak kell lennie abban, hogy amit a nem éles környezetekben üzembe helyez és tesztel, az ugyanaz, mint amit éles környezetben üzembe helyez. Használjon egy adattárszerkezetet, amely támogatja ezt a gyakorlatot.
- A törzsalapú fejlesztés funkcióágakkal való használatával biztosíthatja, hogy az összes módosítás vissza legyen vonva a főágba, mielőtt bármilyen környezetben üzembe helyeznénk.
- Használja ugyanazt a kódot az összes környezethez. Változók és változófájlok használata a környezetek megkülönböztetéséhez.
- A különböző környezetek frissítéséhez soha ne másolja és illessze be a kódot mappák vagy ágak között. Ez a gyakorlat konfigurációs eltéréshez és a környezetek közötti eltéréshez vezet.
- A Terraform-plan vagy a Bicep what-if futtatható az összes környezeten, beleértve a PR-ben történő produkciós környezetet is, hogy a változtatásokat ellenőrizze mielőtt azokat a main ágra egyesítené. A különálló írásvédett identitások használata biztonságosan teszi lehetővé ezt a gyakorlatot.
A konfiguráció eltéréseinek észlelése
Az IaC egyedülálló lehetőséget biztosít a konfigurációs eltérések a frissítések során történő észlelésére. Az üzembe helyezés rögzíti a definíciós fájl módosításait, és olyan példányokat mutat be, amelyekben az erőforrás konfigurációja eltér a definíciótól.
Az IaC-vel ellátott célzóna-frissítések segíthetnek elkapni ezt a konfigurációs eltérést, és lehetővé teszik a kód megfelelő frissítését, a frissítésen keresztüli helytelen konfigurációk kezelését, vagy más módon történő kezelését.
Ha a portálon, a parancssori felületen vagy egy nem IaC-metóduson keresztül módosítja az erőforrásokat, a módosítás implementálva lesz. Amikor legközelebb futtat egy üzembe helyezést az IaC-n keresztül, az what-if vagy plan függvények használatával jelzi a kód által definiált állapot és a portál tényleges állapota közötti összehasonlítást. Ezzel a módszerrel megállapíthatja, hogy egy környezet a kódfájlon kívül van-e módosítva.
A hibás megoldás azonosítása után futtathatja az IaC-t, hogy megpróbálja összehangolni az üzembe helyezést a definícióval. Ezzel a módszerrel azonosíthatja a problémákat, és elháríthatja a forgatókönyveket a problémák jellegétől, a futtatás jellegétől és a módosítások módjától függően. A Terraform például megpróbálja visszaállítani az alaptervet az üzembe helyezett erőforrásokra, és a Bicep Complete módú üzembe helyezése eltávolítja a definíció részét nem képező erőforráscsoport erőforrásait. Ezek az eszközök észlelik és javítják a konfiguráció eltérését, de előfordulhat, hogy nem minden problémát oldanak meg.
További információ: Sávon kívüli módosítások és Az eltérések észlelése és kezelése a Terraformmal.
A portálon definiált módosításokat nehézkes beilleszteni az IaC-be. A kódot úgy kell frissítenie, hogy megfeleljen az aktuális állapotnak, ami gyakran magában foglalja az egyes erőforrás-módosítások áttekintését és a paraméterek frissítését a "jelenlegi" konfigurációnak megfelelően.
Ha az IaC használatával kezeli a célzónát vagy más erőforrásokat, csak az IaC-n kívüli módosításokat kell végrehajtania egy vészhelyzet részeként. Óvintézkedéseket tehet olyan fiókokkal, amelyek közvetlenül hozzáférhetnek a módosításokhoz, például a Privileged Identity Managementhez.
Tekintse át az általános automatizálási és biztonsági eljárásokat a következő cikkekben:
Következő lépések
Ismerkedjen meg az IaC-eszközökkel a következő cikkekben: