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


Az Azure Export for Terraform működése

Ez a cikk bemutatja az Azure Export for Terraform munkafolyamatait. Ebben a cikkben megismerheti az eszköz ajánlott eljárásokkal kapcsolatos útmutatását, az aktuális korlátozásokat és a korlátozások enyhítésének módját.

Interaktív mód

Alapértelmezés szerint az Azure Export for Terraform interaktív módban fut. Ha interaktív módban fut, az elérhető billentyűparancsok a képernyő alján jelennek meg.

Task Billentyűparancsok
Navigációs
Válassza ki az előző elemet az erőforráslistában. -or- k
Válassza ki a következő elemet az erőforráslistában. ↓ -or- j
Ugrás az erőforráslista előző lapjára. ← -or- h -or- Page Up
Ugrás az erőforráslista következő lapjára. → -or- l -or- Page Down
Ugrás az erőforráslista elejére. g -or- Home
Ugrás az erőforráslista végére. G -or- end
Kihagyandó erőforrások kiválasztása
Erőforrás kihagyása (vagy megszüntetés, ha "Kihagyás" jelöléssel van megjelölve) Törlés
Szűrési műveletek
Szűrő definiálása szöveg alapján az erőforráslistában. /
Az aktuális szűrő törlése Esc
Műveletek mentése
Mentse az erőforráslista leképezési fájlját. A kimeneti fájlt a kihagyás (de a szűrés nem) befolyásolja. S
Exportálja az erőforrásokat állapotba (ha --hcl-only nincs megadva), és létrehozza a konfigurációt. W
Felhasználó felület
Az aktuális erőforrásra vonatkozó javaslatok megjelenítése. R
Erőforrás-exportálási hibák megjelenítése (ha vannak ilyenek). E
Súgó megjelenítése. ?
Kilép
Lépjen ki az interaktív módból. K

Minden erőforrás esetében az Azure Export for Terraform megpróbálja felismerni a megfelelő Terraform-erőforrástípust. Ha talál egyezést, a vonal a következő jelzővel van megjelölve: 💡.

Ha az erőforrás nem oldható fel, a Terraform-erőforrás címét a következő űrlapon kell megadnia: <resource type>.<resource name>. Hivatkozhat például azurerm_linux_virtual_machine.test egy Terraform-erőforrástípusra azurerm_linux_virtual_machine , míg a test konfigurációs fájlokban használt virtuális gép nevére.

A kijelölt erőforráshoz elérhető erőforrástípus(ok) megtekintéséhez nyomja le az r billentyűt.

Bizonyos esetekben vannak olyan Azure-erőforrások, amelyek nem rendelkeznek megfelelő Terraform-erőforrásokkal, például ha az erőforrás nem támogatja a Terraformot. Előfordulhat, hogy egyes erőforrások egy másik erőforrás kiépítésének mellékhatásaként is létrejönnek – ilyen például a virtuális gép kiépítésekor létrehozott operációsrendszer-lemezerőforrás. Ezekben az esetekben kihagyhatja az erőforrásokat anélkül, hogy bármit hozzárendelt volna.

Miután áttekintette az összes importálni kívánt erőforrást, nyomja le a w billentyűt a Terraform-konfiguráció létrehozásához, és (ha --hcl-only nincs kiválasztva) a Terraform állapotba történő importáláshoz.

Nem interaktív mód

Alapértelmezés szerint az Azure Export for Terraform interaktív módban fut. Ha meg szeretné adni, hogy az eszköz ne interaktív módban fusson, adja meg a jelölőt --non-interactive .

aztfexport [command] --non-interactive <scope>

Fontos

Ha a Terraformhoz készült Azure Exportot futtató címtár nem üres, a jelölő használatához hozzá kell adnia a --overwrite jelölőt --hcl-only .

Ajánlott eljárások az alapvető munkafolyamatokhoz

Alapvető szinten az Azure Export bármely felhasználójának két lehetőség közül kell választania:

Az alábbi alszakaszok útmutatást nyújtanak arra vonatkozóan, hogy a forgatókönyv alapján melyik lehetőséget érdemes használni.

Infrastruktúra kezelése

Előfordulhat, hogy nem kell állapotba exportálnia, ha még nem ellenőrizte, hogy a konfigurált erőforrások a kívánt módon viselkednek-e a környezetben.

