Terraform集成示例

本文为您介绍RAM用户如何使用Terraform调用云原生多模数据库 Lindorm的OpenAPI创建Lindorm实例。

前提条件

  • 执行Terraform模板需要RAM用户权限,需要您创建一个RAM用户,并为其添加AliyunLindormFullAccessAliyunVPCFullAccess权限策略。

    说明
    • 为了便于演示,本示例使用AliyunLindormFullAccess权限策略,在实际项目中,请根据业务的实际情况按需分配权限后进行接口调用。云原生多模数据库 Lindorm的权限策略,请参见系统权限策略参考

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

  • 已经安装并配置了Terraform,具体操作,请参见在Cloud Shell中使用Terraform在本地安装和配置Terraform

操作步骤

编写模板

创建一个名为main.tf文件,填入以下内容,并保存在当前的执行目录中。参数说明,请参见创建Lindorm实例

provider "alicloud" {
  region = local.region
}
variable "name" {
  default = "lindormtest"
}

locals {
  region  = "cn-guangzhou"
 zone_id = "cn-guangzhou-a"
}

resource "alicloud_vpc" "vpc" {
vpc_name = var.name
cidr_block = "172.16.0.0/16"
}

resource "alicloud_vswitch" "vswitch" {
vpc_id = alicloud_vpc.vpc.id
cidr_block = "172.16.0.0/24"
zone_id = local.zone_id
vswitch_name = var.name
}

resource "alicloud_lindorm_instance" "default" {
  disk_category              = "cloud_efficiency"
  payment_type               = "PayAsYouGo"
  vpc_id                     = alicloud_vpc.vpc.id
  vswitch_id                 = alicloud_vswitch.vswitch.id
  instance_name              = var.name
  table_engine_specification = "lindorm.g.xlarge"
  table_engine_node_count    = "2"
  instance_storage           = "80"
}

运行模板

该示例以Cloud Shell为例,在其他操作系统中,运行命令的具体方式可能会有所不同。

  1. 初始化加载模块,包括Provider等模块。

    terraform init

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

    image

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

    terraform validate

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

    image

  3. 创建执行计划。

    terraform plan

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

    image

  4. 运行模板。

    terraform apply

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

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

    image

    返回结果中的id为创建的Lindorm实例的ID。

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

    1. 登录Lindorm管理控制台

    2. 在页面左上角,选择实例所属的地域。

    3. 实例列表搜索实例ID。image