Ce que vous allez apprendre dans ce TP
- Configurer un backend S3 avec verrouillage
- Importer une ressource existante
- Refactoriser avec moved
Introduction #
Ce que vous allez apprendre dans cette section
- Configurer un backend S3 avec verrouillage
- Importer une ressource existante
- Refactoriser avec moved
Contexte. L'équipe passe à Terraform alors que des ressources existent déjà. Vous mettez en place un état partagé et reprenez l'existant sans rien casser.
Prérequis : Terraform 1.10 ou plus, Docker, LocalStack et terraform-local (pip install localstack terraform-local) ; aucun compte cloud ni frais · Durée estimée : 50 min
Mise en place #
Étapes guidées, avec leur correction.
1. Préparer le backend
Pourquoi ? Le bucket d'état est versionné pour pouvoir revenir à une version précédente.
Lancez MinIO et créez un bucket versionné pour l'état.2. Déclarer le backend
Pourquoi ? use_lockfile crée un fichier de verrou à côté de l'état pendant chaque opération.
Ajoutezbackend.tfpointant vers MinIO et réinitialisez en migrant l'état local.3. Importer l'existant
Pourquoi ? Le bloc import se relit en demande de fusion comme le reste du code.
Créez un bucket « à la main », générez son code avec un bloc import puis appliquez.4. Renommer sans recréer
Pourquoi ? Sans bloc moved, renommer une ressource la détruirait puis la recréerait.
Renommezaws_s3_bucket.documentsenaws_s3_bucket.archivesavec un bloc moved et vérifiez que le plan ne détruit rien.
Niveau de difficulté : ●●●○○ (3/5)
Mon suivi
Connectez-vous pour suivre votre progression et prendre des notes. Se connecter
Articles recommandés
L'état Terraform : backends distants, verrouillage, import et refactorisation
Gérer l'état Terraform : rôle du fichier d'état, données sensibles, backends distants (S3, azurer...
Bonnes pratiques Terraform : structure, état, sécurité, revue et maintenance
Les bonnes pratiques Terraform en équipe : structure des dépôts, nommage, versions épinglées, éta...
Terraform : principes, architecture et flux de travail
Comprendre Terraform : infrastructure as code déclarative, architecture (cœur, fournisseurs, état...
Le langage HCL : ressources, variables, sorties, données et expressions
Écrire du Terraform : blocs terraform, provider, resource et data, variables typées avec validati...
Les modules Terraform : concevoir, versionner et réutiliser
Structurer Terraform avec des modules : module racine et modules enfants, entrées et sorties, sou...
Tester et sécuriser Terraform : validate, terraform test, tflint, Checkov et politiques
Garantir la qualité du code Terraform : fmt et validate, tests natifs terraform test avec fournis...
Préparer la certification HashiCorp Certified: Terraform Associate
Guide de préparation au Terraform Associate : format, objectifs officiels (concepts de l'IaC, flu...
Terraform sur plusieurs clouds : AWS, Azure, Google Cloud, OVHcloud et Kubernetes
Utiliser Terraform avec les principaux fournisseurs : aws, azurerm, google, ovh et openstack, kub...
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...