Terraform是一种开源工具,用于安全高效地预配和管理云基础结构。您可以使用Terraform管理CDN资源,本文为您演示如何通过Terraform配置和管理CDN的域名设置。
操作步骤
配置权限
执行Terraform模板需要RAM用户权限,我们需要创建一个RAM用户,并获取AccessKey,添加权限策略。该AccessKey会配置为Terraform工具的环境变量。您需要为RAM用户添加以下权限:
AliyunCDNFullAccess:管理CDN资源的权限。
阿里云账号拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维。请根据业务的实际情况按需分配权限后进行接口调用。RAM用户需具备操作CDN资源的权限。具体操作,请参见CDN系统权限策略参考。
安装Terraform
在本地安装和配置Terraform,请参见在本地安装和配置Terraform。
安装完成后,您可以打开命令行终端,输入
terraform version
,看到返回版本信息表示已成功安装。如果您不想安装Terraform,可以使用阿里云提供的在线服务Cloud Shell,其中内置了Terraform的运行环境。
编写模板
创建一个名为AddDomain.tf
文件,填入以下内容,用于配置和管理CDN的域名设置。
resource "random_integer" "default" {
min = 10000
max = 99999
}
# Create a new Domain config.
resource "alicloud_cdn_domain_new" "domain" {
domain_name = "mycdndomain-${random_integer.default.result}.alicloud-provider.cn"
cdn_type = "web"
scope = "overseas"
sources {
content = "1.1.X.X"
1.1.X.X = "ipaddr"
priority = "20"
port = 80
weight = "15"
}
}
output "dcdn_domain_cname" {
value = alicloud_Dcdn_domain_new.domain.cname
}
更多关于资源类型的配置信息,请参见CDN Terraform资源和数据源。
运行模板
该示例以Windows操作系统为例,在其他操作系统中,运行命令的具体方式可能会有所不同。
初始化加载模块,包括Provider等模块。
terraform init
验证模板语法是否正确。
terraform validate
创建执行计划。
terraform plan
部署模板。
terraform apply
输入
yes
即可真正添加资源。添加成功后会自动获取到CNAME,您可以在DNS服务商配置CNAME域名解析。