1. L'infrastructure as code déclarative #
Décrire l'état voulu.
Principe #
Avec Terraform, on décrit l'état voulu de l'infrastructure dans des fichiers HCL ; Terraform calcule les actions nécessaires pour y arriver (créer, modifier, supprimer) et les exécute dans le bon ordre grâce à un graphe de dépendances.
2. Le flux de travail #
init, plan, apply, destroy.
Commandes #
terraform init # télécharge les fournisseurs, configure le backend
terraform fmt -recursive && terraform validate
terraform plan -out=plan.tfplan
terraform apply plan.tfplan
terraform output
terraform destroy # supprime tout ce que gère cette configurationLire un plan #
| Symbole | Signification |
|---|---|
+ | Création |
~ | Modification en place |
-/+ | Remplacement (destruction puis création) |
- | Destruction |
3. L'écosystème #
Terraform, OpenTofu, HCP Terraform.
Panorama #
| Outil | Description |
|---|---|
| Terraform | Outil de HashiCorp (licence BSL depuis 2023) |
| OpenTofu | Fork open source (MPL 2.0) de la Linux Foundation, compatible |
| HCP Terraform | Service managé : état distant, exécutions, politiques, registre privé |
| Terraform Registry | Fournisseurs et modules publics |
Bonne Pratique : Fixez la version de Terraform et des fournisseurs (required_version, required_providers) pour des exécutions reproductibles.
