Assigner les valeurs dans terraform.tfvars
Le fichier terraform.tfvars permet d’assigner les valeurs concrètes aux variables déclarées dans variables.tf. Il est automatiquement pris en compte par Terraform lors de l’exécution des commandes, ce qui évite d’avoir à les spécifier manuellement ou à modifier les fichiers principaux (tels que main.tf).
C’est avec ce fichier que nous pouvons constater toute la souplesse offerte par l’utilisation de variables : il suffit, par exemple, de changer une ligne pour augmenter la taille du disque système (os_disk_size_gb = 40). En modifiant ce seul fichier, on peut adapter facilement l’infrastructure à divers contextes ou environnements sans impacter la logique du déploiement.
Voici le fichier terraform.tfvars que nous avons créé pour notre projet :
# Informations de base
resource_group_name = "rg-demo"
location = "canadaeast"
# Paramètres de la VM
vm_name = "vm-ubuntu-demo"
vm_size = "Standard_B1s"
os_disk_size_gb = 30
# Image Ubuntu (24.04 LTS)
image_publisher = "Canonical"
image_offer = "0001-com-ubuntu-server-focal"
image_sku = "20_04-lts-gen2"
image_version = "latest"
# Utilisateur de connexion
admin_username = "adminuser"
# Tag
environment_tag = "dev"
Attention : les variables de ce fichier devront être ajustées en fonction de votre région Azure. Il est possible que la version et le format de la VM Ubuntu que nous avons choisi ne soient pas disponibles dans votre région. Et n'oubliez pas d'ajuster les informations en conséquence, par exemple : location = "francecentral".
Au besoin, vous pouvez utiliser Azure CLI que nous avons présenté plus haut et exécuter les commandes suivantes pour obtenir l'information sur les tailles de VM disponibles ou les images Ubuntu :
# Exemples de recherches pour la région France Central
az vm list-sizes --location francecentral --output table
az vm image list-offers \
--location francecentral \
--publisher Canonical \
--output table
Vous pouvez également consulter le site du Azure Marketplace et le calculateur de prix.
Il est important de ne pas stocker d’informations sensibles dans ce fichier, comme une clé privée SSH ou des identifiants d’authentification Azure. Ces éléments doivent être fournis sous forme de variables d’environnement ou stockés dans des fichiers ignorés du contrôle de version (par exemple : .gitignore), pour éviter tout risque d’exposition accidentelle.
