Travaux Pratiques : Création d'un Module Terraform pour AWS

Ce TP vous guide dans la création de votre premier module Terraform pour AWS en 10 étapes. L'objectif est de comprendre les principes de base de la modularisation dans Terraform.

Étape 1 : Préparation de l'environnement

Assurez-vous d'avoir Terraform installé et configuré avec vos credentials AWS. Si ce n'est pas le cas, suivez le guide d'installation officiel de Terraform : Installation de Terraform

Étape 2 : Création de la structure du module

Créez un nouveau répertoire pour votre module et ajoutez les fichiers de base :

mkdir mon_module_aws
cd mon_module_aws
touch main.tf variables.tf outputs.tf README.md

Étape 3 : Définition des variables

Dans le fichier variables.tf, définissez les variables d'entrée pour votre module :

variable "region" {
  description = "AWS region"
  type        = string
  default     = "us-west-2"
}

variable "instance_type" {
  description = "EC2 instance type"
  type        = string
  default     = "t2.micro"
}

variable "ami_id" {
  description = "AMI ID for the EC2 instance"
  type        = string
}

Étape 4 : Création des ressources AWS

Dans main.tf, définissez les ressources AWS que votre module va créer. Par exemple, une instance EC2 :

resource "aws_instance" "example" {
  ami           = var.ami_id
  instance_type = var.instance_type

  tags = {
    Name = "ExampleInstance"
  }
}

Étape 5 : Définition des outputs

Dans outputs.tf, définissez les valeurs que votre module va retourner :

output "instance_id" {
  description = "ID of the EC2 instance"
  value       = aws_instance.example.id
}

output "instance_public_ip" {
  description = "Public IP address of the EC2 instance"
  value       = aws_instance.example.public_ip
}

Étape 6 : Documentation du module

Dans README.md, documentez l'utilisation de votre module, ses entrées, sorties et un exemple d'utilisation.

Étape 7 : Test local du module