Tous les produits
Search
Centre de documentation

Terraform:Create resources with Terraform

Dernière mise à jour :Aug 11, 2026

Terraform est un outil open source d'infrastructure en tant que code (IaC) qui gère le cycle de vie complet des ressources Alibaba Cloud via des fichiers de configuration déclaratifs. Utilisez une interface visuelle ou la ligne de commande pour créer votre première ressource Alibaba Cloud.

Choisir une méthode

Terraform propose deux méthodes : visuelle et en ligne de commande. Choisissez celle qui correspond le mieux à vos besoins.

Méthode

Scénarios

Avantages

Limites

Terraform Explorer

Première utilisation, méconnaissance des paramètres, débogage rapide

Configuration des ressources via un formulaire graphique. Aucun codage requis.

Prend uniquement en charge les opérations sur une seule ressource.

Terraform CLI

Évaluation rapide, environnements de production, orchestration complexe

Prend en charge l'orchestration multi-ressources et la gestion de l'état.

Nécessite un environnement CLI.

Si vous optez pour la méthode CLI, préparez votre environnement en utilisant soit Cloud Shell, soit l'installation locale.

Utiliser Terraform Explorer

Terraform Explorer est l'outil de débogage en ligne d'Alibaba Cloud qui génère des fichiers de configuration Terraform à partir de formulaires et les exécute dans le cloud. Pour plus d'informations, consultez la page Présentation d'Explorer.

L'exemple suivant crée un Virtual Private Cloud (VPC) afin de démontrer deux façons d'utiliser Terraform Explorer : paramètres personnalisés et modèles d'exemple.

Créer des ressources à l'aide de paramètres personnalisés

Pour configurer les paramètres selon vos besoins, suivez ces étapes :

  1. Connectez-vous à Terraform Explorer. Sélectionnez un Product et un Resource Type. Remplissez les paramètres en vous aidant de la Resource Documentation, puis cliquez sur Initiate.

    Les principaux paramètres nécessaires à la création d'un VPC sont répertoriés ci-dessous. Pour plus de détails sur les paramètres, consultez la documentation alicloud_vpc.

    Nom du paramètre

    Description

    Exemple de valeur

    vpc_name

    Nom du VPC

    tf-test-vpc

    cidr_block

    Bloc CIDR privé pour le VPC

    192.168.0.0/16

    description

    Description du VPC

    The VPC was created using Terraform.

  2. Dans l'onglet Template Details, vérifiez que les paramètres sont corrects, puis cliquez sur Plan pour afficher le plan d'exécution.

    terraform {
      required_providers {
        alicloud = {
          source = "aliyun/alicloud"
          version = "1.231.0"
        }
      }
    }
    provider "alicloud" {
      region  = "cn-beijing"
    }
    resource "alicloud_vpc" "default" {
      cidr_block  = "192.168.0.0/16"
      description = "The VPC was created using Terraform."
      vpc_name    = "tf-test-vpc"
    }
  3. Dans l'onglet Details, examinez les informations relatives aux ressources à créer, puis cliquez sur Execute.

    Le résultat de l'aperçu affiche un statut Success et le message Plan: 1 to add, 0 to change, 0 to destroy, indiquant que la ressource alicloud_vpc.default sera créée. Le cidr_block est défini sur 192.168.0.0/16 et la description sur The VPC was created using Terraform.. Terraform génère les autres attributs après l'exécution.

  4. Dans l'onglet Execution Details, consultez le résultat. Une exécution réussie affiche le message « Apply complete! Resources: 1 added, 0 changed, 0 destroyed. ». En cas d'échec, modifiez les paramètres en fonction du message d'erreur et réessayez.

  5. Dans l'onglet Resource Details, affichez les informations concernant la ressource créée.

    L'adresse de la ressource est alicloud_vpc.default. La page affiche divers attributs du VPC, notamment :

    • cidr_block : 192.168.0.0/16

    • name : tf-test-vpc

    • description : The VPC was created using Terraform.

    • create_time : heure de création du VPC.

    • Configurations réseau telles que classic_link_enabled et enable_ipv6.

    • Informations sur les ressources associées, telles que resource_group_id, route_table_id et router_id.

  6. (Facultatif) Modifier la ressource : ajustez les paramètres et cliquez sur Plan & Apply, puis répétez les étapes 2 à 4. Une mise à jour réussie affiche le message « Apply complete! Resources: 0 added, 1 changed, 0 destroyed. ».

  7. (Facultatif) Supprimer la ressource : dans l'onglet Execution Details, cliquez sur Destroy Resources. Ensuite, dans l'onglet Details, cliquez sur Execute.

    Une fois l'opération terminée, l'onglet Execution Details affiche un statut Success accompagné du message Apply complete! Resources: 0 added, 0 changed, 1 destroyed, confirmant la suppression de la ressource VPC.

