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
- Instalowanie i konfigurowanie narzędzia Terraform
- Instalowanie usługi Azure Export dla programu Terraform
Tworzenie testowych zasobów platformy Azure
Utwórz maszynę wirtualną z systemem Linux.
Uruchom polecenie az group create , aby utworzyć grupę zasobów platformy Azure.
az group create --name myResourceGroup --location eastus
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.json
mapowania . - 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.
Utwórz katalog, w którym chcesz przetestować.
Otwórz wiersz polecenia i przejdź do nowego katalogu.
Uruchom polecenie
aztfexport resource-group
, aby wyeksportować grupę zasobów o nazwiemyResourceGroup
.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:
Przejdź do katalogu zawierającego pliki programu Terraform dla tego artykułu.
Uruchom narzędzie terraform destroy.
terraform destroy