RousselTMLEARNING

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

TP : Un module testé (terraform test, tflint, Checkov)

Ce que vous allez apprendre dans ce TP
  • Concevoir un module avec validations
  • Tester avec mock_provider
  • Analyser la sécurité du code

Introduction #

Ce que vous allez apprendre dans cette section
  • Concevoir un module avec validations
  • Tester avec mock_provider
  • Analyser la sécurité du code

Contexte. Plusieurs équipes ont besoin de buckets conformes. Vous fournissez un module sûr par défaut et testé automatiquement.

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 module sûr par défaut, avec tests et analyses automatisés.

Mise en place #

Étapes guidées, avec leur correction.

  1. 1. Écrire le module

    Pourquoi ? Un bon module impose les bonnes pratiques par défaut (versionnage, blocage de l'accès public).

    Créez modules/bucket avec variables validées, ressources et sortie.
  2. 2. Tester le module

    Pourquoi ? Le fournisseur simulé rend les tests instantanés et indépendants de tout cloud.

    Écrivez modules/bucket/tests/bucket.tftest.hcl et lancez les tests.
  3. 3. Analyser le code

    Pourquoi ? tflint repère les erreurs et conventions ; Checkov signale les mauvaises pratiques de sécurité.

    Lancez tflint et Checkov sur le module et lisez les constats (par exemple chiffrement par KMS ou journalisation d'accès).
  4. 4. Utiliser le module

    Pourquoi ? Le module racine se contente d'assembler des modules testés.

    Appelez le module deux fois avec for_each depuis la racine et appliquez sur LocalStack.

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

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

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

Terraform sur plusieurs clouds : AWS, Azure, Google Cloud, OVHcloud et Kubernetes

Utiliser Terraform avec les principaux fournisseurs : aws, azurerm, google, ovh et openstack, kub...

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

Terraform en CI/CD : pipelines, revue du plan, OIDC et GitOps

Automatiser Terraform : pipeline plan sur demande de fusion et apply après approbation, publicati...

Terraform multi-environnements, workspaces et organisation des dépôts

Organiser Terraform pour plusieurs environnements : dossiers par environnement, fichiers tfvars, ...

Préparer la certification HashiCorp Certified: Terraform Associate

Guide de préparation au Terraform Associate : format, objectifs officiels (concepts de l'IaC, flu...

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 !