Skip to main content
📝 Cloud & DevOps (AWS)

Comment Configurer un Serveur AWS EC2 avec Terraform sur Mac [Guide Étape par Étape]

Guide étape par étape pour configurer un serveur AWS EC2 avec Terraform sur Mac. Installation, configuration des identifiants, fichiers HCL et déploiement inclus.

8 min

Temps de lecture

1,547

Mots

Apr 02, 2025

Publié

Engr Mejba Ahmed

Écrit par

Engr Mejba Ahmed

Partager l'article

Comment Configurer un Serveur AWS EC2 avec Terraform sur Mac [Guide Étape par Étape]

Comment Configurer un Serveur AWS EC2 avec Terraform sur Mac [Guide Étape par Étape]


Introduction : La Méthode Intelligente pour Lancer des Serveurs AWS depuis Mac

Si vous avez déjà créé une instance EC2 manuellement via la Console AWS, vous savez déjà combien il est facile de faire des erreurs — sélectionner la mauvaise région, oublier de configurer les groupes de sécurité ou ne pas configurer la clé SSH.

Maintenant imaginez lancer votre infrastructure cloud entière automatiquement avec une seule commande. C'est là qu'intervient Terraform.

Terraform est un puissant outil d'Infrastructure as Code (IaC) qui vous permet de définir, versionner et automatiser les déploiements cloud sur AWS, Azure, Google Cloud et plus encore. Pour les développeurs travaillant sur Mac, il offre un moyen propre, efficace et reproductible de gérer les serveurs — sans jamais toucher au tableau de bord AWS.

Dans ce guide, vous apprendrez exactement comment :

  • Configurer Terraform sur votre Mac
  • Le connecter avec les identifiants AWS
  • Écrire un fichier de configuration Terraform pour lancer une instance EC2
  • Appliquer, vérifier et gérer votre déploiement en toute confiance

À la fin, vous aurez un serveur AWS EC2 entièrement fonctionnel déployé avec Terraform — reproductible à tout moment et en tout lieu.


Étape 1 : Ce Dont Vous Avez Besoin Avant de Commencer

Avant de plonger, assurez-vous d'avoir les prérequis suivants :

🧰 Configuration Système Requise

  • macOS 12+
  • Homebrew (pour une installation facile des paquets)
  • Un compte AWS avec des clés d'accès
  • Connaissances de base d'AWS EC2

☁️ Configuration du Compte AWS

  1. Connectez-vous à votre Console AWS.

  2. Allez dans IAM → Users → Security Credentials.

  3. Générez un Access Key ID et un Secret Access Key.

    • Stockez-les en sécurité — Terraform en a besoin pour s'authentifier auprès d'AWS.

Étape 2 : Installer Terraform sur Mac

La façon la plus simple d'installer Terraform sur macOS est via Homebrew.

brew tap hashicorp/tap
brew install hashicorp/tap/terraform

Vérifiez l'installation :

terraform -version

✅ Exemple de sortie :

Terraform v1.9.0
on darwin_amd64

C'est tout ! Terraform est maintenant installé globalement sur votre système.


Étape 3 : Configurer AWS CLI

Terraform communique avec AWS via AWS CLI. Installons et configurons-le.

brew install awscli

Une fois installé, configurez-le avec vos identifiants :

aws configure

Entrez :

AWS Access Key ID: <your-access-key>
AWS Secret Access Key: <your-secret-key>
Default region name: us-east-1
Default output format: json

Cela crée un fichier de configuration dans ~/.aws/credentials, que Terraform utilisera pour l'authentification.


Étape 4 : Créer un Nouveau Projet Terraform

Nous allons maintenant créer un répertoire de projet pour vos fichiers Terraform.

mkdir terraform-ec2-setup
cd terraform-ec2-setup

Dans ce dossier, créez un nouveau fichier appelé main.tf :

touch main.tf

C'est ici que toutes vos configurations Terraform seront placées.


Étape 5 : Écrire votre Fichier de Configuration Terraform

Définissons tout ce dont Terraform a besoin pour créer une instance EC2 — fournisseur, région, AMI, type d'instance et groupes de sécurité.

Ouvrez main.tf et ajoutez le code suivant :

# Spécifier AWS comme fournisseur
provider "aws" {
  region = "us-east-1"
}

# Créer une paire de clés
resource "aws_key_pair" "mac_key" {
  key_name   = "mac-terraform-key"
  public_key = file("~/.ssh/id_rsa.pub")
}

# Créer un groupe de sécurité
resource "aws_security_group" "allow_ssh" {
  name        = "allow_ssh"
  description = "Allow SSH inbound traffic"

  ingress {
    from_port   = 22
    to_port     = 22
    protocol    = "tcp"
    cidr_blocks = ["0.0.0.0/0"]
  }

  egress {
    from_port   = 0
    to_port     = 0
    protocol    = "-1"
    cidr_blocks = ["0.0.0.0/0"]
  }
}

