Terraform集成示例

更新时间:
复制 MD 格式

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

操作步骤

配置权限

使用 Terraform 管理DCDN资源前,请确认已满足以下条件:

  • 已在阿里云控制台开通DCDN服务。如未开通,请登录DCDN 控制台完成开通。未开通服务时,执行 Terraform 将返回 DcdnServiceNotFound 错误。

执行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 = ""
}
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.X.X"
    port     = "80"
    priority = "20"
    type     = "ipaddr"
    weight   = "10"
  }
}
重要

请将 domain_name 的值替换为已完成阿里云域名归属验证的真实域名。使用未验证域名执行 terraform apply 将返回 DomainOwnerVerifyFail 错误。

更多关于资源类型的配置信息,请参见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