Tous les produits
Search
Centre de documentation

Tablestore:Utiliser Terraform pour créer une instance Tablestore

Dernière mise à jour :Aug 19, 2026

Terraform est un outil open source qui permet de provisionner et de gérer l'infrastructure cloud sous forme de code. Tablestore s'intègre à Terraform, ce qui vous permet de créer et de gérer des instances Tablestore via des fichiers de configuration.

Remarque

Exécutez l'exemple de code en un seul clic. Exécuter maintenant

Prérequis

  • Par mesure de sécurité, utilisez un utilisateur RAM disposant des autorisations minimales (Créer un utilisateur RAM, Accorder des autorisations à un utilisateur RAM). Stratégie minimale requise :

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "ots:GetInstance",
            "ots:BindInstance2Vpc",
            "ots:ListVpcInfoByInstance",
            "ots:UnbindInstance2Vpc",
            "ots:DeleteInstance",
            "ots:InsertInstance",
            "ots:UpdateInstance",
            "ots:ListInstance"
          ],
          "Resource": "*"
        }
      ]
    }
  • Préparez un environnement Terraform en utilisant l'une des méthodes suivantes :

Ressources utilisées

Créer une instance Tablestore

  1. Créez un répertoire de travail contenant un fichier nommé main.tf, puis ajoutez le code suivant au fichier main.tf.

    variable "name" {
      default = "tf-example"
    }
    
    variable "region" {
      default = "cn-hangzhou"
    }
    
    provider "alicloud" {
      region = var.region
    }
    
    resource "random_integer" "default" {
      min = 10000
      max = 99999
    }
    
    # Tablestore instance
    resource "alicloud_ots_instance" "default" {
      name        = "${var.name}-${random_integer.default.result}"  # Instance name
      description = var.name  # Instance description
      accessed_by = "Vpc"  # Network type for instance access
      tags = {  # Instance tags
        Created = "TF"
        For     = "Building table"
      }
    }
  2. Initialisez Terraform.

    terraform init

    Résultat attendu en cas de succès :

    Terraform has been successfully initialized!
    
    You may now begin working with Terraform. Try running "terraform plan" to see
    any changes that are required for your infrastructure. All Terraform commands
    should now work.
    
    If you ever set or change modules or backend configuration for Terraform,
    rerun this command to reinitialize your working directory. If you forget, other
    commands will detect it and remind you to do so if necessary.
  3. Appliquez la configuration.

    terraform apply

    Saisissez yes lorsque vous y êtes invité, puis appuyez sur Entrée. Résultat attendu en cas de succès :

    You can apply this plan to save these new output values to the Terraform state, without changing any real infrastructure.
    
    Do you want to perform these actions?
      Terraform will perform the actions described above.
      Only 'yes' will be accepted to approve.
    
      Enter a value: yes
    
    Apply complete! Resources: 2 added, 0 changed, 0 destroyed.
  4. Vérifiez le résultat.

    Terraform show

    Exécutez cette commande pour afficher les ressources créées :

    terraform show
    shell@Alicloud:~/ots$ terraform show
    # alicloud_ots_instance.default:
    resource "alicloud_ots_instance" "default" {
        accessed_by       = "Vpc"
        description       = "tf-example"
        id                = "tf-example-xxx"
        instance_type     = "HighPerformance"
        name              = "tf-example-xxx"
        network_source_acl = []
        network_type_acl  = [
            "VPC",
        ]
        resource_group_id = "rg-xxx"
        tags              = {
            "Created" = "TF"
            "For"     = "Building table"
        }
    }
    
    # random_integer.default:
    resource "random_integer" "default" {
        id     = "xxx"
        max    = 99999
        min    = 10000
        result = xxx
    }
    
    shell@Alicloud:~/ots$

    Console Tablestore

    Connectez-vous à la console Tablestore. Sur la page All Instances, vérifiez que votre instance apparaît.

Libérer les ressources

Pour supprimer les ressources dont vous n'avez plus besoin, exécutez la commande terraform destroy (Commandes courantes).

terraform destroy

Saisissez yes lorsque vous y êtes invité, puis appuyez sur Entrée. Résultat attendu en cas de succès :

Plan: 0 to add, 0 to change, 2 to destroy.

Do you really want to destroy all resources?
  Terraform will destroy all your managed infrastructure, as shown above.
  There is no undo. Only 'yes' will be accepted to confirm.

  Enter a value: yes
  ...
  Destroy complete! Resources: 2 destroyed.

Exemple complet

Remarque

Exécutez l'exemple de code en un seul clic. Exécuter maintenant

Exemple de code

variable "name" {
  default = "tf-example"
}

variable "region" {
  default = "cn-hangzhou"
}

provider "alicloud" {
  region = var.region
}

resource "random_integer" "default" {
  min = 10000
  max = 99999
}

# Tablestore instance
resource "alicloud_ots_instance" "default" {
  name        = "${var.name}-${random_integer.default.result}"  # Instance name
  description = var.name  # Instance description
  accessed_by = "Vpc"  # Network type for instance access
  tags = {  # Instance tags
    Created = "TF"
    For     = "Building table"
  }
}

Consultez d'autres exemples dans le dépôt More Complete Examples.

FAQ

  1. Comment améliorer l'efficacité de la création et de la suppression d'instances Tablestore lors du provisionnement de plusieurs services cloud avec Terraform ?

  • Cas d'utilisation : un workflow crée une instance Tablestore, mais échoue sur une ressource suivante. Lors du rollback et de la nouvelle tentative, le nom de l'instance reste occupé, car la suppression prend du temps et les noms doivent être uniques au sein d'une région.

  • Solution : ajoutez un suffixe aléatoire ou un ID auto-incrémentiel au nom de l'instance. Chaque exécution utilise un nom unique, ce qui permet aux nouvelles tentatives de se dérouler immédiatement sans attendre la suppression.