A Terraform használata infrastruktúraként kódeszközként az Azure Developer CLI-hez
Az Azure Developer CLI (azd
) több infrastruktúrát támogat kódként (IaC) szolgáltatóként, beleértve a következőket:
Alapértelmezés szerint azd
a Bicep-et feltételezi IaC-szolgáltatóként. A Terraform és a Bicep összehasonlítása című cikkben talál segítséget annak eldöntéséhez, hogy melyik IaC-szolgáltató a legjobb a projekthez.
Feljegyzés
A Terraform még bétaverzióban van. További információ az alfa- és bétafunkció-támogatásról a funkciók verziószámozási és kiadási stratégiájának oldalán
Előfeltételek
- A Terraform telepítése és konfigurálása
- Telepítés és bejelentkezés az Azure CLI-be (v 2.38.0+)
- Tekintse át az architektúradiagramot és a Node.js vagy Python Terraform-sablonban üzembe helyezhető Azure-erőforrásokat.
Feljegyzés
Bár azd
nem azure CLI-bejelentkezésre támaszkodik, a Terraformhoz Azure CLI szükséges. Erről a követelményről a Terraform hivatalos dokumentációjában olvashat bővebben.
A Terraform konfigurálása IaC-szolgáltatóként
Nyissa meg a
azure.yaml
projekt gyökerében található fájlt , és győződjön meg arról, hogy a következő sorokkal felülbírálja az alapértelmezettet, amely a Bicep:infra: provider: terraform
Adja hozzá az
.tf
összes fájlt ainfra
projekt gyökerében található könyvtárhoz.Futtassa az
azd up
parancsot.
Feljegyzés
Tekintse meg ezt a két azd-sablont, amelyekben a Terraform IaC-szolgáltatóként van jelen: Node.js és Terraform , valamint Python és Terraform.
azd pipeline config
Terraformhoz
A Terraform tárolja a felügyelt infrastruktúra és konfiguráció állapotát. Az állapotfájl miatt engedélyeznie kell a távoli állapotot , mielőtt futtatna azd pipeline config
az üzembehelyezési folyamat GitHubon való beállításához.
Alapértelmezés szerint azd
a helyi állapotfájl használatát feltételezi. Ha a távoli állapot engedélyezése előtt futott azd up
, futtatnia azd down
kell, és át kell váltania a távoli állapotfájlra.
Helyi és távoli állapot
A Terraform a tárolt állapotadatok használatával nyomon követi az általa kezelt erőforrásokat.
A távoli állapot engedélyezésének forgatókönyvei:
- Az állapotadatokhoz való megosztott hozzáférés engedélyezése, és több személy együttműködésének engedélyezése az infrastruktúra-erőforrások gyűjteményén
- Az állapotfájlban található bizalmas információk felfedésének elkerülése
- Az állapot helyi tárolása miatti véletlen törlés esélyének csökkentése
Távoli állapot engedélyezése
Győződjön meg arról, hogy távoli állapotú tárfiókot konfigurál.
Adjon hozzá egy új, a
infra
mappában hívottprovider.conf.json
fájlt.{ "storage_account_name": "${RS_STORAGE_ACCOUNT}", "container_name": "${RS_CONTAINER_NAME}", "key": "azd/azdremotetest.tfstate", "resource_group_name": "${RS_RESOURCE_GROUP}" }
A mappában
infra
található frissítésprovider.tf
távolira állítja a háttérrendszert# Configure the Azure Provider terraform { required_version = ">= 1.1.7, < 2.0.0" backend "azurerm" { }
Futtassa
azd env set <key> <value>
a konfiguráció hozzáadásához a.env
fájlban. Példa:azd env set RS_STORAGE_ACCOUNT your_storage_account_name azd env set RS_CONTAINER_NAME your_terraform_container_name azd env set RS_RESOURCE_GROUP your_storage_account_resource_group
Futtassa a következő
azd
parancsot a szokásos munkafolyamatnak megfelelően. Távoli állapot észlelésekorazd
inicializálja a Terraformot a konfigurált háttérkonfigurációval.A környezet csapattagokkal való megosztásához győződjön meg arról, hogy a környezet beállításainak frissítéséhez futnak
azd env refresh -e <environmentName>
a helyi rendszerben, és a 4. lépés végrehajtásával adja hozzá a konfigurációt a.env
fájlhoz.
Lásd még
- További információ a Terraform Azure CLI-hez való függőségéről.
- A távoli állapotról további információt az Azure Storage Terraform-állapotának tárában talál.
- Sablon: React Web App Node.js API-val és MongoDB-vel (Terraform) az Azure-ban