Démarrage rapide : Exporter des ressources Azure dans du code HCL à l’aide d’Azure Export pour Terraform

Dans l’article, exportez vos premières ressources à l’aide d’Azure Export pour Terraform, vous allez apprendre à exporter des ressources Azure dans des fichiers d’état local à l’aide d’Azure Export pour Terraform. Dans cet article, vous allez apprendre à générer les fichiers de configuration Terraform à partir de vos ressources Azure.

  • Créez un groupe de ressources Azure de test à l’aide d’Azure CLI ou d’Azure PowerShell.
  • Créez une machine virtuelle Linux de test à l’aide d’Azure CLI ou d’Azure PowerShell.
  • Exportez le groupe de ressources et la machine virtuelle d’Azure vers des fichiers HCL.
  • Testez que l’état local correspond à l’état des ressources dans Azure.

Prérequis

Créer les ressources Azure de test

Créez une machine virtuelle Linux.

  1. Exécutez az group create pour créer un groupe de ressources Azure.

    az group create --name myResourceGroup --location eastus
    
  2. Exécutez az vm create pour créer la machine virtuelle.

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

Comprendre l’indicateur hcl uniquement

Azure Export pour Terraform prend en charge un indicateur ( --hcl-only qui provoque la génération des fichiers suivants à partir des ressources exportées) :

  • Fichiers HCL générés .tf .
  • Fichier aztfexportResourceMapping.jsonde mappage .
  • Les ressources ignorées sont répertoriées dans aztfexportSkippedResources.txt.

L’indicateur --hcl-only est pris en charge pour toutes les commandes d’exportation principales utilisées pour l’exportation :

  • resource
  • resource-group
  • query
  • mappage-fichier

Pour afficher les commandes Azure Export pour Terraform disponibles, exécutez la commande suivante :

aztfexport --help

L’indicateur --hcl-only est utile dans les scénarios où vous n’avez pas besoin de l’état ou si vous n’avez pas besoin de générer l’état. Pour exporter toute la configuration générée à l’état, exécutez aztfexport mapping-file.

Conseil

Lorsque vous utilisez l’indicateur --hcl-only , ciblez un répertoire vide pour éviter d’apporter des modifications indésirables à n’importe quel état actuel pendant l’étape d’exportation.

Exporter une ressource Azure

Vous pouvez exécuter l’outil aztfexport dans l’un des deux modes suivants : interactif et non interactif. Pour cette démonstration, vous utilisez le mode non interactif.

  1. Créez un répertoire dans lequel tester.

  2. Ouvrez une invite de commandes et accédez au nouveau répertoire.

  3. Exécutez aztfexport resource-group pour exporter le groupe de ressources nommé myResourceGroup.

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

Remarque

L’exécution d’Azure Export pour Terraform peut prendre plusieurs minutes.

Vérifier les résultats

Une fois que l’outil a terminé l’exportation de vos ressources Azure, vérifiez les fichiers suivants dans le répertoire où vous avez exécuté Azure Export pour Terraform :

  • main.tf contient le code HCL qui définit les ressources exportées.
  • aztfexportResourceMapping.json contient les mappages Azure/Terraform. Le fichier de mappage inclut les informations suivantes pour chaque ressource Azure exportée : ID de ressource Azure, type de ressource Terraform et nom de ressource Terraform. Le contenu du fichier de mappage miroir ce qu’Affiche Azure Export pour Terraform pendant le processus d’exportation.
  • aztfexportSkippedResources.txt contient la liste des ressources ignorées. Vous ne devez pas voir ce fichier pour cet exemple.

Nettoyer les ressources

Lorsque vous n’avez plus besoin des ressources créées dans cet article, procédez comme suit :

  1. Accédez au répertoire contenant vos fichiers Terraform pour cet article.

  2. Exécutez terraform destroy.

    terraform destroy
    

Étapes suivantes