Azure 上 Terraform 概述 - 什麼是 Terraform?

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 基礎架構。 透過使用這些服務提供者,您可以:

  1. 配置核心平台功能,如管理群組、政策、使用者、群組及政策。 欲了解更多資訊,請參閱 Terraform 對 雲端採用架構 企業規模的實作
  2. 配置 Azure DevOps 專案與管線,以自動化定期的基礎架構與應用程式部署。
  3. 部署應用程式所需的 Azure 資源。

自動化基礎結構管理

使用 Terraform 模板式設定檔語法,以可重複且可預測的方式配置 Azure 資源。 自動化基礎設施管理帶來以下好處:

  • 減少部署與管理基礎設施時人為錯誤的可能性。
  • 多次部署相同範本,建立相同的開發、測試與生產環境。
  • 透過按需建立開發與測試環境,降低開發與測試環境的成本。

在應用基礎建設變更前,先了解它們

隨著資源拓撲變得越來越複雜,理解基礎建設變更的意義與影響可能變得困難。

Terraform CLI 讓您能在套用計畫前驗證並預覽基礎設施變更。 以安全方式預見基礎設施變更有多項好處:

  • 團隊成員透過了解擬議變更及其影響,能更有效合作。
  • 你可以在開發初期發現意外的變動。

下一步

根據你的環境,安裝並設定 Terraform:

Note

Azure 儲存體 帳戶轉換可能會引入受支援的頻外變更,導致 Terraform 規劃替換儲存體帳戶。 關於防止這些轉換期間意外重現的指引,請參閱「防止 Terraform 漂移」以取得有狀態的 Azure 資源