Créer des ressources à l'aide d'un modèle d'exemple

Si vous ne connaissez pas bien les paramètres des ressources ou si vous souhaitez démarrer rapidement, utilisez un modèle d'exemple depuis Terraform Explorer.

  1. Connectez-vous à Terraform Explorer. Sélectionnez le Product, le Resource Type et le Sample Template correspondants, puis cliquez sur Initiate. Vous pouvez consulter les détails du modèle dans l'onglet Sample Template situé à droite.

    Dans la zone Input Parameters à gauche, vous pouvez afficher et modifier les paramètres requis par le modèle. Par exemple, vous pouvez définir le paramètre name sur terraform-example. Vous pouvez également cliquer sur Add Parameter pour ajouter d'autres paramètres.

  2. Dans l'onglet Template Details, cliquez sur Plan & Apply.

    Ce modèle d'exemple est au format Terraform. Il définit une ressource alicloud_vpc avec des paramètres tels que ipv6_isp défini sur BGP, cidr_block défini sur 10.0.0.0/8 et enable_ipv6 défini sur true.

  3. Dans l'onglet Execution Details, vous pouvez consulter le résultat de l'exécution.

  4. (Facultatif) Pour supprimer la ressource créée, cliquez sur Destroy Resources dans l'onglet Execution Details. Ensuite, dans l'onglet Details, cliquez sur Execute.

Remarque

Vous pouvez également effectuer des opérations telles que Continue et Destroy Resources depuis l'historique des appels, accessible via Call History.

Utiliser Terraform CLI

Pour utiliser Terraform en ligne de commande, préparez un environnement CLI, rédigez un fichier de configuration, puis exécutez les commandes permettant de créer des ressources. Choisissez l'une des méthodes suivantes pour configurer votre environnement :

  • Cloud Shell (recommandé) : aucune installation nécessaire. Idéal pour une évaluation rapide et l'apprentissage.

  • Installation locale : meilleure solution pour les environnements de production, l'intégration continue et une utilisation à long terme.

Cloud Shell

Alibaba Cloud Cloud Shell est un outil d'exploitation gratuit, préinstallé avec Terraform et préconfiguré avec des identifiants d'authentification, ce qui vous permet d'exécuter immédiatement les commandes Terraform.

Se connecter à Cloud Shell

Ouvrez votre navigateur et accédez à Cloud Shell. Pour plus d'informations, consultez la rubrique Utiliser Cloud Shell.

Remarque

Connectez-vous en tant qu'utilisateur RAM. Afin de protéger votre compte Alibaba Cloud, évitez de l'utiliser pour accéder aux ressources cloud sauf si cela est absolument nécessaire.

Changer de version de Terraform

La version par défaut de Terraform dans Cloud Shell peut être obsolète. Passez à la version 1.2 ou ultérieure pour garantir le bon fonctionnement de toutes les fonctionnalités.

  1. Vérifiez votre version actuelle de Terraform :

    terraform version
    shell@Alicloud:~$ terraform version
    Terraform v0.12.31
    Your version of Terraform is out of date! The latest version
    is 1.12.2. You can update by downloading from https://www.terraform.io/downloads.html
  2. Répertoriez les versions de Terraform disponibles dans Cloud Shell :

    tfenv list
    shell@Alicloud:~$ tfenv list
      1.9.5
      1.5.7
      1.3.7
      0.13.7
    * 0.12.31 (set by /usr/local/tfenv/version)
  3. Passez à une version spécifique (par exemple, 1.9.5) :

    tfenv use 1.9.5
    shell@Alicloud:~$ tfenv use 1.9.5
    Switching default version to v1.9.5
    Switching completed

