Terraform参考

更新时间:2025-03-14 02:50:14

Terraform是一个开源的基础设施即代码工具,允许开发人员通过声明式的语言来定义和管理基础设施的配置,提供了一种简洁的方式来添加、修改或删除ESA资源,减少手动操作的繁琐和错误,提高基础设施的可管理性和可维护性。您可以参考本文学习如何安装与配置Terraform,以及如何添加并配置ESA站点。

支持的资源列表

安装Terraform并配置权限

在本地安装和配置Terraform
使用在线服务(免安装和权限配置)

您可以参考安装和配置Terraform,在本地使用Terraform。

  • 由于阿里云账号(主账号)拥有资源的所有权限,其AccessKey一旦泄露风险巨大,所以建议您使用满足最小化权限需求的RAM用户的AccessKey。具体操作方式请参见创建AccessKey

  • 创建环境变量,用于存放身份认证信息。

    AccessKey管理页面上创建和查看您的AccessKey。

    若无对应环境变量,在执行terraform模板时无法确认身份信息,将会导致调用失败。

如果您不想安装Terraform,可以直接直接使用在线服务Cloud Shell

阿里云Cloud Shell是一款帮助您运维的免费产品,预装了Terraform的组件,并配置好身份凭证(Credentials)。因此您可直接在Cloud Shell中运行Terraform的命令。更多信息,请参见Cloud Shell

重要

通过Cloud Shell使用Terraform时,由于其销毁特性会导致数据丢失,因此建议您使用Cloud Shell做简单、快速的操作,例如调试。更多使用限制,请参见使用限制

Terraform添加并配置ESA站点

步骤一:创建脚本

创建一个工作目录,并在该工作目录中创建名为main.tf的配置文件,在main.tf中增加以下代码:

variable "name" {
# 定义一个变量,名称为"name" 
default = "example.com" }
provider "alicloud" { 
# 指定使用的云服务提供商为阿里云,区域设为"cn-hangzhou"(杭州)
region = "cn-hangzhou"
}
# 获取资源管理器中的资源组信息,默认名称为"default"
data "alicloud_resource_manager_resource_groups" "default" { 
}
resource "alicloud_esa_rate_plan_instance" "defaultIEoDfU" { 
# 设置计费计划的类型为"NS"
type = "NS" 
# 启用自动续订
auto_renew = true 
# 设置订阅周期为1
period = "1" 
# 设置支付类型为订阅
payment_type = "Subscription" 
# 设置覆盖范围为海外
coverage = "overseas" 
# 启用自动支付
auto_pay = true 
# 设置计划名称为"basic"
plan_name = "basic" 
}
# 创建一个随机整数资源,名称为"default"
resource "random_integer" "default" { 
# 设置最小值为10000
min = 10000
# 设置最大值为99999
max = 99999
}
# 创建一个ESA站点资源,名称为"default"
resource "alicloud_esa_site" "default" {
# 站点名称
site_name = "${name}" # 
# 设置覆盖范围为海外
coverage = "overseas"
# 设置访问类型为"NS"
access_type = "NS"
# 将实例ID关联到之前创建的计费计划实例
instance_id = alicloud_esa_rate_plan_instance.defaultIEoDfU.id
# 将资源组ID关联到之前获取的资源组数据的第一个ID
resource_group_id = data.alicloud_resource_manager_resource_groups.default.ids[0]
}

步骤二:初始化Terraform运行环境。

terraform init

返回信息如下,Terraform初始化成功。

Initializing the backend...
Initializing provider plugins...
...
Terraform has been successfully initialized!
...

步骤三:执行计划

terraform apply

在执行过程中,根据提示输入yes并按下Enter键,等待命令执行完成,若出现以下信息,则表示添加加速域名成功。

You can apply this plan to save these new output values to the Terraform state, without changing any real infrastructure.

Do you want to perform these actions?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value: yes


Apply complete! Resources: 2 added, 0 changed, 0 destroyed.

执行完成提示如下。

Apply complete! Resources: 3 added, 0 changed, 0 destroyed.

验证结果

通过命令行指令验证
通过控制台验证

您可以使用以下命令查询Terraform已创建的资源详细信息:

terraform show

image

  1. 登录ESA控制台

  2. 在左侧导航栏,单击站点管理

image

  • 本页导读
  • 支持的资源列表
  • 安装Terraform并配置权限
  • Terraform添加并配置ESA站点
  • 步骤一:创建脚本
  • 步骤二:初始化Terraform运行环境。
  • 步骤三:执行计划
  • 验证结果
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等