Hashicorp Terraform 是一款開源的 IaC(基礎設施即程式碼)工具,用於配置與部署雲端基礎設施。 它會在描述拓撲所需狀態的組態檔中制訂基礎結構。 Terraform 可以使用 Terraform 提供者來管理任何基礎設施,例如公有雲、私有雲和 SaaS 服務。
Azure 基礎結構的 Terraform 提供者
數個 Terraform 供應商支援管理 Azure 基礎設施:
- AzureRM:管理穩定的 Azure 資源與功能,如虛擬機、儲存帳號及網路介面。
- AzAPI:直接使用 Azure Resource Manager API 管理 Azure 資源與功能。 此提供者能與 Azure 最新功能保持一致,且不需提供者更新。 欲了解更多 AzAPI 提供者資訊,請參見 Terraform AzAPI 提供者。
- AzureAD:管理 Microsoft Entra 資源,如群組、使用者、服務主體及應用程式。
- AzureDevops:管理 Azure DevOps 資源,如代理程式、倉庫、專案、管線及查詢。
- AzureStack:管理 Azure Stack Hub 資源,如虛擬機、DNS、虛擬網路與儲存空間。
Using AzAPI vs AzureRM
要了解何時使用 AzAPI 與 AzureRM,請閱讀 與 HashiCorp 的聯合聲明。
Terraform 與 Azure 的優點
本節說明使用 Terraform 管理 Azure 基礎設施的好處。
常見的 IaC 工具
Terraform Azure 服務提供者允許您使用相同的宣告語法與工具來管理所有 Azure 基礎架構。 透過使用這些服務提供者,您可以:
- 配置核心平台功能,如管理群組、政策、使用者、群組及政策。 欲了解更多資訊,請參閱 Terraform 對 雲端採用架構 企業規模的實作。
- 配置 Azure DevOps 專案與管線,以自動化定期的基礎架構與應用程式部署。
- 部署應用程式所需的 Azure 資源。
自動化基礎結構管理
使用 Terraform 模板式設定檔語法,以可重複且可預測的方式配置 Azure 資源。 自動化基礎設施管理帶來以下好處:
- 減少部署與管理基礎設施時人為錯誤的可能性。
- 多次部署相同範本,建立相同的開發、測試與生產環境。
- 透過按需建立開發與測試環境,降低開發與測試環境的成本。
在應用基礎建設變更前,先了解它們
隨著資源拓撲變得越來越複雜,理解基礎建設變更的意義與影響可能變得困難。
Terraform CLI 讓您能在套用計畫前驗證並預覽基礎設施變更。 以安全方式預見基礎設施變更有多項好處:
- 團隊成員透過了解擬議變更及其影響,能更有效合作。
- 你可以在開發初期發現意外的變動。
下一步
根據你的環境,安裝並設定 Terraform:
Note
Azure 儲存體 帳戶轉換可能會引入受支援的頻外變更,導致 Terraform 規劃替換儲存體帳戶。 關於防止這些轉換期間意外重現的指引,請參閱「防止 Terraform 漂移」以取得有狀態的 Azure 資源。
設定 Terraform:如果您尚未這麼做,請使用下列其中一個選項來設定 Terraform: