Skip to Content

Qu’est-ce que le plan Terraform ?

Terraform, développé par HashiCorp , est un outil IaC (Infrastructure-as-Code) largement utilisé qui permet aux utilisateurs de définir et de provisionner une infrastructure logicielle à l’aide d’un langage de configuration de haut niveau. Alors que les entreprises adoptent de plus en plus des infrastructures basées sur le cloud, Terraform est devenu essentiel pour gérer et automatiser le déploiement des ressources de l’infrastructure. L’une des principales commandes de Terraform est le plan terraforme, une étape critique du processus de déploiement qui garantit la sécurité, la prévisibilité et l’efficacité des modifications apportées à l’infrastructure.

Dans cet article, nous examinerons cette commande de plus près, ce qu’elle fait et comment interpréter ses résultats pour vos configurations Terraform.

Qu’est-ce que le plan Terraform ?

La commande de plan terraforme est un élément essentiel du flux de travail Terraform, qui sert d’exécution à sec ou de prévisualisation des modifications que Terraform apportera à votre infrastructure. Il compare l’état actuel de votre infrastructure à l’état souhaité défini dans vos fichiers de configuration Terraform et montre les actions spécifiques que Terraform entreprendra pour combler l’écart. Cela inclut les ajouts, les suppressions et les modifications de ressources, comme la création de nouvelles machines virtuelles, l’extension de bases de données existantes ou la suppression de volumes de stockage inutilisés.

Avantages du plan Terraform

Avoir la possibilité de prévisualiser le changement que votre code de configuration apportera à votre infrastructure est avantageux à bien des égards, notamment :

  • Transparence : Le plan Terraform fournit un aperçu détaillé des changements à venir, offrant une image claire de ce qui sera créé, modifié ou supprimé dans votre infrastructure. Cette transparence permet de minimiser les erreurs et garantit que toutes les personnes impliquées dans le processus de déploiement sont sur la même longueur d’onde.
  • Atténuation des risques : En prévisualisant les modifications à l’avance, les utilisateurs peuvent identifier et résoudre les problèmes potentiels avant qu’ils ne perturbent les services. Le plan Terraform peut aider à identifier les conflits de ressources (par exemple, la création d’une VM avec un nom en double), les dépendances manquantes (par exemple, une base de données nécessitant un groupe de sécurité spécifique qui n’est pas configuré) ou les modifications involontaires dues à des erreurs dans les fichiers de configuration.
  • Collaboration : Le plan Terraform s’intègre parfaitement aux systèmes de contrôle de version tels que Git, facilitant ainsi la collaboration d’équipe. Le partage des résultats du plan avec les membres de l’équipe permet d’examiner les changements dans le cadre des engagements du code, en favorisant la transparence et la responsabilité avant la mise en œuvre des changements.
  • Efficacité : Le plan Terraform aide les utilisateurs à planifier et exécuter méthodiquement les modifications d’infrastructure. L’analyse du plan vous permet d’identifier les goulets d’étranglement ou les inefficacités potentiels avant d’appliquer les modifications.
  • Sécurité : Le plan Terraform sert de filet de sécurité en vous permettant d’examiner et de valider les modifications avant qu’elles ne soient appliquées à votre infrastructure de production. Cette protection permet d’éviter les modifications accidentelles et garantit la stabilité et la fiabilité de votre environnement cloud.

Exécution du plan Terraform

Pour exécuter le plan terraforme, assurez-vous d’abord que Terraform est installé sur votre machine locale. Vous pouvez télécharger et installer la version appropriée à partir du site Web officiel HashiCorp .

Avant d'exécuter la commande de plan, vous devez créer un fichier de configuration Terraform de base nommé main.tf dans votre répertoire de travail. Voici un exemple de configuration simple qui crée une ressource de machine virtuelle chez un fournisseur de cloud :

# Configure the cloud provider (replace with your provider details)
 provider "aws" {
   region = "us-east-1"
 }
 
 # Define a virtual machine resource
 resource "aws_instance" "my_vm" {
   ami           = "ami-0f78f7e824d9499e0"  # Replace with the desired AMI ID
   instance_type = "t2.micro"
 }