Installation locale

Cette méthode est idéale pour les environnements de production et l'orchestration complexe. Commencez par installer Terraform et configurer les identifiants d'authentification.

Installer à l'aide d'un gestionnaire de packages (recommandé)

macOS

Installez-le à l'aide de Homebrew :

# Add HashiCorp's tap to define where packages are located in Homebrew
brew tap hashicorp/tap
# Install Terraform
brew install hashicorp/tap/terraform

Mettez à jour vers la dernière version :

# Update Homebrew
brew update
# Upgrade Terraform
brew upgrade hashicorp/tap/terraform

Windows

Installez-le à l'aide de Chocolatey :

choco install terraform

Linux

Par exemple, en utilisant le gestionnaire de packages yum :

yum install -y dnf-plugin-releasever-adapter
yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
yum install terraform

Installation manuelle

Si aucun gestionnaire de packages n'est disponible, installez Terraform manuellement.

Utiliser un binaire précompilé

  1. Téléchargez le fichier ZIP correspondant à votre système d'exploitation depuis le site web de Terraform. Extrayez l'archive.

  2. Déplacez le fichier binaire terraform vers un répertoire figurant dans le PATH de votre système :

    • macOS ou Linux

      mv ~/Downloads/terraform /usr/local/bin/
    • Windows

      1. Ouvrez Panneau de configuration > Système > Paramètres système > Variables d'environnement.

      2. Dans les variables système, recherchez PATH et cliquez sur Modifier.

      3. Ajoutez le chemin d'accès à votre répertoire Terraform. Séparez-le des autres entrées par un point-virgule (par exemple, c:\path;c:\path2).

      4. Ouvrez une nouvelle fenêtre de ligne de commande pour que la modification prenne effet.

Compiler à partir des sources

Vous devez d'abord installer l'environnement de développement Go.

  1. Clonez le dépôt source de Terraform :

    git clone https://github.com/hashicorp/terraform.git
  2. Accédez au répertoire, puis compilez et installez le logiciel.

    cd terraform
    go install

    Après la compilation, le binaire est placé dans le répertoire $GOPATH/bin/.

  3. Assurez-vous que $GOPATH/bin est ajouté au PATH de votre système. Suivez les mêmes étapes que celles décrites à l'étape 2 de la section Utiliser un binaire précompilé.

Vérifier l'installation

Exécutez la commande suivante pour vérifier que Terraform est correctement installé :

terraform version

Si le numéro de version s'affiche, l'installation est terminée.

Exemple : créer une instance ECS

