0Pricing
Terraform Infrastructure as Code · Leçon

Utiliser les espaces de travail pour les environnements

Découvrez les espaces de travail Terraform pour gérer des états distincts correspondant à différents environnements (par exemple, développement, préproduction et production) au sein d’une même configuration.

Utiliser les espaces de travail pour les environnements est une leçon Terraform Infrastructure as Code gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Terraform Infrastructure as Code, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Terraform Infrastructure as Code comprend 4 leçons au total.

Que sont les espaces de travail Terraform ?

Les espaces de travail Terraform vous aident à gérer plusieurs états distincts pour la même configuration Terraform. Considérez-les comme des environnements séparés, tels que « dev », « staging » ou « prod ».

Vous pouvez ainsi utiliser un même ensemble de fichiers .tf pour déployer une infrastructure à différents endroits sans modifier votre code, ce qui favorise la réutilisation et la cohérence.

L’espace de travail « default »

Lorsque vous initialisez Terraform pour la première fois dans un répertoire (avec terraform init), vous utilisez automatiquement l’espace de travail default.

Toutes vos premières opérations terraform apply enregistreront leur état dans cet espace de travail default, sauf si vous en créez un autre et le sélectionnez. Il est toujours présent !

Créer de nouveaux espaces de travail

Pour créer un nouvel environnement, utilisez la commande terraform workspace new. Cette commande bascule également automatiquement votre contexte actuel vers l’espace de travail nouvellement créé.

Créons un espace de travail dev :

terraform workspace new dev

Terraform crée ensuite un état distinct pour cet environnement dev.

Répertorier les espaces de travail disponibles

Vous pouvez afficher tous les espaces de travail disponibles dans le répertoire de votre configuration actuelle à l’aide de la commande terraform workspace list.

L’espace de travail actuellement actif est marqué d’un astérisque (*), ce qui vous aide à suivre vos différents environnements.

terraform workspace list

Changer d’espace de travail

Pour passer d’un espace de travail existant à un autre, utilisez la commande terraform workspace select, suivie du nom de l’espace de travail. Cette commande modifie votre environnement actif.

Revenons à l’espace de travail default :

terraform workspace select default

Toutes les opérations Terraform suivantes cibleront désormais l’état de l’environnement default.

Utiliser « terraform.workspace »

Vous pouvez rendre vos configurations dynamiques en faisant référence au nom de l’espace de travail actuel à l’aide de la variable intégrée terraform.workspace. C’est idéal pour nommer des ressources ou définir des balises propres à un environnement.

Essayez cet exemple. Exécutez d’abord terraform init, puis terraform workspace new dev et enfin terraform apply. Observez le nom et les balises du compartiment.

provider "aws" {
  region = "us-east-1" # Or your preferred region
}

resource "aws_s3_bucket" "example" {
  bucket = "my-unique-bucket-${terraform.workspace}-12345"
  acl    = "private"

  tags = {
    Environment = terraform.workspace
    ManagedBy   = "CoddyKit"
  }
}

output "bucket_name" {
  description = "Name of the S3 bucket created."
  value       = aws_s3_bucket.example.bucket
}

Fichiers d’état isolés

L’aspect le plus important des espaces de travail est que chacun conserve son propre fichier d’état distinct.

Ainsi, les ressources déployées dans votre espace de travail dev n’interfèrent pas avec celles de votre espace de travail prod, même si elles sont définies par les mêmes fichiers de configuration. Terraform gère ces fichiers d’état dans un répertoire masqué (.terraform/environments) au sein de votre répertoire de travail.

Supprimer des espaces de travail

Lorsqu’un environnement n’est plus nécessaire, vous pouvez supprimer son espace de travail à l’aide de terraform workspace delete <name>.

  • Important : vous ne pouvez pas supprimer l’espace de travail actuellement actif.
  • Essentiel : assurez-vous toujours d’avoir détruit toutes les ressources associées à cet espace de travail avec terraform destroy avant de le supprimer. Sinon, des ressources orphelines pourraient subsister !
terraform workspace select default
terraform workspace delete dev

Espaces de travail ou répertoires séparés

Les espaces de travail sont parfaits pour de petites variations d’une même configuration, mais ils ne constituent pas toujours le meilleur choix. Tenez compte des points suivants :

  • Espaces de travail : idéaux pour de petites différences entre environnements (par exemple, le nombre de ressources ou les balises), avec la même conception d’infrastructure de base.
  • Répertoires séparés : préférables pour des conceptions d’infrastructure très différentes ou lorsque différentes équipes gèrent des environnements entièrement distincts.

Choisissez l’approche qui correspond le mieux à la complexité de votre projet et à la structure de votre équipe.

Vérification des espaces de travail

Vous avez découvert les espaces de travail Terraform. Vérifions votre compréhension.

Récapitulatif : les espaces de travail pour les environnements

Excellent travail ! Vous avez exploré les espaces de travail Terraform, une fonctionnalité puissante pour gérer plusieurs environnements à partir d’une seule configuration. Retenez les points essentiels suivants :

  • Les espaces de travail fournissent des fichiers d’état isolés pour différents environnements (par exemple, dev et prod).
  • Utilisez terraform workspace new, list et select pour les gérer.
  • La variable terraform.workspace permet de créer des configurations dynamiques propres à chaque environnement.
  • Détruisez toujours les ressources avant de supprimer un espace de travail afin d’éviter les infrastructures orphelines.

Vous pouvez ainsi déployer votre infrastructure de manière flexible et organisée !

Questions Fréquemment Posées

La leçon « Utiliser les espaces de travail pour les environnements » est-elle gratuite ?

Oui — le texte complet de « Utiliser les espaces de travail pour les environnements » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Terraform Infrastructure as Code, passe à CoddyKit PRO. Le cours Terraform Infrastructure as Code comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Utiliser les espaces de travail pour les environnements » ?

Découvrez les espaces de travail Terraform pour gérer des états distincts correspondant à différents environnements (par exemple, développement, préproduction et production) au sein d’une même config… Tu pratiques Terraform Infrastructure as Code avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Terraform Infrastructure as Code ?

Aucune expérience préalable n'est requise. Terraform Infrastructure as Code sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Utiliser les espaces de travail pour les environnements » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Terraform Infrastructure as Code ?

Oui. Chaque leçon Terraform Infrastructure as Code inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Introduction aux modules Terraform
  2. Créer des modules réutilisables
  3. Utiliser les espaces de travail pour les environnements
  4. Publier des modules dans un registre
← Retour à Terraform Infrastructure as Code