Udostępnij za pośrednictwem


Szybki start: eksportowanie zasobów platformy Azure do kodu HCL przy użyciu usługi Azure Export for Terraform

W artykule Eksportowanie pierwszych zasobów przy użyciu usługi Azure Export for Terraform dowiesz się, jak wyeksportować zasoby platformy Azure do plików stanu lokalnego przy użyciu usługi Azure Export for Terraform. Z tego artykułu dowiesz się, jak wygenerować pliki konfiguracji narzędzia Terraform na podstawie zasobów platformy Azure.

  • Utwórz testową grupę zasobów platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell.
  • Utwórz testową maszynę wirtualną z systemem Linux przy użyciu interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell.
  • Wyeksportuj grupę zasobów i maszynę wirtualną z platformy Azure do plików HCL.
  • Przetestuj stan lokalny zgodny ze stanem zasobów na platformie Azure.

Wymagania wstępne

Tworzenie testowych zasobów platformy Azure

Utwórz maszynę wirtualną z systemem Linux.

  1. Uruchom polecenie az group create , aby utworzyć grupę zasobów platformy Azure.

    az group create --name myResourceGroup --location eastus
    
  2. Uruchom polecenie az vm create , aby utworzyć maszynę wirtualną.

    az vm create \
      --resource-group myResourceGroup \
      --name myVM \
      --image Debian11 \
      --admin-username azureadmin \
      --generate-ssh-keys \
      --public-ip-sku Standard
    

Opis flagi tylko listy hcl

Usługa Azure Export for Terraform obsługuje flagę — --hcl-only co powoduje generowanie następujących plików z wyeksportowanych zasobów:

  • .tf Wygenerowane pliki HCL.
  • Plik aztfexportResourceMapping.jsonmapowania .
  • Pominięte zasoby są wymienione w pliku aztfexportSkippedResources.txt.

Flaga jest obsługiwana --hcl-only dla wszystkich podstawowych poleceń eksportu używanych do eksportowania:

  • zasób
  • resource-group
  • zapytanie
  • mapowanie pliku

Aby wyświetlić dostępne polecenia usługi Azure Export for Terraform, uruchom następujące polecenie:

aztfexport --help

Flaga --hcl-only jest przydatna w scenariuszach, w których nie potrzebujesz stanu lub nie masz pewności, czy musisz wygenerować stan. Aby wyeksportować całą wygenerowaną konfigurację do stanu, uruchom polecenie aztfexport mapping-file.

Napiwek

W przypadku używania flagi --hcl-only należy zastosować pusty katalog, aby uniknąć wprowadzania niepożądanych zmian w bieżącym stanie na etapie eksportu.

Eksportowanie zasobu platformy Azure

Narzędzie można uruchomić aztfexport w jednym z dwóch trybów: interaktywny i nieinterakcyjny. Na potrzeby tego pokazu użyjesz trybu nieinterakcyjnego.

  1. Utwórz katalog, w którym chcesz przetestować.

  2. Otwórz wiersz polecenia i przejdź do nowego katalogu.

  3. Uruchom polecenie aztfexport resource-group , aby wyeksportować grupę zasobów o nazwie myResourceGroup.

    aztfexport resource-group --non-interactive --hcl-only myResourceGroup
    

Uwaga

Uruchomienie usługi Azure Export dla programu Terraform może potrwać kilka minut.

Weryfikowanie wyników

Po zakończeniu eksportowania zasobów platformy Azure sprawdź następujące pliki w katalogu, w którym uruchomiono usługę Azure Export for Terraform:

  • main.tf zawiera kod HCL definiujący wyeksportowane zasoby.
  • aztfexportResourceMapping.json zawiera mapowania platformy Azure/terraform. Plik mapowania zawiera następujące informacje dla każdego wyeksportowanego zasobu platformy Azure: identyfikator zasobu platformy Azure, typ zasobu programu Terraform i nazwa zasobu programu Terraform. Zawartość pliku mapowania odzwierciedla zawartość usługi Azure Export for Terraform wyświetlaną podczas procesu eksportowania.
  • aztfexportSkippedResources.txt zawiera listę pominiętych zasobów. W tym przykładzie nie powinien być widoczny ten plik.

Czyszczenie zasobów

Jeśli nie potrzebujesz już zasobów utworzonych w tym artykule, wykonaj następujące czynności:

  1. Przejdź do katalogu zawierającego pliki programu Terraform dla tego artykułu.

  2. Uruchom narzędzie terraform destroy.

    terraform destroy
    

Następne kroki