Tous les produits
Search
Centre de documentation

:Introduction to Terraform

Dernière mise à jour :Aug 29, 2026

Maintenant que vous maîtrisez les principes de base de l'infrastructure en tant que code (IaC), cette rubrique présente Terraform.

Qu'est-ce que Terraform ?

Terraform est un outil IaC open source développé par HashiCorp. Il vous permet de définir des ressources Alibaba Cloud à l'aide de fichiers de configuration déclaratifs.

Terraform gère les composants fondamentaux, tels que les machines virtuelles, les conteneurs, le stockage et les réseaux. Il prend également en charge les composants de configuration, comme les règles de groupe de sécurité, les entrées DNS et les politiques d'accès. De plus, il peut gérer certaines fonctionnalités Software as a Service (SaaS).

Terraform utilise un langage simple et lisible par l'homme, appelé HashiCorp Configuration Language (HCL), pour définir l'infrastructure sous forme de code. Terraform lit vos fichiers de configuration et génère un plan d'exécution. Vous pouvez ensuite prévisualiser, confirmer et exécuter ce plan pour créer et gérer votre infrastructure.

Alibaba Cloud met à disposition un fournisseur Terraform pour ses ressources. Utilisez ce fournisseur pour définir et rédiger des ressources Alibaba Cloud, puis créez-les automatiquement.

Fonctionnalités de Terraform

Les fonctionnalités de Terraform incluent les éléments suivants :

  • Prise en charge multicloud et multi-API : Outre Alibaba Cloud, Terraform prend en charge tous les principaux fournisseurs de services cloud. Il s'intègre également à d'autres services via leurs API, tels que GitHub et Kubernetes.

  • Architecture open core : Il propose trois versions, allant de l'auto-hébergement à la gestion complète, avec un support de niveau entreprise.

  • Communauté étendue : Il bénéficie d'une vaste communauté et d'un registre ouvert. Ce registre permet l'enregistrement et la gestion en ligne de tous les fournisseurs et modules, y compris ceux dédiés à Alibaba Cloud.

  • Configuration de l'infrastructure : Cette approche consiste à gérer le cycle de vie (création, modification, suppression et consultation) des ressources d'infrastructure, plutôt que de configurer le système d'infrastructure lui-même (démarrage des services, installation des dépendances, déploiement des applications et application des mises à jour).

Terraform sur Alibaba Cloud offre les capacités suivantes :

  • Configuration des ressources : Utilisez Terraform pour définir et configurer des ressources Alibaba Cloud, telles que les machines virtuelles, les réseaux, le stockage et les pare-feu, à l'aide de blocs de ressources.

  • Création de dépendances entre ressources : Établissez des dépendances explicites entre les ressources afin de garantir leur création dans l'ordre approprié.

  • Modules standardisés : Standardisez la création de ressources en construisant des modules réutilisables. Alibaba Cloud fournit également des modules standards que vous pouvez référencer directement.

Flux de travail IaC

Les étapes suivantes décrivent le flux de travail IaC standard.

image (1).png

  • Délimitation du périmètre

    Avant de démarrer le flux de travail Terraform, déterminez les ressources nécessaires à votre projet ou à votre application. Par exemple, une architecture courante à deux niveaux nécessite un pool de serveurs web et une base de données. Lors de cette phase, identifiez les ressources Alibaba Cloud requises et planifiez leurs interconnexions.

  • Rédaction

    Le flux de travail Terraform commence par la rédaction. Rédigez le code correspondant à l'infrastructure souhaitée et organisez-le dans différents fichiers de configuration, tels que main.tf, variables.tf et tfvars.

  • Initialisation

    Lors de la phase d'initialisation, les plugins ou modules requis par votre code sont installés automatiquement. Exécutez la commande terraform init pour initialiser le répertoire de travail Terraform et installer le fournisseur Terraform pour Alibaba Cloud.

  • Prévisualisation

    Lors de la phase de planification, exécutez la commande terraform plan. Cette commande génère un plan d'exécution visant à créer, modifier ou détruire des ressources selon votre configuration. Consultez le plan avant de l'appliquer à votre infrastructure Alibaba Cloud afin de vérifier qu'il correspond à vos attentes.

  • Application

    Après avoir examiné le plan d'exécution, exécutez la commande terraform apply. Cette commande crée, modifie ou détruit votre infrastructure, puis génère un fichier d'état correspondant ou met à jour le fichier d'état existant.

Vous explorerez le flux de travail Terraform plus en détail au fil des tutoriels suivants.

Scénarios

Cette section décrit quelques scénarios courants d'utilisation de Terraform.

image (2).png

  • Gestion de l'infrastructure

    Terraform gère l'infrastructure selon une approche immuable. Cette méthode réduit la complexité liée à la mise à niveau ou à la modification des services et de l'infrastructure.

  • Suivi des modifications

    Terraform assure le suivi des modifications apportées à l'infrastructure et requiert votre confirmation avant de les prévisualiser ou de les appliquer. Lors de la création de l'infrastructure, Terraform génère automatiquement un fichier d'état. Ce fichier reflète l'état actuel de votre infrastructure et indique le nombre ainsi que le type de ressources Alibaba Cloud modifiées dans votre modèle de configuration.

  • Automatisation des modifications

    Terraform automatise les modifications grâce à ses fichiers de configuration déclaratifs. Inutile de rédiger des instructions détaillées pour construire votre infrastructure. Définissez simplement l'état final souhaité ; Terraform gère automatiquement les dépendances et provisionne les ressources.

  • Modèles de configuration standardisés

    Standardisez les configurations à l'aide de modules personnalisés ou publics issus du registre Terraform afin d'améliorer l'efficacité et de respecter les bonnes pratiques. Terraform prend également en charge l'application automatisée des politiques, ce qui vous permet de restreindre les types de ressources que votre équipe peut configurer et utiliser.