Infrastructure as Code avec Terraform : les fondamentaux
· 2 minutes de lecture
Provisionner son infrastructure à la main ne passe pas à l'échelle et n'est pas reproductible. Terraform décrit votre infrastructure sous forme de code déclaratif, versionnable et rejouable.
Le vocabulaire de base
- Provider : le plugin qui parle à une plateforme (AWS, Azure, GCP…).
- Resource : un objet géré (une VM, un bucket, un réseau…).
- State : le fichier qui mémorise l'état réel de l'infrastructure.
Une première configuration
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.0"
}
}
}
provider "aws" {
region = var.region
}
resource "aws_s3_bucket" "assets" {
bucket = "inskillops-assets-demo"
tags = {
Environment = "demo"
}
}
Et le fichier de variables :
variable "region" {
type = string
default = "eu-west-3"
}
Le workflow init / plan / apply
terraform init # télécharge les providers
terraform plan # affiche les changements prévus
terraform apply # applique les changements
Le plan est votre meilleur allié : il montre exactement ce qui va être créé, modifié ou détruit avant toute action.
Bonnes pratiques
- Stockez le state à distance (backend S3 + verrou DynamoDB, Terraform Cloud…) pour le travail en équipe.
- Ne modifiez jamais l'infrastructure à la main en parallèle de Terraform.
- Découpez en modules réutilisables et séparez les environnements.
- Versionnez tout dans Git et faites relire les
planen revue de code.
Terraform est la porte d'entrée de l'IaC. On construit une infrastructure cloud complète étape par étape dans le parcours dédié.