Travaux pratiques : Création d’un module
Travaux Pratiques : Création d'un Module Terraform pour AWSÉtape 1 : Préparation de l'environnementÉtape 2 : Création de la structure du moduleÉtape 3 : Définition des variablesÉtape 4 : Création des ressources AWSÉtape 5 : Définition des outputsÉtape 6 : Documentation du moduleÉtape 7 : Test local du moduleÉtape 8 : Initialisation et applicationÉtape 9 : Vérification des ressourcesÉtape 10 : NettoyageRessources supplémentaires
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
Créez un fichier test.tf à la racine de votre projet pour tester votre module :
module "test_instance" {
source = "./mon_module_aws"
region = "us-west-2"
instance_type = "t2.micro"
ami_id = "ami-0c55b159cbfafe1f0" # Remplacez par un AMI ID valide
}
output "test_instance_id" {
value = module.test_instance.instance_id
}
output "test_instance_ip" {
value = module.test_instance.instance_public_ip
}
Étape 8 : Initialisation et application
Initialisez Terraform et appliquez la configuration :
terraform init
terraform apply
Étape 9 : Vérification des ressources
Vérifiez que les ressources ont été créées correctement dans la console AWS ou via l'AWS CLI.
Étape 10 : Nettoyage
Une fois le test terminé, n'oubliez pas de détruire les ressources :
terraform destroy
Ressources supplémentaires
Ce TP vous permettra de comprendre les bases de la création d'un module Terraform pour AWS. N'hésitez pas à explorer davantage et à ajouter des fonctionnalités supplémentaires à votre module !