TERRAFORM WORKFLOW — INFRASTRUCTURE AS CODE main.tf HCL Config Resources terraform plan Preview terraform apply Create/Update Cloud Providers AWS Azure GCP Write → Plan → Apply — declarative infrastructure management

L’Infrastructure as Code (IaC) a fondamentalement change la facon dont nous gerons l’infrastructure informatique. Au lieu de cliquer manuellement dans les consoles web pour creer des serveurs, Terraform vous permet de definir toute votre infrastructure en code lisible par l’humain, versionnable et automatisable.

Installation de Terraform

Linux (Ubuntu/Debian)

wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install terraform -y

Concepts Fondamentaux

Providers

terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.0"
    }
  }
}

provider "aws" {
  region = "us-east-1"
}

Ressources

resource "aws_instance" "web_server" {
  ami           = "ami-0c55b159cbfafe1f0"
  instance_type = "t3.micro"

  tags = {
    Name = "serveur-web"
  }
}

Variables

variable "instance_type" {
  description = "Type d'instance EC2"
  type        = string
  default     = "t3.micro"
}

Outputs

output "instance_public_ip" {
  description = "L'adresse IP publique du serveur web"
  value       = aws_instance.web_server.public_ip
}

Le Flux de Travail Terraform

terraform init    # Initialiser le repertoire de travail
terraform plan    # Previsualiser les changements
terraform apply   # Appliquer les changements
terraform destroy # Detruire l'infrastructure

Meilleures Pratiques

  1. Toujours executer terraform plan avant terraform apply
  2. Utiliser l’etat distant avec verrouillage pour la collaboration en equipe
  3. Utiliser des modules pour organiser et reutiliser les configurations
  4. Ne jamais committer de secrets dans vos fichiers Terraform
  5. Utiliser terraform fmt pour formater votre code

Conclusion

Terraform est un outil puissant qui apporte les principes de l’ingenierie logicielle a la gestion d’infrastructure. En definissant votre infrastructure comme code, vous gagnez en reproductibilite, collaboration et capacites d’automatisation que la configuration manuelle ne peut jamais atteindre.