Infrastructure as Code (IaC)
Automatiser le dĂ©ploiement de lâinfrastructure pour TaskManagerPro avec Terraform.
Module 5 : Infrastructure as Code (IaC)
5.1. Introduction Ă Terraform
Objectif : Automatiser le dĂ©ploiement de lâinfrastructure pour TaskManagerPro avec Terraform.
Cours : Notions fondamentales de Terraform
1. Qu'est-ce que Terraform ?
- Terraform est un outil dâInfrastructure as Code (IaC) permettant de dĂ©finir et gĂ©rer des infrastructures via des fichiers de configuration.
- Il utilise un langage déclaratif appelé HCL (HashiCorp Configuration Language).
- Terraform fonctionne avec plusieurs fournisseurs cloud : AWS, GCP, Azure, etc.
2. Installation de Terraform
- Télécharger et installer Terraform
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
sudo apt update && sudo apt install terraform
- VĂ©rifier lâinstallation
3. Concepts clés de Terraform
- Providers : Définissent les services cloud à utiliser (ex. AWS, GCP, Azure).
- Resources : Représentent les objets à déployer (ex. une instance EC2, un bucket S3).
- Variables : Permettent de paramétrer la configuration.
- State : Fichier stockant lâĂ©tat actuel de lâinfrastructure.
- Modules : Groupes réutilisables de configurations Terraform.
4. Exemple de fichier Terraform pour AWS
provider "aws" {
region = "us-east-1"
}
resource "aws_instance" "taskmanager_server" {
ami = "ami-12345678"
instance_type = "t2.micro"
tags = {
Name = "TaskManagerPro-Server"
}
}
5. Commandes essentielles
terraform init # Initialise Terraform
terraform plan # Prévisualise les modifications
terraform apply # Applique la configuration
terraform destroy # Supprime lâinfrastructure
Exercice pratique : DĂ©ploiement dâun serveur EC2 AWS
- Créer un fichier
main.tf avec la configuration AWS.
- Initialiser Terraform et appliquer la configuration.
terraform init
terraform apply -auto-approve
- VĂ©rifier que lâinstance est bien créée sur AWS.
5.2. Gestion de la configuration avec Ansible
Objectif : Automatiser la configuration des serveurs avec Ansible.
1. Qu'est-ce quâAnsible ?
- Outil d'automatisation sans agent utilisant SSH.
- Utilise des playbooks (fichiers YAML) pour déployer des configurations.
- Facilite la gestion des mises Ă jour et des installations logicielles.
2. Installation dâAnsible
sudo apt update && sudo apt install ansible -y
3. Exemple de playbook Ansible pour TaskManagerPro
- name: Configuration du serveur TaskManagerPro
hosts: all
become: yes
tasks:
- name: Installer Node.js et Git
apt:
name:
- nodejs
- git
state: present
- name: Cloner le dépÎt
git:
repo: 'https://github.com/TechNovaCorp/TaskManagerPro.git'
dest: /var/www/TaskManagerPro
4. Exécuter un playbook
ansible-playbook -i inventory.ini playbook.yml
Exercice pratique : Configuration automatique du serveur
- Créer un fichier
inventory.ini avec lâIP du serveur.
- Ăcrire un playbook Ansible pour installer Node.js et cloner TaskManagerPro.
- Exécuter le playbook pour configurer automatiquement le serveur.
GrĂące Ă Terraform et Ansible, nous avons automatisĂ© le dĂ©ploiement et la configuration de lâinfrastructure de TaskManagerPro. Vous ĂȘtes dĂ©sormais prĂȘts Ă gĂ©rer des infrastructures cloud efficacement !
đ Quiz : Teste tes connaissances !
đ„ïž Terminal Trainer : Pratique tes commandes !