Terraform 和 Infrastructure Manager

如要使用 Infrastructure Manager (Infra Manager),您應熟悉 Terraform。如要進一步瞭解 Terraform,請先參閱「什麼是 Terraform?」一文。

Infra Manager 會部署 Terraform 設定中定義的基礎架構資源和設定。這些設定可由多個檔案和目錄組成,但其進入點必須是 Terraform 根模組。

Infra Manager 使用「藍圖」一詞來指稱 Terraform 設定。

如要進一步瞭解如何搭配使用 Terraform 和 Google Cloud,請參閱「Terraform on Google Cloud」。

適用於 Google Cloud的 Terraform 模組

如要取得佈建資源的模組組合,請參閱 Google Cloud 適用的 Terraform 藍圖和模組。 Google Cloud

您也可以為 Google Cloud建立自己的 Terraform 模組。詳情請參閱「建立模組」。

支援的 Terraform 版本

Infra Manager 支援下列 Terraform 版本:

Terraform 版本 實施日期 淘汰日期 終止支援日期 自動遷移至版本
1.2.3 2023 年 8 月 21 日 2026/1/8 2026 年 2 月 8 日 1.5.7
1.3.10 2024 年 3 月 14 日 待定 待定 待定
1.4.7 2024 年 3 月 14 日 待定 待定 待定
1.5.7 2024 年 3 月 14 日 待定 待定 待定

您可以使用 --tf-version-constraint 標記,指定 Infra Manager 用於建立部署作業的 Terraform 版本。

使用 Infrastructure Manager 部署 Terraform 設定前,請確認該設定符合下列限制:

如未指定 Terraform 版本,系統預設會使用最新支援的版本。

更新部署作業時,您可以升級至較新的 Terraform 版本, 但無法降級至較舊的支援版本。如要瞭解 Terraform 版本淘汰資訊,請參閱 Terraform 版本管理政策說明文件。

如要查看用於建立特定部署作業或修訂版本的 Terraform 版本,請參閱「查看部署作業詳細資料」和「查看修訂版本詳細資料」。

Terraform 設定的限制

如要使用 Infrastructure Manager 部署 Terraform 設定,該設定必須符合下列限制:

Terraform 設定值和機密資料

請勿在 Terraform 設定值中加入個人識別或私密資訊。

Google Cloud 供應商的文件指出可能包含機密資訊的設定值。

舉例來說,資源 google_storage_bucket_object 可讓您使用 content 引數建立 Cloud Storage 物件。這個引數在 Google Cloud 供應商說明文件的google_storage_bucket_object頁面上標示為機密。

您可以在建立 Terraform 設定時,或是在使用現有 Terraform 設定前進行檢查時,參考這些標籤。

請參閱《Google Cloud 隱私權聲明》,瞭解 Google Cloud 如何處理在提供及管理 Cloud 服務期間收集或產生的個人資訊。

使用 Terraform 供應商 Google Cloud

您也可以選擇使用 gcloud CLI,將部署作業和預覽畫面設定為使用 Infra Manager 維護的 Terraform 供應商,以進行Google Cloud。

Infra Manager 支援下列項目的 Terraform 供應商 Google Cloud:

  • google
  • google-beta

如要使用 HashiCorp 維護的 Terraform 供應商外掛程式 (適用於 Google Cloud),請省略這個欄位。

如要瞭解如何指定使用 Infra Manager 維護的 Terraform provider,請參閱「使用 Infrastructure Manager 部署基礎架構」、「更新 Deployment」或「預覽 Deployment」。

查看支援的供應商版本

如要查看 Google Cloud Infra Manager 支援的 Terraform provider 版本,請以以下格式查看manifest.jsonInfra Manager 維護的 Cloud Storage bucket與部署區域相關聯:

https://storage.googleapis.com/LOCATION-im-providers/hashicorp/PROVIDER_VERSION/manifest.json

如要查看支援版本的完整清單,請參閱 manifest.json 檔案的 versions 欄位。

舉例來說,如果您的部署作業位於 africa-south1 區域,且您使用 google-beta 供應商,請前往 https://storage.googleapis.com/africa-south1-im-providers/hashicorp/google-beta/manifest.json 查看可用區域。

後續步驟