# Créer une instance EC2
resource "aws_instance" "my_ec2" {
  ami           = "ami-0c02fb55956c7d316"
  instance_type = "t2.micro"
  key_name      = aws_key_pair.mac_key.key_name
  security_groups = [aws_security_group.allow_ssh.name]

  tags = {
    Name = "Terraform-Mac-Instance"
  }
}

Étape 6 : Initialiser Terraform

Avant d'appliquer toute configuration, initialisez Terraform. Cela télécharge tous les plugins de fournisseur nécessaires.

terraform init

✅ Sortie attendue :

Initializing the backend...
Initializing provider plugins...
Terraform has been successfully initialized!

Étape 7 : Valider la Configuration

Validez toujours vos fichiers .tf avant d'appliquer des changements.

terraform validate

Si tout est correct, vous verrez :

Success! The configuration is valid.

Étape 8 : Prévisualiser le Plan d'Infrastructure

Maintenant, voyons ce que Terraform va créer — sans encore faire de changements réels.

terraform plan

Terraform affichera un plan détaillé des ressources à créer :

+ aws_instance.my_ec2
+ aws_security_group.allow_ssh
+ aws_key_pair.mac_key

C'est votre chance de confirmer la configuration avant le déploiement.


Étape 9 : Appliquer et Créer l'Instance EC2

Une fois prêt, déployez l'instance :

terraform apply

Tapez yes quand demandé.

Terraform va :

  • Créer une paire de clés
  • Configurer un groupe de sécurité
  • Déployer une instance EC2

✅ Sortie attendue :

Apply complete! Resources: 3 added, 0 changed, 0 destroyed.

Outputs:
instance_public_ip = "54.210.19.33"

Vous pouvez maintenant vous connecter en SSH à votre nouvelle instance :

ssh [email protected]

Étape 10 : Vérifier dans la Console AWS

Ouvrez votre Console de Gestion AWS → EC2 Dashboard, et vous verrez votre nouvelle instance en cours d'exécution sous :

Name: Terraform-Mac-Instance

Cela confirme que Terraform a déployé votre infrastructure avec succès.


Étape 11 : Nettoyer les Ressources (Optionnel)

Lorsque vous avez fini de tester, détruisez toujours l'infrastructure pour éviter des coûts AWS inutiles.

terraform destroy

Tapez yes pour confirmer.


Étape 12 : Comprendre le Flux de Travail Terraform

Voici un résumé rapide des commandes du cycle de vie Terraform que vous utiliserez fréquemment :

Commande Description
terraform init Initialise le projet et installe les plugins de fournisseur
terraform validate Vérifie la syntaxe de la configuration
terraform plan Prévisualise les changements d'infrastructure proposés
terraform apply Applique et déploie les changements sur AWS
terraform destroy Supprime les ressources créées

Étape 13 : Problèmes Courants et Solutions

❌ Erreur : Identifiants AWS Invalides

Vérifiez votre fichier ~/.aws/credentials ou relancez aws configure.

❌ Permission Denied (publickey)

Assurez-vous que votre clé SSH est correctement ajoutée dans la ressource de paire de clés Terraform et dans le répertoire ~/.ssh de votre Mac.

❌ Security Group Not Found

Terraform crée les dépendances automatiquement, mais si vous modifiez les noms de ressources, relancez terraform init.

❌ Conflits de Fichier d'État

Ne modifiez jamais manuellement terraform.tfstate. Utilisez des backends distants comme S3 pour les environnements d'équipe.


Étape 14 : Meilleures Pratiques pour Terraform + AWS sur Mac

✅ Utiliser le Stockage d'État Distant

Stockez l'état Terraform dans AWS S3 avec verrouillage DynamoDB pour éviter les conflits :

terraform {
  backend "s3" {
    bucket = "terraform-state-bucket"
    key    = "ec2/terraform.tfstate"
    region = "us-east-1"
  }
}

✅ Contrôle de Version

Ajoutez .terraform/ à votre .gitignore et stockez les fichiers .tf dans Git pour la collaboration.

✅ Modulariser l'Infrastructure

Utilisez les modules Terraform pour des configurations réutilisables — comme vpc, ec2 et security_groups.

✅ Tout Étiqueter

Étiquetez toujours les ressources AWS pour faciliter la gestion, la facturation et l'audit.


Étape 15 : Automatiser la Configuration EC2 avec des Variables

Créez un fichier variables.tf pour rendre les configurations réutilisables :

variable "instance_type" {
  default = "t2.micro"
}

variable "region" {
  default = "us-east-1"
}

Puis mettez à jour main.tf :

