Aller au contenu principal

Terraform - Automatiser l'infrastructure Cloud

L'Infrastructure as Code (IaC) est la clé d'un cloud qui évolue facilement. Cette formation vous apprend à maîtriser le langage HCL de Terraform, à concevoir des modules réutilisables, à gérer l'état (state) et à déployer sur plusieurs clouds.

Objectif de la formation

Immersion · Savoir faire en situation réelle

À l’issue de cette formation, les participants seront capables de :

  • Maîtriser le langage HCL (HashiCorp Configuration Language) et la ligne de commande Terraform
  • Créer automatiquement des infrastructures multicloud (AWS, Azure) reproductibles
  • Gérer le fichier d'état (state) à distance, de façon verrouillée et sécurisée
  • Écrire des modules Terraform réutilisables pour les équipes de développement
  • Intégrer Terraform au sein d'un pipeline d'intégration et de déploiement continu (CI/CD)

Choisissez votre format

Jusqu’où voulez-vous aller ?

Chaque format reprend le précédent et y ajoute des journées.

Programme détaillé

ACTION · 14 heures (2 jours)

Jour 1
MatinSyntaxe HCL, providers et premier déploiement

Objectif : Maîtriser le langage HCL et provisionner ses premières ressources Cloud avec Terraform.

  • Principes de l'Infrastructure as Code (IaC) et positionnement de Terraform.
  • Syntaxe HCL (HashiCorp Configuration Language) : bloc terraform, provider, resource, variable et output.
  • Déclaration des fournisseurs (Providers) et initialisation avec terraform init.
  • Exécution du cycle de vie : terraform plan, terraform apply et terraform destroy.

Atelier pratique : Rédaction d'un fichier HCL pour provisionner un réseau virtuel et une instance de serveur Web sous Cloud AWS/Azure.

Cas métier : Provisionnement automatique d'un environnement de dev - Création des ressources en une commande.

Compétence acquise : Écrire du code HCL et exécuter le cycle de vie de provisionnement Terraform.

Livrable : Le premier script Terraform HCL de provisionnement réseau et VM.

Après-midiVariables, data sources, fonctions et ressources multiples

Objectif : Dynamiser le code Terraform avec des variables, des Data Sources et des boucles.

  • Gestion des variables d'entrée (variables.tf) et des valeurs de sortie (outputs.tf).
  • Utilisation des types complexes : list, map, object et fichiers de valeurs .tfvars.
  • Interrogation de ressources existantes via les Data Sources (data).
  • Structures de répétition et de condition : count, for_each et opérateur ternaire.

Atelier pratique : Déploiement dynamique de 3 sous-réseaux et de 5 instances de serveurs à l'aide d'une boucle for_each et d'une variable map.

Cas métier : Génération de 3 environnements (Dev, Test, Prod) à partir du même code - Utilisation de fichiers .tfvars distincts.

Compétence acquise : Rendre le code Terraform dynamique et réutilisable via des variables et des fonctions.

Livrable : Le projet Terraform paramétré avec variables et sorties.

Jour 2
MatinGestion de l'état (state), backend distant et verrouillage

Objectif : Sécuriser et centraliser le fichier d'état (State) pour le travail en équipe.

  • Rôle et structure interne du fichier d'état terraform.tfstate.
  • Risques liés au State local (concurrence, perte de données, secrets stockés en clair).
  • Configuration d'un backend distant (Remote Backend) : Amazon S3 (avec verrouillage natif) ou Azure Blob Storage.
  • Mécanisme de verrouillage de l'état (State Locking) et commande de gestion terraform state (list, show, mv).

Atelier pratique : Migration d'un State local vers un Bucket S3 distant avec verrouillage natif et test d'accès concurrent.

Cas métier : Sécurisation du travail collaboratif d'une équipe de 5 ingénieurs Cloud - Configuration du Remote Backend.

Compétence acquise : Configurer un backend distant sécurisé et gérer le fichier d'état en équipe.

Livrable : Le fichier de configuration du Remote Backend distant d'entreprise.

Après-midiModules d'infrastructure et chaîne CI/CD

Objectif : Créer des modules Terraform d'entreprise réutilisables et automatiser l'exécution en CI/CD.

  • Conception de modules Terraform réutilisables : structure, entrées, sorties et versioning de modules.
  • Appel de modules locaux et depuis un dépôt Git / Terraform Registry.
  • Intégration de Terraform dans une pipeline CI/CD (GitLab CI / GitHub Actions) avec revue de plan sur Pull Request.

Atelier pratique : Création d'un module d'entreprise « VPC-Sécurisé » et automatisation du terraform plan dans un pipeline GitLab CI.

Cas métier : Industrialisation de l'accès au Cloud pour les développeurs - Publication d'un catalogue de modules Terraform.

Compétence acquise : Modulariser du code Terraform et intégrer le provisionnement dans un pipeline CI/CD.

Livrable : Le module Terraform d'entreprise et le script de pipeline CI/CD.

Les ateliers et cas métier de ce programme pourront être adaptés par le consultant-formateur selon les besoins, le niveau et les prérequis des participants, pour favoriser l’atteinte des objectifs pédagogiques.

Cette formation dans le parcours

Indicateurs de résultats

Indicateurs publiés à partir de 3 avis.

Mode de calcul