雲命令列(Cloud Shell)中預裝了Terraform。Terraform是一種開源工具,用於安全高效地預配和管理雲基礎結構。您可以通過Terraform管理阿里雲資源。
啟動Cloud Shell
選擇一種方式啟動雲命令列:
在控制台中運行
單擊控制台首頁頭部導航的命令列按鈕,啟動雲命令列。
獨立運行
在瀏覽器中輸入https://shell.aliyun.com開啟雲命令列操作介面。
您可以根據實際需要開啟多個命令列視窗,但最多可同時開啟5個雲命令列視窗。
在啟動雲命令時,請注意:
第一次串連雲命令列時會為您建立虛擬機器,會消耗一些時間,最長不超過30秒。
- 開啟多個雲命令列視窗時,所有視窗都會串連到同一台虛擬機器。虛擬機器數量不會因您開啟新的命令列視窗而增加。
管理雲資源
在Cloud Shell中編寫Terraform模板。
您可以使用
vim
命令直接編寫模板。執行如下命令建立一個工程目錄及模板檔案:
mkdir terraform-project cd terraform-project touch main.tf
以下程式碼範例是一個建立ECS執行個體的Terraform模板,請將內容粘貼到
main.tf
中。Cloud Shell 可自動擷取登入帳號的身份認證資訊,無需額外設定環境變數。provider "alicloud" { region = "cn-beijing" } data "alicloud_zones" "default" { available_disk_category = "cloud_efficiency" available_resource_creation = "VSwitch" } resource "alicloud_vpc" "vpc" { vpc_name = "tf_test_foo" cidr_block = "172.16.0.0/12" } resource "alicloud_vswitch" "vsw" { vpc_id = alicloud_vpc.vpc.id cidr_block = "172.16.0.0/21" zone_id = data.alicloud_zones.default.zones.0.id } resource "alicloud_security_group" "default" { name = "default" vpc_id = alicloud_vpc.vpc.id } resource "alicloud_instance" "instance" { # cn-beijing availability_zone = data.alicloud_zones.default.zones.0.id security_groups = alicloud_security_group.default.*.id # series III instance_type = "ecs.n4.large" system_disk_category = "cloud_efficiency" image_id = "ubuntu_18_04_64_20G_alibase_20190624.vhd" instance_name = "test_foo" vswitch_id = alicloud_vswitch.vsw.id internet_max_bandwidth_out = 10 } resource "alicloud_security_group_rule" "allow_all_tcp" { type = "ingress" ip_protocol = "tcp" nic_type = "intranet" policy = "accept" port_range = "1/65535" priority = 1 security_group_id = alicloud_security_group.default.id cidr_ip = "0.0.0.0/0" }
執行
init
命令初始化Terraform。terraform init
執行
plan
命令預覽配置。terraform plan
執行
apply
命令建立ECS執行個體。terraform apply
切換 Terraform 版本
Cloudshell 中預設的 Terraform 版本為 0.12.31,如果需要更高的版本可以通過tfenv
來切換。
查看Cloud Shell中內建的Terraform版本。
tfenv list
切換到需要的Terraform版本。
tfenv use <terraform_version>