使用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做簡單、快速的操作,例如調試。更多使用限制,請參見使用限制。
涉及的資源
建立網站資源:alicloud_esa_site
產生隨機數:random_integer(用於產生測試網域名稱)
配置網站開發模式
建立一個工作目錄,並按照以下說明分別在工作目錄中建立設定檔,並按照您的實際需求調整代碼中的配置資訊。
定義供應商及Terraform版本
首先需要建立一個名為 providers.tf 的設定檔,然後將以下代碼複製到設定檔中,用於集中管理所有 Provider 配置和版本約束。
terraform {
required_providers {
alicloud = {
source = "aliyun/alicloud"
version = "1.266.0"
region = "ap-southeast-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" # 啟用開發模式,詳細說明請參見本文"參數說明"章節 }進入設定檔所在目錄,執行如下命令,初始化Terraform環境。
terraform init
執行如下命令,驗證Terraform文法與配置。
terraform validate返回資訊如下圖則表示驗證通過。

執行如下命令,預覽執行結果。
terraform plan執行如下命令,執行Terraform指令碼。
terraform apply依據提示輸入
yes確認執行即可。
驗證結果
執行terraform show命令
您可以在工作目錄中,使用以下命令查詢Terraform已建立資源的詳細資料:
terraform show登入控制台查看
在ESA控制台選擇網站管理,在網站列單擊目標網站。
在左側導覽列,選擇。
在配置頁面可以看到新建立的緩衝配置詳情。
(可選)清理資源
當您不再需要上述通過Terraform建立或管理的資源時,請運行terraform destroy命令以釋放資源。
terraform destroy相關參考
套餐類型說明
Terraform的 alicloud_esa_rate_plan_instance資源中,plan_name 欄位的取值說明如下表所示。
參數值 | 套餐名稱 | 說明 |
| Entrance | 適用於測試和小規模業務情境,提供基礎的加速和防護能力。 |
| Pro | 推薦配置,適用於中小型企業網站和應用。 |
| Enterprise | 適用於中大型企業,提供更高的效能和安全防護能力。 |
參數說明
Terraform的 alicloud_esa_site資源中,development_mode 欄位的取值說明如下表所示。
參數值 | 功能說明 | 說明 |
| 啟用開發模式 | 靜態資源請求將繞過ESA節點的緩衝組件,直接存取來源站點。適用於調試情境,便於對比來源站點和緩衝後的訪問效果。 |
| 禁用開發模式(預設) | 靜態資源請求正常通過邊緣節點緩衝處理,按照緩衝策略返回內容。 |
使用情境
開發模式適用於以下情境:
來源站點內容調試:當您需要確保用戶端立即擷取來源站點最新靜態資源時,可以啟用開發模式。
效果對比測試:便於對比來源站點直接存取和通過ESA緩衝訪問的效果差異。
快速驗證變更:來源站點內容更新後,無需等待緩衝到期或手動重新整理緩衝,即可立即驗證變更效果。
開發模式會導致所有靜態資源請求直接回源,可能增加來源站點負載和回應時間。僅在開發調試階段使用,生產環境請務必關閉。