Cloud de Confiance 上的 Terraform 總覽

Hashicorp Terraform 是一種基礎架構即程式碼 (IaC) 工具,可讓您佈建及管理雲端基礎架構。Terraform 提供稱為「供應商」的外掛程式,可與雲端服務供應商和其他 API 互動。您可以使用 Google Cloud 適用的 Terraform 供應商,佈建及管理 Cloud de Confiance 基礎架構。

使用 Terraform 的好處

本節將說明使用 Terraform 佈建及管理 Cloud de Confiance 基礎架構的優點:

  • Terraform 是最常用的工具,可佈建及自動化Cloud de Confiance 基礎架構。您可以使用 Google Cloud 提供者,透過相同的宣告式語法和工具,設定及管理所有 Cloud de Confiance 資源。
  • Terraform 可讓您指定基礎架構的偏好最終狀態。然後多次部署相同設定,建立可重現的開發、測試和實際工作環境。
  • Terraform 可讓您產生執行計畫,顯示套用設定時 Terraform 會執行的作業。這樣就能避免透過 Terraform 修改基礎架構時出現任何意外狀況。
  • Terraform 可讓您以模組的形式封裝及重複使用常見程式碼。模組提供建立雲端資源的標準介面。可讀性更高的程式碼塊,讓團隊能有條不紊地管理基礎架構,進而簡化專案。
  • Terraform 會記錄基礎架構的目前狀態,並讓您有效管理狀態。Terraform 狀態檔案會追蹤部署作業中的所有資源。

使用 Terraform

Terraform 採用宣告式語法,並以設定為導向,可用來編寫要佈建的基礎架構。使用這個語法,您可以在 Terraform 設定檔中,為基礎架構定義偏好的最終狀態。然後使用 Terraform CLI,根據設定檔佈建基礎架構。

以下步驟說明 Terraform 的運作方式:

  1. 您可以在 Terraform 設定檔中,說明要佈建的基礎架構。 Cloud de Confiance 您不需要編寫程式碼,說明如何佈建這項設定。
  2. 您會執行 terraform plan 指令,評估設定並產生執行計畫。您可以查看方案並視需要變更。
  3. 接著,您會執行 terraform apply 指令,該指令會執行下列動作:
    • 根據執行計畫,在背景呼叫對應的 Google Cloud API,佈建基礎架構。
    • 這會建立 Terraform 狀態檔案,也就是以 JSON 格式將設定檔中的資源對應至實際基礎架構中的資源。Terraform 會使用這個檔案瞭解基礎架構的最新狀態,並決定何時要建立、更新及刪除資源。
  4. 隨後執行 terraform apply 時,Terraform 會使用狀態檔案中的對應,比較現有基礎架構與程式碼,並視需要進行更新:
    • 如果設定檔中定義的資源物件不存在於狀態檔案,Terraform 就會建立該物件。
    • 如果狀態檔中存在資源物件,但設定與設定檔不同,Terraform 會更新資源,使其與設定檔相符。
    • 如果狀態檔中的資源物件與設定檔相符,Terraform 就不會變更資源。

Google Cloud 供應商

您可以透過下列兩個供應商佈建及管理基礎架構: Cloud de Confiance

  • google:使用這個供應商佈建及管理 Google Cloud API。
  • google-beta:使用這個供應商佈建及管理 Google Cloud Beta 版 API。

如需使用這些供應商的操作說明,請參閱 Google Cloud 供應商設定參考資料

googlegoogle-beta 提供者是使用名為「Magic Modules」的工具開發而成。貢獻者可透過 Magic Modules 對單一程式碼集進行變更,並同時開發 googlegoogle-beta 提供者。

如要使用 Magic Modules 貢獻 Google Cloud 提供者,請按照 Magic Modules 貢獻指南中的操作說明進行。

後續步驟