Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek vás seznámí s pracovními postupy Azure Exportu pro Terraform . V tomto článku se dozvíte o osvědčených postupech nástroje, aktuálních omezeních a o tom, jak tato omezení zmírnit.
Interaktivní režim
Ve výchozím nastavení běží Azure Export pro Terraform v interaktivním režimu. Když spustíte interaktivní režim, zobrazí se v dolní části displeje dostupné klávesové zkratky.
| Úkol | Klávesové zkratky |
|---|---|
| Navigační | |
| V seznamu prostředků vyberte předchozí položku. | ↑ -nebo- k |
| V seznamu prostředků vyberte další položku. | ▼ -or- j |
| Přejít na předchozí stránku v seznamu zdrojů. | ← nebo h nebo Page Up |
| Přejděte na další stránku v seznamu zdrojů | → -nebo- l -or- Page Down |
| Přejděte na začátek seznamu prostředků. | g -or- Domů |
| Přejděte na konec seznamu zdrojů. | G -or- End |
| Výběr prostředků, které chcete přeskočit | |
| Přeskočit zdroj (nebo zrušit vynechání, pokud je označený jako Přeskočit) | Vymazat |
| Operace filtrování | |
| Definujte filtr podle textu v seznamu prostředků. | / |
| Vymazání libovolného aktuálního filtru | Esc |
| Operace ukládání | |
| Uložte soubor mapování seznamu prostředků. Výstupní soubor je ovlivněn přeskočením (ale ne filtrováním). | s |
Exportujte prostředky do stavu (pokud --hcl-only není zadáno) a vygenerujte konfiguraci. |
w |
| Uživatelské prostředí | |
| Zobrazení doporučení pro aktuální zdroj. | r |
| Zobrazí chyby exportu prostředků (pokud existuje). | e |
| Zobrazit nápovědu. | ? |
| Přestat | |
| Ukončete interaktivní režim. | q |
Pro každý prostředek se Azure Export for Terraform pokusí rozpoznat odpovídající typ prostředku Terraform. Pokud najde shodu, je řádek označen následujícím indikátorem: 💡.
Pokud se prostředek nedá vyřešit, musíte zadat adresu prostředku Terraformu v následujícím formátu: <resource type>.<resource name> Například azurerm_linux_virtual_machine.test odkazuje na typ prostředku Terraform azurerm_linux_virtual_machine , zatímco test odkazuje na název virtuálního počítače použitého v konfiguračních souborech.
Pokud chcete zobrazit dostupné typy prostředků pro vybraný prostředek, stiskněte klávesu r.
V některých případech existují prostředky Azure, které nemají odpovídající prostředky Terraformu, například pokud prostředek nemá podporu Terraformu. Některé prostředky se také můžou vytvořit jako vedlejší účinek zřizování jiného prostředku, například prostředku disku s operačním systémem, který se vytvoří při zřizování virtuálního počítače. V těchto případech můžete prostředky přeskočit, aniž byste něco přiřadili.
Po projití všech prostředků, které je třeba importovat, stiskněte w a začněte generovat konfiguraci pro Terraform a (pokud --hcl-only není vybráno) importovat do stavu Terraformu.
Neinteraktivní režim
Ve výchozím nastavení běží Azure Export pro Terraform v interaktivním režimu. Pokud chcete určit, že se má nástroj spustit v neinteraktivním režimu, zadejte --non-interactive příznak.
aztfexport [command] --non-interactive <scope>
Důležité
Pokud adresář, ve kterém používáte Azure Export for Terraform, není prázdný, musíte přidat příznak --overwrite k použití příznaku --hcl-only.
Osvědčené postupy pro základní pracovní postupy
Na základní úrovni čelí každý uživatel služby Azure Export rozhodnutí mezi dvěma možnostmi:
Následující pododdíly poskytují pokyny k tomu, jakou možnost na základě scénáře použít.
Správa infrastruktury
Možná nebudete muset exportovat do stavu, pokud jste neověřili, že se nakonfigurované prostředky chovají v rámci vašeho prostředí požadovaným způsobem.
Pokud si opravdu přejete spravovat sadu prostředků v Terraformu pomocí terraform init plan apply pracovních postupů, je export do stavu nezbytný.
Pokud si nejste jistí, že chcete spravovat prostředky, doporučuje se použít příznak --hcl-only.
Existující infrastruktura
Ve scénářích, ve kterých exportujete do existujících prostředí Terraformu, může být užitečné si představit --hcl-only jako ekvivalent plánu terraformu , zejména před připojením k existujícím prostředím.
Příkaz terraform apply odpovídá exportu prostředků – během kterého se jejich konfigurace integruje do již existujícího stavu. V tomto scénáři při použití souboru mapování ušetříte čas spuštění pro výpis a mapování prostředků.
Zjišťování infrastruktury
Pokud si nejste jistí, jaké prostředky v prostředí existují, můžete to ověřit zadáním příznaku --generate-mapping-file . Další informace o tomto předmětu najdete v tématu Zkoumání přizpůsobeného výběru prostředků a pojmenování pomocí služby Azure Export pro Terraform.
Omezení
Azure Export for Terraform je složitý nástroj, který se pokouší převést infrastrukturu Azure na kód a stav Terraformu. Jeho aktuální známá omezení jsou vysvětlena v následujících pododdílech.
Omezení napříč vlastnostmi
Zprostředkovatel AzureRM může nastavit dvě vlastnosti, které jsou vzájemně v konfliktu. Když Azure Export pro Terraform čte konfliktní vlastnosti, může nastavit obě vlastnosti na stejnou hodnotu, i když uživatel konfiguruje jenom jednu. Další komplikace se objeví, když v rámci stejné vygenerované konfigurace existuje více omezení mezi vlastnostmi. Abyste mohli tento problém zmírnit, musíte vědět, kde v konfiguraci existují konflikty mezi vlastnostmi.
Infrastruktura mimo rozsah prostředků
Pokud k cílovým oborům prostředků používáte Azure Export for Terraform, můžou existovat prostředky potřebné pro konfiguraci mimo zadaný obor. Jedním z příkladů je přiřazení role. Uživatel musí identifikovat prostředky, které jsou mimo rozsah.
Vlastnosti jen pro zápis
Azure Export nemůže v rámci konfigurace generovat vlastnosti jen pro zápis (například hesla). Potřebujete vědět o vlastnostech jen pro zápis a definovat je v konfiguraci pro vytvoření nových sad prostředků.
Úprava kódu tak, aby odpovídal standardům kódování
Existuje několik nezbytných operací, pokud chce uživatel upravit kód tak, aby se řídil standardy kódování. Tyto kroky by byly nezbytné pouze v případě, že uživatel plánuje používat kód v prostředích, která nejsou v prostředích mimo službu.
Prostředky definované vlastnostmi
Některé prostředky v Azure je možné definovat jako vlastnost nadřazeného prostředku Terraformu nebo jako jednotlivé prostředky Terraformu. Jedním z příkladů je podsíť. Azure Export for Terraform definuje prostředek jako jednotlivý prostředek, ale osvědčeným postupem je sladit ji s vaší stávající konfigurací kódování.
Explicitní závislosti
Azure Export pro Terraform je v současné době schopný deklarovat pouze explicitní závislosti. Abyste mohli refaktorovat kód tak, aby zahrnoval všechny potřebné implicitní závislosti, musíte znát mapování vztahů mezi prostředky.
Pevně zakódované hodnoty
Azure Export pro Terraform v současné době generuje pevně zakódované řetězce. Osvědčeným postupem je refaktorovat tyto hodnoty na proměnné. Při použití příznaku --full-properties ke zveřejnění všech vlastností se vygenerované konfiguraci dají zobrazit některé citlivé informace (například tajné kódy). K ochraně viditelnosti tohoto kódu použijte doporučené postupy.