Terraform集成示例

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

本文为您介绍Terraform的安装和配置,以及如何使用Terraform创建表格存储(Tablestore)实例。

重要

通过Terreform只支持创建CU模式(原按量模式)的实例,不支持创建VCU模式(原预留模式)的实例。

前提条件

在访问控制RAM服务侧完成如下操作:

  • 已创建RAM用户并为RAM用户授予管理表格存储权限AliyunOTSFullAccess。具体操作,请参见创建RAM用户RAM用户授权

    说明
    • 为了便于演示,本示例使用AliyunOTSFullAccess权限策略。在实际项目中,请根据业务的实际情况按需分配权限后进行接口调用。表格存储(Tablestore)的权限策略,请参见自定义RAM Policy

    • 如果您通过Cloud Shell使用Terraform,还需添加AliyunCloudShellFullAccess权限策略。

  • 已为RAM用户创建AccessKey。具体操作,请参见创建AccessKey

    警告

    阿里云账号AccessKey泄露会威胁您所有资源的安全。建议您使用RAM用户AccessKey进行操作,这可以有效降低AccessKey泄露的风险。

操作步骤

说明

本文以Linux系统为例介绍Terraform集成Tablestore的相关操作。

1. 安装配置Terraform

  1. 前往Terraform官网下载适用于您的操作系统的程序包。

  2. 将程序包解压到/usr/local/bin

    如果将可执行文件解压到其他目录,则需要将路径加入到全局变量。

  3. 执行以下命令验证是否已成功安装Terraform。

    terraform

    安装成功将返回如下结果。

    image

  4. Terraform项目创建工作目录。

    重要

    每个Terraform项目都需要1个独立的工作目录。

    mkdir terraform-test
  5. 进入工作目录terraform-test

    cd terraform-test

    Terraform在执行时,会读取该目录空间下所有*.tf*.tfvars文件。因此,您可以按照实际用途将配置信息写入到不同的文件中。常用配置文件如下。

    文件

    说明

    provider.tf

    provider配置

    terraform.tfvars

    配置provider要用到的变量

    variable.tf

    通用变量

    resource.tf

    资源定义

    data.tf

    包文件定义

    output.tf

    输出

    1. 创建身份认证信息配置文件provider.tf

      vim provider.tf

      配置文件信息示例如下。

      provider "alicloud" {
        region = "cn-hangzhou"
        access_key = "LTA**********NO2"
        secret_key = "MOk8x0*********************wwff"
      }

      具体配置项说明请参见下表。

      配置项

      示例

      说明

      region

      cn-hangzhou

      地域ID。更多信息,请参见地域

      access_key

      LTA**********NO2

      阿里云账号或者RAM用户的AccessKey IDAccessKey Secret。

      secret_key

      MOk8x0*********************wwff

    2. 初始化工作目录terraform-test

      重要

      每个Terraform项目在新建Terraform工作目录并创建配置文件后,都需要初始化工作目录。

      terraform init

      加载成功将返回如下结果。

      image

2. 编写模板

在工作目录terraform-test下创建main.tf文件,并输入以下代码。

创建实例的语法、说明及示例,请参见alicloud_ots_instance

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

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

resource "alicloud_ots_instance" "default" {
  name        = "${var.name}-${random_integer.default.result}"  #实例名称
  description = var.name  #实例描述
  accessed_by = "Vpc"  #访问实例的网络限制
  tags = {  #实例标签
    Created = "TF"
    For     = "Building table"
  }
}

3. 运行模板

  1. 验证模板语法是否正确。

    terraform validate

    语法无误将返回如下结果。

    image

  2. 创建执行计划,预览将要执行的操作。

    terraform plan

    运行成功将返回如下结果。

    image

  3. 运行模板,实际应用执行计划。

    terraform apply

    执行后需输入yes变更资源。

    image

    运行成功将返回如下结果。

    image

    返回结果中的id为实例名称。

  4. 您可以通过以下方式查看创建的实例。

    1. 登录表格存储控制台

    2. 在页面上方,选择资源组和地域。

    3. 概览页面的实例列表区域,搜索实例名称。

      image

相关文

安装配置Terraform的更多信息,请参见Cloud Shell中使用Terraform在本地安装和配置Terraform