1. Initialiser le répertoire Terraform

Accédez à votre répertoire de travail contenant le fichier main.tf et exécutez la commande suivante dans votre terminal :

$ terraform init

Cette commande initialise le répertoire Terraform, télécharge tous les plug-ins ou modules requis mentionnés dans votre configuration et prépare l’environnement à travailler avec Terraform.

2. Exécuter le plan Terraform

Une fois l’initialisation terminée, exécutez la commande suivante pour générer le plan d’exécution :

$ terraform plan

Cette commande analyse votre configuration Terraform et la compare à l’état actuel de votre infrastructure (le cas échéant). Il affiche ensuite un plan détaillé décrivant les actions que Terraform entreprendra pour atteindre l’état souhaité défini dans votre configuration. Le plan affiche généralement les ressources qui seront créées, modifiées ou supprimées

3. Enregistrer le résultat du plan

Si vous souhaitez enregistrer le plan pour référence ultérieure ou le partager avec les membres de l’équipe, vous pouvez éventuellement utiliser l’indicateur de sortie avec la commande du plan. Par exemple, la commande suivante enregistre le plan dans un fichier nommé plan.tfplan :

$ terraform plan -out=plan.tfplan

La commande Plan terraforme affiche uniquement les modifications. Il n’apporte aucune modification à votre infrastructure. Après avoir examiné et approuvé le plan, vous pouvez utiliser la commande $ terraform apply pour exécuter les modifications planifiées.

Comprendre et analyser les résultats du plan Terraform

Les résultats du plan terraforme sont généralement divisés en plusieurs sections, chacune offrant des informations précieuses sur les actions planifiées :

Actions des ressources

Cette section répertorie les actions spécifiques que Terraform a l’intention d’effectuer sur les ressources de votre infrastructure. Ces actions sont classées en trois principaux types :

  • Créer (+) : Ce symbole indique que Terraform créera de nouvelles ressources en fonction de votre configuration.
  • Lire (~) : Ce symbole signifie que Terraform lit l’état des ressources existantes pour déterminer si des modifications sont nécessaires. Ce symbole est moins fréquent dans les résultats du plan, car Terraform détermine généralement les actions requises pendant la phase de planification.
  • Supprimer (-) : Ce symbole indique que Terraform supprimera les ressources existantes qui ne sont plus définies dans votre configuration.

Détails de la ressource

Cette section fournit des informations détaillées sur chaque ressource qui sera affectée par le plan. Voici une répartition des détails que vous trouverez généralement :

  • Type de ressource : Cela spécifie le type de ressource d’infrastructure que Terraform gère (par exemple, aws_instance, azurerm_resource_group ).
  • Nom de la ressource : Il identifie le nom unique attribué à la ressource dans votre configuration Terraform.

Changements planifiés

Cette section détaille les modifications spécifiques qui seront appliquées à la ressource. Pour les ressources créées (signalées par +), elles répertorient les attributs et leurs valeurs correspondantes qui seront définis. Pour les ressources modifiées, les modifications apportées aux attributs existants s’affichent.

Résumé

Les résultats du plan se terminent souvent par une section récapitulative qui fournit un aperçu général des actions planifiées. Ce résumé décompose généralement le nombre total de ressources dans les catégories suivantes :

  • À ajouter : Le nombre de nouvelles ressources qui seront créées

  • À modifier : Le nombre de ressources existantes qui seront modifiées

  • À détruire : Le nombre de ressources existantes qui seront supprimées

Lorsque vous exécutez un plan terraforme avec l’exemple de configuration que nous avons créé précédemment, vous obtiendrez des résultats similaires à ceux suivants :

# $ terraform plan
 
 Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
   + create
 
 Terraform will perform the following actions:
 
   # aws_instance.my_vm will be created
   resource "aws_instance" "my_vm" {
     + ami           = "ami-0f78f7e824d9499e0"
     + instance_type = "t2.micro"
     + tags = {
       + Name = "sample-tag"
     }
   }

