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
Mise en place #
Étapes guidées, avec leur correction.
1. Écrire le module
Pourquoi ? Un bon module impose les bonnes pratiques par défaut (versionnage, blocage de l'accès public).
Créezmodules/bucketavec variables validées, ressources et sortie.2. Tester le module
Pourquoi ? Le fournisseur simulé rend les tests instantanés et indépendants de tout cloud.
Écrivezmodules/bucket/tests/bucket.tftest.hclet lancez les tests.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. 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
Connectez-vous pour suivre votre progression et prendre des notes. Se connecter
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...