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.

  1. Eseguire az group create per creare un gruppo di risorse di Azure.

    az group create --name myResourceGroup --location eastus
    
  2. 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.jsonFile 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.

  1. Creare una directory in cui eseguire il test.

  2. Aprire un prompt dei comandi e passare alla nuova directory.

  3. Eseguire aztfexport resource-group per esportare il gruppo di risorse denominato myResourceGroup.

    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:

  1. Passare alla directory contenente i file Terraform per questo articolo.

  2. Eseguire terraform destroy.

    terraform destroy
    

Passaggi successivi