在本地安裝和配置Terraform
在使用Terraform配置文件進(jìn)行云基礎(chǔ)設(shè)施的定義、預(yù)覽和部署之前,您需要安裝并配置Terraform。
安裝Terraform
本文以在Linux或Windows系統(tǒng)中使用程序包安裝Terraform為例,更多安裝方式,請(qǐng)參見(jiàn)Terraform 安裝。
進(jìn)入Terraform官網(wǎng)下載適用于您的操作系統(tǒng)的程序包。
配置Terraform運(yùn)行環(huán)境。
Linux
執(zhí)行以下命令將程序包解壓到/usr/local/bin。
# 將/terraform_1.9.5_linux_amd64.zip替換為程序包所在路徑 sudo unzip /terraform_1.9.5_linux_amd64.zip -d /usr/local/bin
Windows
程序包解壓之后,例如解壓后的目錄為D:\tool\terraform。
在桌面右鍵單擊此電腦,選擇屬性 -> 高級(jí)系統(tǒng)設(shè)置 -> 環(huán)境變量 -> 系統(tǒng)變量/用戶(hù)變量。
在系統(tǒng)變量/用戶(hù)變量中單擊Path,選擇編輯 -> 新建,輸入Terraform的解壓目錄(如D:\tool\terraform),單擊確定完成配置。
運(yùn)行
terraform
驗(yàn)證路徑配置。terraform
命令運(yùn)行后將顯示可用的Terraform選項(xiàng)的列表,如下所示,表示安裝完成。
配置Terraform身份認(rèn)證
Terraform身份認(rèn)證是指在通過(guò)Terraform操作阿里云基礎(chǔ)設(shè)施之前,對(duì)阿里云Terraform Provider進(jìn)行身份驗(yàn)證。只有在身份認(rèn)證成功后,才能與阿里云API進(jìn)行通信,并創(chuàng)建和管理阿里云的基礎(chǔ)設(shè)施資源。阿里云Terraform Provider提供多種身份認(rèn)證方式,有關(guān)更多身份認(rèn)證信息,請(qǐng)參見(jiàn)相關(guān)文檔Terraform 身份認(rèn)證。
本文以在環(huán)境變量中使用RAM用戶(hù)AccessKey配置身份認(rèn)證為例:
由于阿里云賬號(hào)(主賬號(hào))擁有資源的所有權(quán)限,其AccessKey一旦泄露風(fēng)險(xiǎn)巨大,所以建議您使用滿(mǎn)足最小化權(quán)限需求的RAM用戶(hù)的AccessKey。具體操作方式請(qǐng)參見(jiàn)創(chuàng)建AccessKey。
根據(jù)業(yè)務(wù)需求為RAM用戶(hù)授予最小化權(quán)限,具體操作請(qǐng)參見(jiàn)創(chuàng)建自定義權(quán)限策略。
創(chuàng)建環(huán)境變量,存放身份認(rèn)證信息。
Linux
重要使用export命令配置的臨時(shí)環(huán)境變量?jī)H當(dāng)前會(huì)話(huà)有效,當(dāng)會(huì)話(huà)退出之后所設(shè)置的環(huán)境變量將會(huì)丟失。若需長(zhǎng)期保留環(huán)境變量,可將export命令配置到對(duì)應(yīng)操作系統(tǒng)的啟動(dòng)配置文件中。
# AccessKey Id export ALICLOUD_ACCESS_KEY="LTAIUrZCw3********" # AccessKey Secret export ALICLOUD_SECRET_KEY="zfwwWAMWIAiooj14GQ2*************" # 資源將要部署的地域 export ALICLOUD_REGION="cn-beijing"
Windows
在桌面右鍵單擊此電腦,選擇屬性 -> 高級(jí)系統(tǒng)設(shè)置 -> 環(huán)境變量 -> 系統(tǒng)變量/用戶(hù)變量。
在系統(tǒng)變量/用戶(hù)變量中,單擊新建,創(chuàng)建以下環(huán)境變量。
變量名
變量描述
變量值
ALICLOUD_ACCESS_KEY
AccessKey Id
示例:LTAIUrZCw3********
ALICLOUD_SECRET_KEY
AccessKey Secret
示例:zfwwWAMWIAiooj14GQ2*************
ALICLOUD_REGION
資源將要部署的地域
示例:cn-beijing
配置Terraform Init加速方案(可選)
編寫(xiě)完Terraform配置文件后,在配置文件所在的目錄中執(zhí)行terraform init
,Terraform將根據(jù)配置文件中指定的Provider、Provisioner,或與Provider版本相關(guān)的資源或數(shù)據(jù)源,自動(dòng)加載最新的或指定的Provider版本。
當(dāng)您遇到因網(wǎng)絡(luò)延遲等因素導(dǎo)致的Terraform init超時(shí),從而無(wú)法正常下載Provider的情況時(shí),可以通過(guò)配置阿里云鏡像站來(lái)解決。阿里云Provider提供了兩個(gè)下載源:source = hashicorp/alicloud和 source = aliyun/alicloud。自Terraform CLI 0.13.2版本起,已提供設(shè)置網(wǎng)絡(luò)鏡像的功能,具體配置方式請(qǐng)參見(jiàn)Terraform Init 加速方案配置。