0Pricing
DevOps Bootcamp · Leçon

Créer des modules réutilisables

Apprenez à créer vos propres modules Terraform en définissant des entrées, des sorties et des ressources pour concevoir des configurations modulaires et flexibles.

Créer des modules réutilisables est une leçon DevOps Bootcamp gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage DevOps Bootcamp, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours DevOps Bootcamp comprend 4 leçons au total.

Créez vos propres modules Terraform

Dans la leçon précédente, nous avons appris à utiliser des modules Terraform existants. Plongeons maintenant dans la création de vos propres modules réutilisables !

La conception de modules vous aide à encapsuler les modèles d’infrastructure courants, afin de rendre vos configurations plus propres, plus cohérentes et plus faciles à maintenir.

Organiser les fichiers de votre module

Un module Terraform est essentiellement un ensemble de fichiers .tf stockés dans un répertoire dédié.

Dans sa forme la plus simple, le répertoire d’un module contient :

  • variables.tf : définit les variables d’entrée du module.
  • main.tf : contient les déclarations réelles des ressources.
  • outputs.tf : définit les valeurs de sortie du module.

Vous pouvez également inclure versions.tf pour les exigences du fournisseur et README.md pour la documentation.

Entrées d’un module : variables

Pour rendre votre module flexible, vous devez définir des variables d’entrée. Elles permettent aux utilisateurs de votre module de personnaliser son comportement sans modifier son code principal.

Les variables sont définies à l’aide d’un bloc variable, qui précise une description, un type et, facultativement, une valeur default.

Exemple : définir une variable de module

Voici comment vous pourriez définir une variable pour le type d’instance dans le fichier variables.tf de votre module :

# variables.tf
variable "instance_type" {
  description = "The EC2 instance type to use."
  type        = string
  default     = "t2.micro"
}

Ressources d’un module : la logique principale

Le cœur de votre module réside dans ses déclarations de ressources. Il s’agit des ressources infonuagiques réelles que le module approvisionnera.

Vous placerez ces blocs de ressources, comme une instance AWS EC2 ou un compartiment S3, dans le fichier main.tf de votre module.

Point essentiel : les ressources du module utilisent souvent les variables d’entrée que vous avez définies.

Déclaration d’une ressource à l’aide d’entrées

Déclarons une instance EC2 dans main.tf, en utilisant notre variable instance_type :

# main.tf
resource "aws_instance" "web_server" {
  ami           = "ami-0abcdef1234567890" # Example AMI ID
  instance_type = var.instance_type
  tags = {
    Name = "MyWebServer"
  }
}

Sorties d’un module : partager des informations

Tout comme les modules acceptent des entrées, ils peuvent également fournir des valeurs de sortie. Celles-ci sont utiles pour exporter des informations concernant les ressources créées par le module.

Par exemple, vous pourriez vouloir afficher l’adresse IP publique d’une instance EC2 ou l’ARN d’un compartiment S3.

Les sorties sont définies dans outputs.tf à l’aide d’un bloc output.

Définir une valeur de sortie de module

Voici comment définir une sortie pour l’adresse IP publique de notre instance EC2 dans outputs.tf :

# outputs.tf
output "instance_public_ip" {
  description = "The public IP address of the EC2 instance."
  value       = aws_instance.web_server.public_ip
}

Appeler votre nouveau module

Une fois votre module défini, vous pouvez l’utiliser dans une configuration racine (ou dans un autre module), comme n’importe quel autre module.

Vous indiquerez la source (le chemin vers le répertoire de votre module) et transmettrez des valeurs à ses variables d’entrée.

# root_config/main.tf
module "my_web_server_module" {
  source        = "../my-ec2-module" # Path to your module
  instance_type = "t3.small"         # Override default
}

output "web_server_ip" {
  value = module.my_web_server_module.instance_public_ip
}

Vérification des composants d’un module

Vous avez découvert les principaux fichiers d’un module Terraform. Quel fichier sert principalement à définir les valeurs qui peuvent être transmises au module ?

Récapitulatif : créer des modules réutilisables

Excellent travail ! Vous savez maintenant créer vos propres modules Terraform.

  • Les modules sont des répertoires contenant des fichiers .tf.
  • Utilisez variables.tf pour les entrées.
  • Placez les définitions de ressources dans main.tf.
  • Définissez les sorties dans outputs.tf pour exposer des données.

Cette compétence est essentielle pour créer une infrastructure sous forme de code évolutive, maintenable et cohérente.

Questions Fréquemment Posées

La leçon « Créer des modules réutilisables » est-elle gratuite ?

Oui — le texte complet de « Créer des modules réutilisables » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours DevOps Bootcamp, passe à CoddyKit PRO. Le cours DevOps Bootcamp comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Créer des modules réutilisables » ?

Apprenez à créer vos propres modules Terraform en définissant des entrées, des sorties et des ressources pour concevoir des configurations modulaires et flexibles. Tu pratiques DevOps Bootcamp avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer DevOps Bootcamp ?

Aucune expérience préalable n'est requise. DevOps Bootcamp sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Créer des modules réutilisables » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon DevOps Bootcamp ?

Oui. Chaque leçon DevOps Bootcamp inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Introduction aux modules Terraform
  2. Créer des modules réutilisables
  3. Utiliser les espaces de travail pour les environnements
  4. Publier des modules dans un registre
← Retour à DevOps Bootcamp