La correction est intégrée au TP (Voir les encadrés de couleur vert)
Ce que vous allez apprendre dans ce TP
- Décrire une ressource en HCL
- Appliquer avec plan puis apply
- Détecter une dérive
Terraform + LocalStack #
Ce que vous allez apprendre dans cette section
- Décrire une ressource en HCL
- Appliquer avec plan puis apply
- Détecter une dérive
Contexte. Une infrastructure créée à la main est impossible à reproduire et à auditer. L'Infrastructure as Code décrit les ressources dans des fichiers versionnés : vous le pratiquez avec Terraform et détectez ce qu'est une dérive de configuration.
Prérequis : TP précédent (LocalStack), Terraform installé · Durée estimée : 40 min
Un bucket versionné décrit en HCL.1. Configurer le provider
Pourquoi ? Le provider indique à Terraform quelle API cibler ; en le pointant sur LocalStack, le même code fonctionnerait sur le vrai AWS en retirant les surcharges.
Pointez le provider AWS vers LocalStack.Voir la correction
# main.tf terraform { required_providers { aws = { source = "hashicorp/aws", version = "~> 5.0" } } } provider "aws" { region = "eu-west-3" access_key = "test" secret_key = "test" skip_credentials_validation = true skip_requesting_account_id = true s3_use_path_style = true endpoints { s3 = "http://localhost:4566" } }2. Décrire la ressource
Pourquoi ? Décrire le versioning et les étiquettes dans le code garantit qu'ils seront identiques partout et auditables dans Git.
Créez un bucket avec le versioning et une étiquetteenv=lab.Voir la correction
variable "nom" { default = "rapports-tf" } resource "aws_s3_bucket" "b" { bucket = var.nom tags = { env = "lab", equipe = "plateforme" } } resource "aws_s3_bucket_versioning" "v" { bucket = aws_s3_bucket.b.id versioning_configuration { status = "Enabled" } } output "arn" { value = aws_s3_bucket.b.arn }3. Plan et application
Pourquoi ? plan montre ce qui va changer avant de le faire : c'est le garde-fou qui évite les destructions accidentelles.
Exécutez le cycle complet et observez l'état.Voir la correction
terraform init terraform fmt -check && terraform validate terraform plan -out=tfplan terraform apply tfplan terraform state list && terraform output4. Dérive et destruction
Pourquoi ? Modifier à la main puis relancer plan fait comprendre la dérive : l'état réel s'écarte du code, et Terraform propose de le corriger.
Modifiez la ressource à la main, détectez la dérive, puis détruisez l'infrastructure.Voir la correction
aws --endpoint-url http://localhost:4566 s3api put-bucket-versioning --bucket rapports-tf --versioning-configuration Status=Suspended terraform plan # montre la dérive à corriger terraform apply -auto-approve terraform destroy -auto-approve
Niveau de difficulté : ●●○○○ (2/5)
Mon suivi
Connectez-vous pour suivre votre progression et prendre des notes. Se connecter
Articles recommandés
Bonnes pratiques Cloud : sécurité, résilience, coûts et exploitation
Bonnes pratiques du Cloud Computing : piliers d'une architecture bien conçue, IAM et moindre priv...
Les modèles de déploiement Cloud : public, privé, hybride, communautaire et multi-cloud
Comprendre les modèles de déploiement du Cloud Computing selon le NIST : cloud public, privé, com...
Arrêtez de passer au Cloud, au micro-service...
Je vais certainement choquer plus d'un dans cet article mais n'hésitez à lire jusqu'au bout en en...
CaaS état de l'art et bonnes pratiques
Le Container as a Service (CaaS) est un modèle de cloud computing qui permet aux entreprises de g...
Qu'est-ce que le Cloud Computing ? La définition du NIST
Comprenez les fondamentaux du Cloud Computing à travers les 5 caractéristiques essentielles défin...
Élasticité vs Scalabilité : Les clés de la performance
Comprenez comment le cloud s'adapte automatiquement à la charge de vos utilisateurs.
Introduction au FinOps : Maîtriser sa facture Cloud
Comment passer du CapEx à l'OpEx tout en gardant le contrôle financier.
Le Serverless : L'informatique sans serveurs à gérer
Focus sur le Function as a Service (FaaS) et l'abstraction de l'infrastructure.
Edge Computing : Amener le Cloud au plus près des données
Découvrez pourquoi le traitement à la périphérie du réseau est essentiel pour l'IoT et la latence.