本文由簡體中文內容自動轉碼而成。阿里雲不保證此自動轉碼的準確性、完整性及時效性。本文内容請以簡體中文版本為準。

Terraform參考

更新時間:2025-03-14 19: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

  • 本頁導讀 (M)
  • 支援的資源清單
  • 安裝Terraform並配置許可權
  • Terraform添加並配置ESA網站
  • 步驟一:建立指令碼
  • 步驟二:初始化Terraform運行環境。
  • 步驟三:執行計畫
  • 驗證結果
文檔反饋