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

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

  1. 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
    
  2. Přidejte všechny soubory .tf do infra adresáře nalezeného v kořenovém adresáři projektu.

  3. 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

  1. Ujistěte se, že jste nakonfigurovali účet vzdáleného úložiště stavu.

  2. Přidejte do složky nový soubor s názvem provider.conf.jsoninfra .

    {
        "storage_account_name": "${RS_STORAGE_ACCOUNT}",
        "container_name": "${RS_CONTAINER_NAME}",
        "key": "azd/azdremotetest.tfstate",
        "resource_group_name": "${RS_RESOURCE_GROUP}"
    }
    
  3. Aktualizace provider.tf nalezená ve infra složce pro nastavení vzdáleného back-endu

    # Configure the Azure Provider
    terraform {
      required_version = ">= 1.1.7, < 2.0.0"
      backend "azurerm" {
      }
    
  4. 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
    
  5. 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.

  6. 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é

Další kroky