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.
Exécutez az group create pour créer un groupe de ressources Azure.
az group create --name myResourceGroup --location eastus
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.json
de 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.
Créez un répertoire dans lequel tester.
Ouvrez une invite de commandes et accédez au nouveau répertoire.
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 :
Accédez au répertoire contenant vos fichiers Terraform pour cet article.
Exécutez terraform destroy.
terraform destroy