Terraform集成示例
Terraform是一款開(kāi)源工具,用于安全高效地預(yù)覽、配置和管理云基礎(chǔ)結(jié)構(gòu)和資源。它使用聲明式的語(yǔ)言,通過(guò)描述期望的狀態(tài),而不是編寫(xiě)詳細(xì)的步驟,使得代碼更易于理解和維護(hù)。本文為您演示如何通過(guò)Terraform創(chuàng)建一個(gè)輕量應(yīng)用服務(wù)器的實(shí)例。
支持資源列表
目前支持Terraform編排和使用輕量應(yīng)用服務(wù)器的部分資源和數(shù)據(jù)源清單,請(qǐng)參見(jiàn)輕量應(yīng)用服務(wù)器Terraform資源和數(shù)據(jù)源。
Resource:資源,指新創(chuàng)建的資源,用于定義基礎(chǔ)設(shè)施組件,例如一個(gè)輕量應(yīng)用服務(wù)器實(shí)例、一個(gè)虛擬機(jī)、一個(gè)網(wǎng)絡(luò)安全組等。
Data Source:數(shù)據(jù)源,用于查詢和獲取已有的基礎(chǔ)設(shè)施組件的信息,在Terraform配置中使用這些信息來(lái)引用或配置其他資源。
Resource
alicloud_simple_application_server_instance:輕量應(yīng)用服務(wù)器實(shí)例
alicloud_simple_application_server_custom_image:輕量應(yīng)用服務(wù)器自定義鏡像
alicloud_simple_application_server_firewall_rule:輕量應(yīng)用服務(wù)器防火墻規(guī)則
alicloud_simple_application_server_snapshot:輕量應(yīng)用服務(wù)器對(duì)應(yīng)的磁盤(pán)快照
Data Source
操作步驟
阿里云主賬號(hào)擁有所有產(chǎn)品的訪問(wèn)權(quán)限,風(fēng)險(xiǎn)很高。強(qiáng)烈建議您創(chuàng)建一個(gè)RAM用戶并授予RAM用戶管理輕量應(yīng)用服務(wù)器資源的權(quán)限AliyunSWASFullAccess
。更多信息,請(qǐng)參見(jiàn)輕量應(yīng)用服務(wù)器系統(tǒng)權(quán)限策略參考。
步驟一:安裝Terraform并配置權(quán)限
在本地安裝和配置Terraform
在本地使用Terraform,需要安裝并預(yù)配置Terraform。具體操作,請(qǐng)參見(jiàn)在本地安裝和配置Terraform。
使用在線服務(wù)(免安裝和權(quán)限配置)
如果您不想安裝Terraform,直接使用在線服務(wù)Cloud Shell。
阿里云Cloud Shell是一款幫助您運(yùn)維的免費(fèi)產(chǎn)品,預(yù)裝了Terraform的組件,并配置好身份憑證(credentials)。因此您可直接在Cloud Shell中運(yùn)行Terraform的命令。更多信息,請(qǐng)參見(jiàn)在Cloud Shell中使用Terraform。
步驟二:編寫(xiě)模板
創(chuàng)建一個(gè)名為
main.tf
文件。cat > main.tf << EOF your code here more code even more code EOF
填入以下內(nèi)容,用于創(chuàng)建一個(gè)輕量應(yīng)用服務(wù)器實(shí)例。
provider "alicloud" { region = "cn-hangzhou" } variable "name" { default = "tf_example" } data "alicloud_simple_application_server_images" "default" { platform = "Linux" } data "alicloud_simple_application_server_plans" "default" { platform = "Linux" } resource "alicloud_simple_application_server_instance" "default" { payment_type = "Subscription" plan_id = data.alicloud_simple_application_server_plans.default.plans.0.id instance_name = var.name image_id = data.alicloud_simple_application_server_images.default.images.0.id period = 1 data_disk_size = 100 }
更多關(guān)于alicloud_simple_application_server_instance
資源的模板信息,請(qǐng)參見(jiàn)alicloud_simple_application_server_instance。
步驟三:運(yùn)行模板
該示例以Windows操作為例,在其他操作系統(tǒng)中,運(yùn)行命令的具體方式可能會(huì)有所不同。
執(zhí)行
terraform init
命令初始化配置。執(zhí)行
terraform validate
命令驗(yàn)證模板語(yǔ)法是否正確。執(zhí)行
terraform plan
命令預(yù)覽配置。執(zhí)行
terraform apply
創(chuàng)建輕量應(yīng)用服務(wù)器實(shí)例,如果執(zhí)行結(jié)果返回Apply complete! ,則證明資源創(chuàng)建成功。本案例部署時(shí)的返回日志。
輸入yes即可真正變更資源。
創(chuàng)建完成后,您可以通過(guò)OpenAPI、SDK或者在輕量應(yīng)用服務(wù)器控制臺(tái),查看所創(chuàng)建的輕量應(yīng)用服務(wù)器實(shí)例。
步驟四:(可選)釋放實(shí)例
如果您不再需要這臺(tái)實(shí)例,您無(wú)法通過(guò)命令terraform destroy
釋放當(dāng)前模板創(chuàng)建的資源,只能通過(guò)輕量應(yīng)用服務(wù)器控制臺(tái)進(jìn)行釋放。
相關(guān)文檔
如果您想了解更多關(guān)于Terraform的功能信息,請(qǐng)參見(jiàn)什么是Terraform。
更多關(guān)于Terraform的常用命令,請(qǐng)參見(jiàn):Terraform常用命令。