全部产品
Search
文档中心

边缘安全加速:使用Terraform配置站点开发模式

更新时间:Mar 18, 2026

使用Terraform可以快速为站点启用开发模式,便于调试和验证源站内容变更。

安装Terraform并配置权限

在本地安装和配置Terraform

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

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

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

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

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

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

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

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

重要

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

涉及的资源

配置站点开发模式

创建一个工作目录,并按照以下说明分别在工作目录中创建配置文件,并按照您的实际需求调整代码中的配置信息。

定义供应商及Terraform版本

首先需要创建一个名为 providers.tf 的配置文件,然后将以下代码复制到配置文件中,用于集中管理所有 Provider 配置和版本约束。

terraform {
  required_providers {
    alicloud = {
      source  = "aliyun/alicloud"
      version = "1.266.0"
      region = "ap-southeast-1"
    }
  }
}

定义资源

  1. 创建一个名为 main.tf 的配置文件,然后将以下代码复制到配置文件中,用于创建启用了开发模式的站点。

    # 1. 购买站点套餐
    resource "alicloud_esa_rate_plan_instance" "default" {
      type       = "NS"        # 站点接入类型:NS(域名服务器接入)或 CNAME
      auto_renew = true       # 是否自动续费
      period     = "1"         # 购买周期(单位:月)
      coverage   = "overseas"  # 加速区域,详细说明请参见本文"参数说明"章节
      auto_pay   = true       # 自动支付
      plan_name  = "basic"     # 套餐名称,详细说明请参见本文"参数说明"章节
      payment_type = "Subscription" #付费类型
    }
    
    # 2. 生成随机数(用于生成唯一的测试域名)
    resource "random_integer" "default" {
      min = 10000
      max = 99999
    }
    
    # 3. 创建站点并启用开发模式
    resource "alicloud_esa_site" "default" {
      site_name        = "bcd${random_integer.default.result}.com"  # 站点名称(域名),生产环境请替换为实际域名
      coverage         = "overseas"                                # 加速区域
      access_type      = "NS"                                      # 站点接入类型:NS 或 CNAME
      instance_id      = alicloud_esa_rate_plan_instance.default.id  # 套餐ID
      development_mode = "on"                                      # 启用开发模式,详细说明请参见本文"参数说明"章节
    }
  2. 进入配置文件所在目录,执行如下命令,初始化Terraform环境。

    terraform init

    image

  3. 执行如下命令,验证Terraform语法与配置。

    terraform validate

    返回信息如下图则表示验证通过。

    image

  4. 执行如下命令,预览执行结果。

    terraform plan
  5. 执行如下命令,执行Terraform脚本。

    terraform apply
  6. 依据提示输入yes确认执行即可。

验证结果

执行terraform show命令

您可以在工作目录中,使用以下命令查询Terraform已创建资源的详细信息:

terraform show

登录控制台查看

  1. 在ESA控制台选择站点管理,在站点列单击目标站点。

  2. 在左侧导航栏,选择缓存 > 配置

  3. 配置页面可以看到新创建的缓存配置详情。

(可选)清理资源

当您不再需要上述通过Terraform创建或管理的资源时,请运行terraform destroy命令以释放资源。

terraform destroy

相关参考

套餐类型说明

Terraform的 alicloud_esa_rate_plan_instance资源中,plan_name 字段的取值说明如下表所示。

参数值

套餐名称

说明

entranceplan_intl

Entrance

适用于测试和小规模业务场景,提供基础的加速和防护能力。

basicplan_intl

Pro

推荐配置,适用于中小型企业网站和应用。

vipplan_intl

Enterprise

适用于中大型企业,提供更高的性能和安全防护能力。

参数说明

Terraform的 alicloud_esa_site资源中,development_mode 字段的取值说明如下表所示。

参数值

功能说明

说明

on

启用开发模式

静态资源请求将绕过ESA节点的缓存组件,直接访问源站。适用于调试场景,便于对比源站和缓存后的访问效果。

off

禁用开发模式(默认)

静态资源请求正常通过边缘节点缓存处理,按照缓存策略返回内容。

使用场景

开发模式适用于以下场景:

  • 源站内容调试:当您需要确保客户端立即获取源站最新静态资源时,可以启用开发模式。

  • 效果对比测试:便于对比源站直接访问和通过ESA缓存访问的效果差异。

  • 快速验证变更:源站内容更新后,无需等待缓存过期或手动刷新缓存,即可立即验证变更效果。

警告

开发模式会导致所有静态资源请求直接回源,可能增加源站负载和响应时间。仅在开发调试阶段使用,生产环境请务必关闭。

常见问题

执行Terraform代码时出现"StatusCode400 Code: ConfExceedLimit"怎么办?

当您通过控制台配置过缓存相关的配置后,便会自动生成一条对应的配置规则,但由于Terraform的 alicloud_esa_cache_rule资源属于创建规则操作,因此无法直接更新已有的缓存配置。您可以先调用APIListCacheRules获取当前站点的缓存配置IDConfigId,然后调用APIDeleteCacheRule删除站点缓存配置,再应用Terraform代码即可。