🛠️Terraform
Terraform est un outil d’Infrastructure as Code (IaC) développé par HashiCorp, conçu pour automatiser le déploiement et la gestion des ressources cloud. Il permet de décrire l’infrastructure souhaitée à l’aide de fichiers de configuration, puis de la provisionner de manière reproductible et contrôlée.
Grâce à Terraform, il est possible de créer et gérer facilement des composants tels que :
des réseaux,
des machines virtuelles,
des groupes de sécurité,
des bases de données,
et bien d’autres ressources cloud.
Terraform s’intègre avec de nombreux fournisseurs cloud et plateformes, facilitant ainsi la gestion multi-cloud et l’automatisation du cycle de vie des infrastructures.
Commandes principales
terraform init
: Initialise le répertoire contenant la configuration Terraform. Cette commande télécharge les plugins nécessaires et prépare l’environnement de travail.terraform plan
: Affiche un aperçu des modifications qui seront apportées à l’infrastructure. Elle compare l’état actuel avec la configuration déclarée, sans rien modifier.terraform apply
: Applique les changements définis dans la configuration. Cette commande crée, modifie ou supprime les ressources selon le plan généré.terraform destroy
: Supprime toutes les ressources gérées par Terraform. Elle est utilisée pour démonter une infrastructure proprement.terraform import
: Permet d’intégrer des ressources existantes (créées en dehors de Terraform) dans l’état Terraform, afin de les gérer via le code.terraform state
: Fournit des outils pour interagir avec le fichier d’état (state file
), qui contient les informations sur les ressources gérées.terraform validate
: Vérifie la syntaxe et la validité de la configuration Terraform, sans exécuter de plan ni appliquer de changements.
Provider
Un Provider est la représentation du fournisseur de l'infrastructure dans Terraform. Il englobe différentes ressources qui peuvent être déployées.
State file
Terraform conserve l’état de l’infrastructure qu’il gère dans un ficher plat appelé fichier d’état (state file). Ce fichier contient une représentation exacte des ressources déployées, permettant à Terraform de suivre les changements et de garantir la cohérence entre la configuration déclarée et l’infrastructure réelle.
Fonctionnement
Lors de l’exécution des commandes terraform plan
ou terraform apply
, Terraform lit le fichier d’état et le compare à l’infrastructure effective pour déterminer les actions à effectuer (création, modification ou suppression de ressources).
Stockage
Le fichier d’état peut être stocké :
Localement : dans le même répertoire que la configuration Terraform.
À distance : dans un backend distant (par exemple : AWS S3, Azure Blob Storage, Google Cloud Storage, etc.), ce qui est recommandé pour les environnements collaboratifs ou de production.
Plus d’informations ici : Terraform (logiciel) — Wikipédia