Terraform集成示例

本文为您介绍RAM用户如何使用Terraform调用云数据库 HBase 版(ApsaraDB for Hbase)的OpenAPI创建HBase集群。

前提条件

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

    说明
    • 为了便于演示,本示例使用AliyunHBaseFullAccess权限策略,在实际项目中,请根据业务的实际情况按需分配权限后进行接口调用。云数据库 HBase 版(ApsaraDB for Hbase)的权限策略,请参见自定义RAM授权策略

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

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

操作步骤

编写模板

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

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

locals {
  region  = "cn-shenzhen"
 zone_id = "cn-shenzhen-e"
}


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_hbase_instance" "default" {
  name        = var.name
  vswitch_id             = alicloud_vswitch.vswitch.id
  vpc_id                 = alicloud_vpc.vpc.id
  engine                 = "hbaseue"
  engine_version         = "2.0"
  master_instance_type   = "hbase.sn2.2xlarge"
  core_instance_type     = "hbase.sn2.2xlarge"
  core_instance_quantity = "2"
  core_disk_type         = "cloud_ssd"
  core_disk_size         = "400"
  pay_type               = "PostPaid"
  cold_storage_size      = "0"
  deletion_protection    = "false"
}

运行模板

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

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

    terraform init

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

    image

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

    terraform validate

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

    image

  3. 创建执行计划。

    terraform plan

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

    image

  4. 运行模板。

    terraform apply

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

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

    image

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

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

    1. 登录HBase管理控制台
    2. 在顶部菜单栏的左上角,选择实例所属的地域。
    3. 集群列表搜索实例ID。image