Použití Terraformu jako nástroje pro kód pro Azure Developer CLI
Azure Developer CLI (azd
) podporuje více infrastruktur jako poskytovatelů kódu (IaC), mezi které patří:
Ve výchozím nastavení předpokládá, azd
že bicep je poskytovatelem IaC. Informace o tom, který poskytovatel IaC je pro váš projekt nejvhodnější, najdete v článku Porovnání Terraformu a Bicep .
Poznámka:
Terraform je stále v beta verzi. Další informace o podpoře funkcí alfa a beta verze najdete na stránce pro správu verzí funkcí a strategii vydávání verzí.
Požadavky
- Instalace a konfigurace Terraformu
- Instalace a přihlášení k Azure CLI (verze 2.38.0+)
- Projděte si diagram architektury a prostředky Azure, které nasadíte v šabloně Node.js nebo Python Terraformu.
Poznámka:
I když azd
se nespoléhá na přihlášení k Azure CLI, Terraform vyžaduje Azure CLI. Další informace o tomto požadavku najdete v oficiální dokumentaci Terraformu.
Konfigurace Terraformu jako zprostředkovatele IaC
azure.yaml
Otevřete soubor nalezený v kořenovém adresáři projektu a ujistěte se, že máte následující řádky pro přepsání výchozí hodnoty, což je Bicep:infra: provider: terraform
Přidejte všechny soubory
.tf
doinfra
adresáře nalezeného v kořenovém adresáři projektu.Spusťte
azd up
.
Poznámka:
Podívejte se na tyto dvě šablony Azd s Terraformem jako poskytovateleM IaC: Node.js a Terraform a Python a Terraform.
azd pipeline config
pro Terraform
Terraform ukládá stav o spravované infrastruktuře a konfiguraci. Kvůli tomuto souboru stavu musíte před spuštěním azd pipeline config
povolit vzdálený stav a nastavit kanál nasazení na GitHubu.
Ve výchozím nastavení azd
se předpokládá použití místního souboru stavu. Pokud jste spustili azd up
před povolením vzdáleného stavu, musíte spustit azd down
a přepnout na soubor vzdáleného stavu.
Místní a vzdálený stav
Terraform používá trvalá stavová data ke sledování prostředků, které spravuje.
Scénáře povolení vzdáleného stavu:
- Pokud chcete povolit sdílený přístup k datům o stavu a umožnit více lidem spolupracovat na této kolekci prostředků infrastruktury
- Aby se zabránilo zveřejnění citlivých informací zahrnutých ve stavových souborech
- Snížení pravděpodobnosti neúmyslného odstranění kvůli místnímu ukládání stavu
Povolení vzdáleného stavu
Ujistěte se, že jste nakonfigurovali účet vzdáleného úložiště stavu.
Přidejte do složky nový soubor s názvem
provider.conf.json
infra
.{ "storage_account_name": "${RS_STORAGE_ACCOUNT}", "container_name": "${RS_CONTAINER_NAME}", "key": "azd/azdremotetest.tfstate", "resource_group_name": "${RS_RESOURCE_GROUP}" }
Aktualizace
provider.tf
nalezená veinfra
složce pro nastavení vzdáleného back-endu# Configure the Azure Provider terraform { required_version = ">= 1.1.7, < 2.0.0" backend "azurerm" { }
Spuštěním
azd env set <key> <value>
příkazu přidejte do souboru konfiguraci.env
. Příklad: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
Spusťte další
azd
příkaz podle obvyklého pracovního postupu. Když se zjistí vzdálený stav,azd
inicializuje Terraform s nakonfigurovanou konfigurací back-endu.Pokud chcete prostředí sdílet s členy týmu, ujistěte se, že běží
azd env refresh -e <environmentName>
, aby aktualizovali nastavení prostředí v místním systému, a provedením kroku 4 přidejte do.env
souboru konfiguraci.
Viz také
- Přečtěte si další informace o závislosti Terraformu na Azure CLI.
- Další informace o vzdáleném stavu najdete v tématu uložení stavu Terraformu ve službě Azure Storage.
- Šablona: React Web App s rozhraním API Node.js a MongoDB (Terraform) v Azure