Sdílet prostřednictvím


Použijte Terraform jako nástroj pro infrastrukturu jako 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 najdete na stránce o verzování funkcí a strategii vydávání.

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 povolit vzdálený stav před spuštěním pro nastavení pipeline pro 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:

  • Aby bylo možné 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