Guida introduttiva: Esportare le risorse di Azure nel codice HCL usando Esportazione di Azure per Terraform
Nell'articolo Esportare le prime risorse usando Esportazione di Azure per Terraform si apprenderà come esportare le risorse di Azure in file di stato locali usando Esportazione di Azure per Terraform. Questo articolo illustra come generare i file di configurazione terraform dalle risorse di Azure.
- Creare un gruppo di risorse di Azure di test usando l'interfaccia della riga di comando di Azure o Azure PowerShell.
- Creare una macchina virtuale Linux di test usando l'interfaccia della riga di comando di Azure o Azure PowerShell.
- Esportare il gruppo di risorse e la macchina virtuale da Azure ai file HCL.
- Verificare che lo stato locale corrisponda allo stato delle risorse in Azure.
Prerequisiti
Creare le risorse di Azure di test
Creare una macchina virtuale Linux.
Eseguire az group create per creare un gruppo di risorse di Azure.
az group create --name myResourceGroup --location eastus
Eseguire az vm create per creare la macchina virtuale.
az vm create \ --resource-group myResourceGroup \ --name myVM \ --image Debian11 \ --admin-username azureadmin \ --generate-ssh-keys \ --public-ip-sku Standard
Informazioni sul flag hcl-only
Esportazione di Azure per Terraform supporta un flag , --hcl-only
che causa la generazione dei file seguenti dalle risorse esportate:
- File HCL generati
.tf
. aztfexportResourceMapping.json
File di mapping .- Le risorse ignorate sono elencate in
aztfexportSkippedResources.txt
.
Il --hcl-only
flag è supportato per tutti i comandi di esportazione primari usati per l'esportazione:
- resource
- resource-group
- query
- mapping-file
Per visualizzare i comandi di Esportazione di Azure per Terraform disponibili, eseguire il comando seguente:
aztfexport --help
Il --hcl-only
flag è utile negli scenari in cui non è necessario lo stato o non si è certi se è necessario generare lo stato. Per esportare tutta la configurazione generata nello stato, eseguire aztfexport mapping-file
.
Suggerimento
Quando si usa il --hcl-only
flag, impostare come destinazione una directory vuota per evitare di apportare modifiche indesiderate a qualsiasi stato corrente durante la fase di esportazione.
Esportare una risorsa di Azure
È possibile eseguire lo aztfexport
strumento in una delle due modalità: interattive e non interattive. Per questa demo si usa la modalità non interattiva.
Creare una directory in cui eseguire il test.
Aprire un prompt dei comandi e passare alla nuova directory.
Eseguire
aztfexport resource-group
per esportare il gruppo di risorse denominatomyResourceGroup
.aztfexport resource-group --non-interactive --hcl-only myResourceGroup
Nota
Il completamento dell'esecuzione dell'esportazione di Azure per Terraform può richiedere alcuni minuti.
Verificare i risultati
Al termine dell'esportazione delle risorse di Azure, verificare i file seguenti nella directory in cui è stata eseguita l'esportazione di Azure per Terraform:
main.tf
contiene il codice HCL che definisce le risorse esportate.aztfexportResourceMapping.json
contiene i mapping di Azure/Terraform. Il file di mapping include le informazioni seguenti per ogni risorsa di Azure esportata: ID risorsa di Azure, tipo di risorsa Terraform e nome della risorsa Terraform. Il contenuto del file di mapping esegue il mirroring dell'esportazione di Azure per Terraform durante il processo di esportazione.aztfexportSkippedResources.txt
contiene l'elenco delle risorse ignorate. Questo file non dovrebbe essere visualizzato per questo esempio.
Pulire le risorse
Quando le risorse create in questo articolo non sono più necessarie, seguire questa procedura:
Passare alla directory contenente i file Terraform per questo articolo.
Eseguire terraform destroy.
terraform destroy