Terraform集成示例

Terraform是一种开源工具,用于安全高效地预配和管理云基础结构。您可以使用Terraform管理DCDN资源,本文为您演示如何通过Terraform提高网站性能,加快内容交付。

操作步骤

配置权限

执行Terraform模板需要RAM用户权限,我们需要创建一个RAM用户,并获取AccessKey,添加权限策略。该AccessKey会配置为Terraform工具的环境变量。您需要为RAM用户添加以下权限:

  • AliyunDCDNFullAccess:管理DCDN资源的权限。

阿里云账号拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维。请根据业务的实际情况按需分配权限后进行接口调用。RAM用户需具备操作DCDN资源的权限。具体操作,请参见全站加速系统权限策略参考

安装Terraform

  • 在本地安装和配置Terraform,请参见在本地安装和配置Terraform

    安装完成后,您可以打开命令行终端,输入terraform version,看到返回版本信息表示已成功安装。

  • 如果您不想安装Terraform,可以使用阿里云提供的在线服务Cloud Shell,其中内置了Terraform的运行环境。

编写模板

创建一个名为AddDomain.tf文件,填入以下内容,用于配置和管理域名设置。

variable "domain_name" {
  default = "tf-example.com"
}
resource "random_integer" "default" {
  min = 10000
  max = 99999
}

resource "alicloud_dcdn_domain" "domain" {
  domain_name = "${var.domain_name}-${random_integer.default.result}"
  scope       = "overseas"
  sources {
    content  = "1.1.1.1"
    port     = "80"
    priority = "20"
    type     = "ipaddr"
    weight   = "10"
  }
}

更多关于资源类型的配置信息,请参见DCDN Terraform资源和数据源

运行模板

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

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

    terraform init

    image

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

    terraform validate

    image

  3. 创建执行计划。

    terraform plan

    image

  4. 部署模板。

    terraform apply

    image

  5. 输入yes即可真正变更资源。添加成功后会自动获取到CNAME,您可以在DNS服务商配置CNAME域名解析。

    image