Cet exemple présente le flux de travail complet de Terraform en créant une instance ECS : VPC → vSwitch → groupe de sécurité → instance ECS.

  1. Créez un répertoire de travail et rédigez le fichier de configuration Terraform main.tf :

    mkdir tf-demo && cd tf-demo
    vim main.tf

    Copiez le code suivant dans main.tf :

    provider "alicloud" {
      region = var.region
    }
    # Region for resource creation
    variable "region" {
      default = "cn-beijing"
    }
    # ECS instance name
    variable "instance_name" {
      default = "tf-cloudshell-test"
    }
    # ECS instance type
    variable "instance_type" {
      default = "ecs.n2.small"
    }
    # Outbound public bandwidth. A value of 0 means no public network access.
    variable "internet_bandwidth" {
      default = 10
    }
    # ECS OS image
    variable "image_id" {
      default = "ubuntu_18_04_64_20G_alibase_20190624.vhd"
    }
    # ECS system disk type
    variable "disk_category" {
      default = "cloud_efficiency"
    }
    # ECS instance logon password
    variable "password" {
      default = "TF-test@1234"
    }
    # Create a VPC
    resource "alicloud_vpc" "vpc" {
      vpc_name   = "tf_test_foo"
      cidr_block = "172.16.0.0/12"
    }
    # Query for availability zones based on the instance type and disk category
    data "alicloud_zones" "default" {
      available_disk_category     = var.disk_category
      available_resource_creation = "VSwitch"
      available_instance_type     = var.instance_type
    }
    # Create a vSwitch
    resource "alicloud_vswitch" "vsw" {
      vpc_id     = alicloud_vpc.vpc.id
      cidr_block = "172.16.0.0/21"
      zone_id    = data.alicloud_zones.default.zones.0.id
    }
    # Create a security group
    resource "alicloud_security_group" "default" {
      security_group_name   = "default"
      vpc_id = alicloud_vpc.vpc.id
    }
    # Create an inbound security group rule
    resource "alicloud_security_group_rule" "allow_all_tcp" {
      type              = "ingress"
      ip_protocol       = "tcp"
      nic_type          = "intranet"
      policy            = "accept"
      port_range        = "1/65535"
      priority          = 1
      security_group_id = alicloud_security_group.default.id
      cidr_ip           = "0.0.0.0/0"
    }
    resource "alicloud_instance" "instance" {
      # Attach the security group
      security_groups = alicloud_security_group.default.*.id
      instance_type = var.instance_type
      system_disk_category = var.disk_category
      image_id = var.image_id
      instance_name = var.instance_name
      # Specify the vSwitch
      vswitch_id = alicloud_vswitch.vsw.id
      internet_max_bandwidth_out = var.internet_bandwidth
      password  = var.password
    }
    Important

    La règle de groupe de sécurité présentée dans cet exemple ouvre tous les ports TCP (1-65535) et autorise le trafic provenant de n'importe quelle adresse IP (0.0.0.0/0). N'utilisez cette configuration que dans des environnements de test. En production, restreignez les ports et les adresses IP source selon vos besoins.

  2. Initialisez le répertoire de travail Terraform :

    terraform init
  3. Prévisualisez le plan d'exécution pour confirmer quelles ressources seront créées :

    terraform plan
    shell@Alicloud:~/tf-demo$ terraform plan
    data.alicloud_zones.default: Reading...
    data.alicloud_zones.default: Read complete after 1s [id=1373912221]
    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:
      # alicloud_instance.instance will be created
      + resource "alicloud_instance" "instance" {
          + availability_zone                  = (known after apply)
          + cpu                                = (known after apply)
          + create_time                        = (known after apply)
          + credit_specification               = (known after apply)
          + deployment_set_group_no            = (known after apply)
          + description                        = (known after apply)
          + dry_run                            = false
          + enable_jumbo_frame                 = (known after apply)
          + expired_time                       = (known after apply)
          + host_name                          = (known after apply)
          + http_endpoint                      = (known after apply)
          + http_put_response_hop_limit        = (known after apply)
          + http_tokens                        = (known after apply)
          + id                                 = (known after apply)
          + image_id                           = "ubuntu_18_04_64_20G_alibase_20190624.vhd"
          + instance_charge_type               = (known after apply)
          + instance_name                      = "tf-cloudshell-test"
          + instance_type                      = "ecs.n2.small"
          + internet_charge_type               = (known after apply)
          + internet_max_bandwidth_in          = (known after apply)
          + internet_max_bandwidth_out         = 10
          + io_optimized                       = (known after apply)
          + ipv6_address_count                 = (known after apply)
          + ipv6_addresses                     = (known after apply)
          + key_name                           = (known after apply)
          + maintenance_action                 = (known after apply)
          + memory                             = (known after apply)
          + network_interface_id               = (known after apply)
          + network_interface_traffic_mode     = (known after apply)
          + os_name                            = (known after apply)
          + os_type                            = (known after apply)
          + password                           = (sensitive value)
          + period                             = (known after apply)
          + primary_ip_address                 = (known after apply)
  4. Créez les ressources. Le message « Apply complete! » indique que l'opération a réussi :

    terraform apply
    Apply complete! Resources: 5 added, 0 changed, 0 destroyed.
  5. Pour libérer ces ressources, exécutez :

    terraform destroy

Références