1. Actions des ressources : La première ligne indique que Terraform effectuera des actions de création (+) pendant ce plan.

2. Informations sur les ressources : La section suivante détaille une ressource unique, aws_instance.my_vm . Cela signifie que Terraform créera une nouvelle instance AWS EC2 nommée my_vm dans votre environnement AWS. Les détails précisent également l’ID AMI (ami-0f78f7e824d9499e0), le type d’instance (t2.micro ) et un point (Nom = « échantillon-étiquette ») que Terraform appliquera à la nouvelle instance.

3. Résumé (implicité) : Bien que cela ne soit pas explicitement indiqué dans cet exemple, un résumé peut être affiché à la fin d’un plan de sortie plus complexe, indiquant le nombre total de ressources à créer.

Bonnes pratiques d’utilisation du plan Terraform

La commande de plan terraforme est votre filet de sécurité avant d’appliquer des modifications d’infrastructure. Voici quelques-unes des pratiques essentielles pour maximiser ses avantages :

Analyser les changements de ressources :

  • Concentrez-vous sur les ressources marquées pour la création (+) ou la suppression (-).
  • Vérifier que les valeurs d’attribut pour les nouvelles ressources correspondent à votre intention (par exemple, ID AMI, taille de stockage).
  • Vérifier l’exactitude des modifications apportées aux ressources existantes.

Repérer les problèmes potentiels :

  • Recherchez les conflits de ressources (par exemple, noms en double, dépendances manquantes).
  • Assurez-vous que toutes les dépendances requises (par exemple, les groupes de sécurité) sont définies.
  • Méfiez-vous des suppressions de ressources inattendues qui pourraient perturber les services.

Tirer parti des résultats :

  • Vérifiez si les modifications planifiées correspondent aux objectifs de votre infrastructure.
  • Considérer les implications financières potentielles associées aux modifications des ressources. Vous pouvez également partager les résultats du plan pour l’examen et la communication de l’équipe.

Conclusion

Le plan Terraform est un outil puissant dans le flux de travail Terraform. Il offre une méthode sûre et transparente pour prévisualiser et valider les modifications d’infrastructure avant de les appliquer. En comprenant et en utilisant efficacement le plan Terraform, vous pouvez vous assurer que vos déploiements sont efficaces, prévisibles et exempts de conséquences imprévues.

Pure Storage propose les meilleures solutions de stockage en mode bloc persistant pour vos déploiements Terraform. Portworx® offre une plateforme de données complète pour toutes vos charges de travail conteneurisées et Kubernetes Terraform. Avec Pure Cloud Block Store™, vous pouvez exécuter n’importe quelle base de données ou n’importe quelle charge de travail de conteneur sur le cloud, tout comme vous le pouvez sur une infrastructure sur site.

03/2025
Rancher Kubernetes Engine 2 on VMware with Portworx
Gain consistent experience across public cloud, on- premises, hybrid cloud, or edge architecture with Rancher Kubernetes Engine (RKE2) on VMware with Portworx.
Architecture de référence
33 pages
CONTACTEZ-NOUS
Contacter PureIcône d’information
Icône de messagerie instantanée
Des questions, des commentaires ?

Vous avez des questions ou des commentaires concernant des produits ou certifications Pure ?  Nous sommes là pour vous aider.

Icône de clé
Planifier une démo

Planifiez une démo en direct et découvrez comment Pure peut vous aider à transformer vos données. 

Tél. : +33 1 89 96 04 00

Services Médias : pr@purestorage.com

 

Pure Storage France

32 rue Guersant

75017 Paris

info@purestorage.com

 

FERMER
FermerIcône Fermer (X)
Votre navigateur n’est plus pris en charge !

Les anciens navigateurs présentent souvent des risques de sécurité. Pour profiter de la meilleure expérience possible sur notre site, passez à la dernière version de l’un des navigateurs suivants.