Używanie narzędzia Terraform jako infrastruktury jako narzędzia kodu dla interfejsu wiersza polecenia dla deweloperów platformy Azure

Interfejs wiersza polecenia dla deweloperów platformy Azure (azd) obsługuje wielu dostawców infrastruktury jako kodu (IaC), w tym:

Domyślnie zakłada się, azd że Bicep jest dostawcą IaC. Zapoznaj się z artykułem Porównanie programu Terraform i Bicep , aby uzyskać pomoc w podejmowaniu decyzji, który dostawca IaC jest najlepszy dla twojego projektu.

Uwaga

Narzędzie Terraform jest nadal w wersji beta. Przeczytaj więcej na temat obsługi funkcji alfa i beta na stronie strategii obsługi wersji funkcji i wydania

Wymagania wstępne

Uwaga

Chociaż azd nie polega na logowaniu interfejsu wiersza polecenia platformy Azure, narzędzie Terraform wymaga interfejsu wiersza polecenia platformy Azure. Przeczytaj więcej na temat tego wymagania z oficjalnej dokumentacji narzędzia Terraform.

Konfigurowanie narzędzia Terraform jako dostawcy IaC

  1. azure.yaml Otwórz plik znajdujący się w katalogu głównym projektu i upewnij się, że masz następujące wiersze, aby zastąpić wartość domyślną, czyli Bicep:

    infra:
      provider: terraform
    
  2. Dodaj wszystkie .tf pliki do infra katalogu znajdującego się w katalogu głównym projektu.

  3. Uruchom program azd up.

Uwaga

Zapoznaj się z tymi dwoma szablonami azd przy użyciu narzędzia Terraform jako dostawcy IaC: Node.js i Terraform oraz Python i Terraform.

azd pipeline config dla programu Terraform

Narzędzie Terraform przechowuje stan infrastruktury zarządzanej i konfiguracji. Ze względu na ten plik stanu należy włączyć stan zdalny przed uruchomieniem azd pipeline config w celu skonfigurowania potoku wdrażania w usłudze GitHub.

Domyślnie zakłada się użycie azd pliku stanu lokalnego. Jeśli uruchomiono polecenie azd up przed włączeniem stanu zdalnego, należy uruchomić azd down i przełączyć się do pliku stanu zdalnego.

Stan lokalny a zdalny

Narzędzie Terraform używa utrwalonego stanu danych w celu śledzenia zasobów, którymi zarządza.

Scenariusze włączania stanu zdalnego:

  • Aby zezwolić na współużytkowany dostęp do danych stanu i zezwolić wielu osobom na pracę w tej kolekcji zasobów infrastruktury
  • Aby uniknąć ujawniania poufnych informacji zawartych w pliku stanu
  • Aby zmniejszyć prawdopodobieństwo przypadkowego usunięcia z powodu przechowywania stanu lokalnego

Włączanie stanu zdalnego

  1. Upewnij się, że skonfigurowaliśmy konto magazynu stanu zdalnego.

  2. Dodaj nowy plik o nazwie provider.conf.json w folderze infra .

    {
        "storage_account_name": "${RS_STORAGE_ACCOUNT}",
        "container_name": "${RS_CONTAINER_NAME}",
        "key": "azd/azdremotetest.tfstate",
        "resource_group_name": "${RS_RESOURCE_GROUP}"
    }
    
  3. Aktualizacja provider.tf znaleziona w folderze infra w celu ustawienia zaplecza jako zdalnego

    # Configure the Azure Provider
    terraform {
      required_version = ">= 1.1.7, < 2.0.0"
      backend "azurerm" {
      }
    
  4. Uruchom polecenie azd env set <key> <value> , aby dodać konfigurację .env w pliku. Na przykład:

    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. Uruchom następne azd polecenie zgodnie ze zwykłym przepływem pracy. Po wykryciu azd stanu zdalnego program Terraform inicjuje konfigurację skonfigurowanego zaplecza.

  6. Aby udostępnić środowisko kolegom z zespołu, upewnij się, że są uruchamiane azd env refresh -e <environmentName> w celu odświeżenia ustawień środowiska w systemie lokalnym i wykonaj krok 4, aby dodać konfigurację .env w pliku.

Zobacz też

Następne kroki