Terraform 是什麼?
Terraform 是種免費的開源工具,由 HashiCorp 公司所創立,用以管理基礎設施,現在搖身成為最常用來部署以及管理雲端基礎設施的工具之一。
基礎架構程式碼 & 開源軟體
Terraform 允許您以聲明的方式設置雲端資源,同時在配置文件中描述目標基礎設施;Terraform 可以保持已部署的基礎設施之全部狀態 (State-Full),如果目標基礎設施的描述中發生特殊變化,那麼只有這個變化會被套用,如果沒有需要的話,伺服器不會被重新部署。
Terraform 得到了大量使用者或貢獻者社群的支持,也得到了許多雲端服務供應商的支持,這些供應商開發並提供雲端服務方案,讓大家能夠透過 Terraform 部署資源。
選用基礎架構程式碼工具管理伺服器之理由
過去幾年來,基礎架構程式碼 (IaC) 是使用公共供應商管理雲端基礎設施的準則。
- 基礎架構程式碼簡化了基於描述性文件的複雜基礎設施的部署,這些文件可以被整合成控制版本系統的工具 (Gitlab、Github...)。
- 基礎架構程式碼簡化部署與定期改變的自動化程序,現在可以很容易地在生產這些變化前先測試,從而確保架構如預期變化。
- 基礎架構程式碼用於部署虛擬專用伺服器 (VPS) 與裸機伺服器 (也稱作「專用伺服器」),也用於部署儲存空間與網路資源。
- 在基礎架構程式碼方面,有一個龐大的工具生態系統,最受歡迎的是:Terraform、Ansible、Packer、Chef 與 Puppet。
運用 Terraform 部署基礎設施的五大優勢
全狀態管理
Terraform 一大優勢是全狀態 (State-Full) 管理,其會保存所有基礎設施變更操作時的狀態訊息在一份狀態文件中;在更新的過程當中,無論是些微更新還是大幅更新,Terraform 只複製須要更新的部份,不修改配置沒有變化的資源或服務。
可預測性
Terraform 可提前模擬執行腳本,使用「terraform plan」指令確認這些變化對基礎設施的影響。
現成的供應商
Terraform 的另一大優勢是廣大的使用者社群與「Terraform 供應商」,這些供應商提供透過 Terraform 測試服務的工具。
多雲端
在多雲端 (Multi-Cloud) 越來越盛行的情況下 (讓多雲端供應商來調度並擁有冗餘的基礎設施),規範處理雲端資源的方式十分重要。
標準
Gandi 提供公開 OpenStack API 給 VPS 伺服器使用,由於 Terraform 的 OpenStack 供應商是可用的,因此您可以利用 Terraform 來部署 Gandi 的 VPS 伺服器。
運用 Terraform 建立 VPS 伺服器
訂閱
建立資源
只要您的 Gandi 雲平台帳號建立完成,您就可以建立資源;Terraform 使用 Openstack 公開 API,因此能確保 Openstack CLI/API 設置成功,請依照本指南來設置 Openstack CLI/API。
建立伺服器
最後,您所剩的步驟就是:按照本頁面的說明建立您第一台伺服器。