Ha biztos benne, hogy munkafolyamatokkal terraform init plan apply szeretné kezelni a Terraformban található erőforrások készletét, az állapotba való exportálás elengedhetetlen.

Ha még nem biztos abban, hogy kezelni szeretné az erőforrásokat, ajánlott a --hcl-only jelzőt átadni.

Meglévő infrastruktúra

Olyan helyzetekben, amikor meglévő Terraform-környezetekbe exportál, hasznos lehet terraformterv-ekvivalensnek tekinteni--hcl-only, különösen a meglévő környezetekhez való hozzáfűzés előtt.

A terraform apply parancs egyenértékű az erőforrások exportálásával , amely során konfigurációjuk a már meglévő állapotba van állítva. Ebben a forgatókönyvben a leképezési fájl használatával időt takaríthat meg az erőforrások listázásához és leképezéséhez.

Infrastruktúra felderítése

Ha nem tudja biztosan, hogy mely erőforrások léteznek egy környezetben, a jelölő megadásával ellenőrizheti.--generate-mapping-file A témával kapcsolatos további információkért lásd : A testreszabott erőforrás-kiválasztás és -elnevezés feltárása az Azure Export for Terraform használatával.

Korlátozások

Az Azure Export for Terraform egy összetett eszköz, amely megpróbálja az Azure-infrastruktúrát Terraform-kódmá és állapottá alakítani. Jelenlegi ismert korlátait az alábbi alszakaszok ismertetik.

Írásvédett tulajdonságok

Az AzureRM bizonyos tulajdonságai írásvédettek, és nem szerepelnek a Terraformhoz készült Azure Export által létrehozott kódban. A probléma megoldásához definiálja a tulajdonságot a HCL-kódba való exportálás után.

Tulajdonságközi korlátozások

Az AzureRM-szolgáltató két olyan tulajdonságot állíthat be, amelyek ütköznek egymással. Ha az Azure Export for Terraform ütköző tulajdonságokat olvas be, mindkét tulajdonságot ugyanarra az értékre állíthatja, annak ellenére, hogy a felhasználó csak egyet konfigurál. További bonyodalmak merülnek fel, ha több tulajdonságközi korlátozás létezik ugyanazon a létrehozott konfiguráción belül. A probléma megoldásához tudnia kell, hogy hol találhatók a tulajdonságközi ütközések a konfigurációban.

Erőforrás-hatókörön kívüli infrastruktúra

Ha az Azure Export for Terraformot használja az erőforrás-hatókörök megcélzásához, a konfigurációhoz szükséges erőforrások a megadott hatókörön kívül is létezhetnek. Ilyen például egy szerepkör-hozzárendelés. A felhasználónak azonosítania kell a hatókörön kívüli erőforrásokat.

Írásvédett tulajdonságok

Az Azure Export nem tud írásvédett tulajdonságokat (például jelszavakat) létrehozni a konfigurációjában. Az új erőforráskészletek létrehozásához ismernie kell a csak írási tulajdonságokat, és meg kell határoznia őket egy konfigurációban.

Kód módosítása a kódolási szabványoknak megfelelően

Van néhány szükséges művelet, ha a felhasználó módosítani szeretné a kódját, hogy megfeleljen a kódolási szabványoknak. Ezekre a lépésekre csak akkor lenne szükség, ha a felhasználó a kódot nemandbox környezetekben szeretné használni.

Tulajdonság által definiált erőforrások

Az Azure-ban bizonyos erőforrások definiálhatók egy szülő Terraform-erőforrás vagy egy egyéni Terraform-erőforrás tulajdonságaként. Ilyen például egy alhálózat. Az Azure Export for Terraform egyéni erőforrásként definiálja az erőforrást, de ajánlott a meglévő kódolási konfigurációval egyezni.

Explicit függőségek

Az Azure Export for Terraform jelenleg csak explicit függőségeket deklarálhat. Ismernie kell az erőforrások közötti kapcsolatok leképezését a kód újrabontásához a szükséges implicit függőségek belefoglalásához.

Rögzített értékek

Az Azure Export for Terraform jelenleg kemény kódú sztringeket hoz létre. Ajánlott eljárásként ezeket az értékeket újra kell átképeznie változókra. Továbbá, ha a jelölő használatával teszi elérhetővé az --full-properties összes tulajdonságot, bizonyos bizalmas információk (például titkos kódok) megjelennek a létrehozott konfigurációban. Ajánlott eljárások használata a kód láthatóságának védelméhez.

További lépések