provider "aws" {
  region = var.region
}

resource "aws_instance" "my_ec2" {
  ami           = "ami-0c02fb55956c7d316"
  instance_type = var.instance_type
}

Exécutez :

terraform plan
terraform apply

Cela rend votre déploiement flexible et indépendant de l'environnement.


Étape 16 : Bonus – Automatiser avec GitHub Actions (CI/CD)

Pour les utilisateurs avancés, automatisez les déploiements Terraform directement depuis GitHub.

Créez .github/workflows/deploy.yml :

name: Terraform AWS Deploy
on:
  push:
    branches: [ "main" ]
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Setup Terraform
        uses: hashicorp/setup-terraform@v2
      - name: Terraform Init
        run: terraform init
      - name: Terraform Apply
        run: terraform apply -auto-approve

Ce pipeline exécute Terraform automatiquement à chaque push sur main — parfait pour l'automatisation en équipe.


Points Clés

  • 💻 Terraform vous permet d'automatiser la configuration AWS EC2 depuis votre Mac avec du code propre et réutilisable.
  • 🔐 Utilisez les clés d'accès IAM pour l'authentification — ne codez jamais les identifiants en dur.
  • 🧠 Validez et prévisualisez les plans avant d'appliquer.
  • 🧩 Modularisez votre configuration Terraform pour la scalabilité.
  • ☁️ Nettoyez les ressources inutilisées pour contrôler les coûts AWS.

Appel à l'Action

Prêt à amener votre automatisation AWS au niveau supérieur ? Maîtriser Terraform sur Mac n'est que le début — à partir de là, vous pouvez vous étendre à la gestion de déploiements multi-environnements, de buckets S3, de VPCs et même de clusters Kubernetes — le tout par le code.

👉 Commencez maintenant en configurant votre première instance EC2 gérée par Terraform, et découvrez à quel point l'automatisation cloud peut être simple.


FAQ

Q : À quoi sert Terraform ?

Terraform automatise le déploiement d'infrastructure sur les plateformes cloud comme AWS, Azure et Google Cloud à travers de simples fichiers de configuration.

Q : Terraform est-il gratuit ?

Oui. Terraform CLI est open source, bien que HashiCorp propose des versions payantes pour les équipes et l'automatisation en entreprise.

Q : Puis-je utiliser Terraform sur Windows ou Linux aussi ?

Absolument. Terraform fonctionne sur tous les principaux systèmes d'exploitation. Les commandes de configuration varient légèrement selon la plateforme.

Q : Comment me connecter en SSH à mon instance EC2 Terraform ?

Utilisez votre clé SSH privée et l'IP publique de l'instance :

ssh ec2-user@<instance_ip>

Q : Dois-je supprimer les ressources après les tests ?

Oui — exécutez toujours terraform destroy après les tests pour éviter une facturation AWS inattendue.

Publicité
Coffee cup

Vous avez apprécié cet article ?

Votre soutien m'aide à créer davantage de contenu technique approfondi, d'outils open source et de ressources gratuites pour la communauté des développeurs.

Sujets connexes

Engr Mejba Ahmed

À propos de l'auteur

Engr Mejba Ahmed

Engr. Mejba Ahmed builds AI-powered applications and secure cloud systems for businesses worldwide. With 10+ years shipping production software in Laravel, Python, and AWS, he's helped companies automate workflows, reduce infrastructure costs, and scale without security headaches. He writes about practical AI integration, cloud architecture, and developer productivity.

Discussion

Comments

0

No comments yet

Be the first to share your thoughts

Leave a Comment

Your email won't be published

16  -  9  =  ?

Continuer l'apprentissage

Articles connexes

Tout parcourir

Comments

Leave a Comment

Comments are moderated before appearing.

Learning Resources

Expand Your Knowledge

Accelerate your growth with structured courses, verified certificates, interactive flashcards, and production-ready AI agent skills.

Sample Certificate of Completion

Sample certificate — complete any course to earn yours

Engr Mejba Ahmed

Engr Mejba Ahmed

Claude Code Expert · Online

👋

Hey there!

Quick Actions

WhatsApp Instant reply

Chat on WhatsApp

+880 1723 741224 · Instant reply

Popular Questions

Engr Mejba Ahmed is connected
Engr Mejba Ahmed is typing...
Engr Mejba Ahmed avatar

✉ Want me to follow up? Drop your email

Engr Mejba Ahmed avatar

📞 Connect Directly

Choose how you'd like to reach me

WhatsApp

+880 1723 741224

Email

[email protected]

✓ Details sent! I'll get back to you shortly.

Powered by OpenAI

335+

Blog Posts

25

AI Courses

63

Projects

Services & Expertise

Pricing & Process

Learning & Resources

Connect & Support