RousselTMLEARNING

TP · Terraform : de la découverte à l'expertise

TP : État distant, verrouillage, import et refactorisation

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

Un état distant verrouillé et des ressources existantes reprises proprement.

Mise en place #

Étapes guidées, avec leur correction.

  1. 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. 2. Déclarer le backend

    Pourquoi ? use_lockfile crée un fichier de verrou à côté de l'état pendant chaque opération.

    Ajoutez backend.tf pointant vers MinIO et réinitialisez en migrant l'état local.
  3. 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. 4. Renommer sans recréer

    Pourquoi ? Sans bloc moved, renommer une ressource la détruirait puis la recréerait.

    Renommez aws_s3_bucket.documents en aws_s3_bucket.archives avec un bloc moved et vérifiez que le plan ne détruit rien.

Niveau de difficulté : ●●●○○ (3/5)

Mon suivi

  • ⏱ Durée estimée : ≈ 50 min

Connectez-vous pour suivre votre progression et prendre des notes. Se connecter

💬 Poser une question

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...

Soutenir

♥ SOUTENIR

Soutenez RousselTM Learning

Les formations, articles, TP et attestations restent gratuits et sans publicité intrusive. Une contribution libre, du montant de votre choix, finance l’hébergement, les environnements de TP et l’écriture de nouveaux contenus.

Contribuer avec PayPal Montant libre · carte bancaire ou compte PayPalEn savoir plus
QR code PayPal
Ou scannez ce QR code avec votre téléphone

Merci, chaque contribution compte !