Terraform参考

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

支持的资源列表

Resources

alicloud_esa_cache_reserve_instance:提供 ESA缓存预留实例资源。创建了一个缓存预留实例,开启自动续费,为云存储加速服务预分配高吞吐缓存资源,提升高频访问数据的响应性能。

alicloud_esa_cache_rule:提供 ESA 缓存规则资源。配置缓存规则边缘节点遵循源站缓存策略、浏览器禁用缓存、忽略查询字符串差异,并包含特定Cookie/Header缓存控制参数。

alicloud_esa_certificate:提供 ESA证书资源。自动申请并部署免费的Let's Encrypt SSL证书,实现HTTPS通信加密。

alicloud_esa_client_ca_certificate:提供 ESA 客户端CA证书资源。上传客户端CA根证书,用于双向TLS认证(mTLS)场景下验证客户端证书的合法性,确保仅允许受信任CA签发的客户端证书访问服务。

alicloud_esa_client_certificate:提供 ESA 客户端证书资源。创建RSA加密客户端证书,用于实现双向TLS认证(mTLS)场景下的客户端身份强验证。

alicloud_esa_compression_rule:提供 ESA 压缩规则资源。域名配置压缩规则,为后续按需开启特定压缩策略提供预置条件。

alicloud_esa_edge_container_app:提供 ESA Edge 容器应用程序资源。创建容器应用,将外部流量转发至容器内部,并配置L7层健康检查(HEAD方法检测/路径,每5秒一次,超时3秒,连续2次成功/5次失败触发状态变更),实现容器服务的自动化健康监控与故障隔离。

alicloud_esa_edge_container_app_record:提供 ESA Edge 容器应用程序记录资源。部署边缘容器应用,配置L7层健康检查(HEAD方法检测/路径),同时绑定域名实现流量调度,需确保容器3000端口服务可用且健康检查参数与业务匹配。

alicloud_esa_http_request_header_modification_rule:提供 ESA Http 请求标头修改规则资源。配置请求头修改规则,修改请求头的值,为后续流量精细化调试提供预置规则支持。

alicloud_esa_http_response_header_modification_rule:提供 ESA Http 响应报头修改规则资源。对域名流量启用响应头修改规则(增/删/改Header),新增exampleadd头、删除exampledel头、修改examplemodify头值,实现基于业务场景的HTTP响应头精细化管控。

alicloud_esa_https_application_configuration:提供 ESA Https 应用程序配置资源。域名的请求配置了包含HSTS最长有效期的HTTPS应用层参数,启用规则、HSTS强制、Alt-SVC等安全扩展功能。

alicloud_esa_https_basic_configuration:提供 ESA Https 基本配置资源。强制启用全局HTTPS加密策略。

alicloud_esa_image_transform:提供 ESA 图像转换资源。为域名配置图像格式转换规则。

alicloud_esa_kv:提供 ESA边缘键值存储(Key-Value Store)资源,用于在边缘节点上存储和管理轻量级的配置数据或静态内容,支持快速读取与低延迟访问。

alicloud_esa_kv_namespace:提供 ESA KV 命名空间资源。创建namespace 的键值(Key-Value)存储命名空间,用于隔离存储和管理安全策略、动态规则等配置数据(如API密钥、灰度参数),为安全加速提供可热更新的轻量级元数据管理能力。

alicloud_esa_list:提供 ESA 列表资源。查看ESA的站点列表。

alicloud_esa_network_optimization:提供 ESA 网络优化资源。为匹配域名的请求配置网络优化规则,支持WebSocket/gRPC/HTTP2回源协议,同时限制文件上传最大尺寸,实现针对特定业务流量的网络传输优化与安全管控。

alicloud_esa_origin_ca_certificate:提供 ESA源站CA证书资源。该资源用于将受信任的CA(证书颁发机构)证书 配置到阿里云边缘安全加速(ESA)服务中,以便在 ESA 边缘节点与后端源站建立 HTTPS 回源连接 时,对源站服务器证书进行身份验证,确保回源通信的安全性和可信性。

alicloud_esa_origin_client_certificate:提供 ESA源站客户端证书资源。该资源用于创建或上传一个客户端 TLS 证书(Client Certificate),并将其配置到阿里云边缘安全加速(ESA)服务中,以便在 ESA 边缘节点作为 HTTPS 客户端向后端源站发起回源请求时,向源站提供客户端身份认证,实现 双向 TLS 认证(mTLS, mutual TLS)中的客户端身份验证。

alicloud_esa_origin_pool:提供 ESA 源池资源。配置多源站混合池,包含一个阿里云OSS源站(跨账号密钥认证)和两个兼容S3协议的私有存储源站(AWS v2签名认证),实现跨国流量按比例分发至不同云存储服务,同时通过Host头重写和TLS SNI保障回源兼容性。

alicloud_esa_origin_protection:提供 ESA 源站保护配置资源。统一配置和管理后端源站的安全防护策略,通过隐藏源站真实 IP、强制流量经由 ESA 边缘节点转发、启用安全认证机制等方式,防止源站服务器直接暴露在公网,抵御 DDoS 攻击、CC 攻击、扫描探测等威胁,提升整体后端服务的可用性与安全性。

alicloud_esa_origin_rule:提供 ESA Origin Rule 资源。通过HTTP协议将流量转发至源站的端口,并启用Host头传递、SNI扩展及分块传输(Range)支持。

alicloud_esa_page:提供 ESA 页面资源。创建了一个自定义错误页面资源,Base64编码的HTML模板(解码后为标准的403禁止访问页面,含中文语言声明)。

alicloud_esa_rate_plan_instance:提供 ESA Rate Plan 实例资源。通过包年包月方式创建NS类型资费实例,启用自动续费和自动支付,为后续部署全球加速服务(如站点、路由规则等)提供基础资源配额和计费框架。

alicloud_esa_record:提供 ESA 记录资源。添加记录,设置优先级、权重、TTL,实现基于DNS协议的服务发现与负载均衡。

alicloud_esa_redirect_rule:提供 ESA 重定向规则资源。配置301永久重定向规则,自动跳转至静态目标地址,同时保留原始请求的查询参数。

alicloud_esa_rewrite_url_rule:提供 ESA 重写 URL 规则资源。启用URL重写规则,将路径静态重写且固定查询参数,实现精准的请求路径控制与参数规范化。

alicloud_esa_routine:提供ESA边缘函数(Edge Routine)资源。运行于全球边缘节点的轻量级函数化代码(Edge Function),允许用户通过自定义 JavaScript 或类似语法的脚本,在靠近终端用户的网络边缘动态处理 HTTP(S) 请求和响应,实现低延迟、高性能的个性化逻辑控制。

alicloud_esa_routine_route:提供ESA边缘函数路由资源。该资源用于将已创建的边缘函数(由 alicloud_esa_routine 定义)与指定的域名、路径或主机名进行绑定,定义在何种请求条件下触发执行该边缘函数,从而实现 基于路由规则的边缘逻辑调度。

alicloud_esa_scheduled_preload_execution:提供ESA定时预热执行资源。用于触发已配置的预热任务在指定时间自动执行,提前将指定URL内容主动加载至边缘节点缓存,提升用户访问响应速度,适用于周期性或高峰前的内容预加载场景。

alicloud_esa_scheduled_preload_job:提供ESA定时预热任务资源。用于创建和管理周期性缓存预热任务,通过配置执行频率、目标URL列表及所属域名,自动触发内容预加载至边缘节点,提升高频访问资源的响应效率,优化用户访问体验。

alicloud_esa_site:提供 ESA 站点资源。通过订阅购买基础版的NS类型全球加速实例,创建站点,将站点与资源组绑定,实现全球网络加速能力的自动化部署。

alicloud_esa_site_delivery_task:提供 ESA 站点交付任务资源。配置HTTP日志投递任务,通过gzip压缩将包含12个关键监控字段的日志数据实时传输至目标地址,设置单次最大批量、重试机制及超时控制,保障日志传输的可靠性与时效性。

alicloud_esa_site_origin_client_certificate:提供ESA站点级源站客户端证书资源。用于为特定加速站点配置客户端TLS证书,使ESA边缘节点在回源时可基于mTLS向源站提供身份认证,确保仅受信边缘节点可访问启用客户端证书验证的源站服务,增强回源通信安全性。

alicloud_esa_version:提供ESA站点版本(Site Version)资源。通过 esa_version,用户可以为加速站点(如域名站点)创建、保存和回滚不同版本的配置,包括缓存规则、证书、路由策略、边缘函数等设置,实现配置变更的灰度发布、版本对比与快速回滚,保障站点更新过程中的稳定性与可维护性。

alicloud_esa_video_processing:提供ESA视频处理资源。支持在边缘节点对视频内容进行实时转码、截图、水印、格式转换、码率自适应(如生成 HLS/DASH 分片)等操作。通过该资源,用户可定义视频处理模板或任务规则,结合加速域名自动触发视频处理流程,在靠近用户的位置完成轻量级媒体处理,降低源站压力,提升视频加载速度与播放体验。

alicloud_esa_waiting_room:提供 ESA 等候室资源。配置等待室,包含基于FIFO队列的流量管控规则(活跃用户上限、会话时长、多子域路径配置),为突发流量场景提供预置的灰度管控能力。

alicloud_esa_waiting_room_event:提供 ESA 等候室事件资源。配置等待室及其事件规则,用于在需要时通过队列管理机制FIFO控制突发流量,防止服务端过载。

alicloud_esa_waiting_room_rule:提供 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做简单、快速的操作,例如调试。更多使用限制,请参见使用限制

参考文档

使用TerraformESA站点添加DNS记录