Infrastructure Manager (Infra Manager) 是一項代管服務,可簡化及自動部署和管理 Google Cloud 基礎架構資源。Infra Manager 使用 Terraform 設定 (也稱為藍圖),提供代管 Google Cloud 工具鍊,可實作基礎架構即程式碼 (IaC) 工作流程。
Infra Manager 支援下列操作:
- 使用 Terraform 以宣告方式定義基礎架構。
- 部署儲存在 Cloud Storage bucket、Git 存放區或本機目錄中的 Terraform 設定。
- 透過部署作業和修訂版本,管理基礎架構生命週期。
- 建立預覽部署作業,在套用變更前,先查看變更對基礎架構的影響。
- 與 Cloud Build 整合,自動執行工作流程。
Infra Manager 不會管理應用程式部署至資源的作業。如要部署應用程式,建議使用 Google Cloud產品,例如 App Lifecycle Manager、Cloud Build 和 Cloud Deploy,或第三方工具。
如要使用 Infra Manager,您應熟悉 Terraform。如要進一步瞭解如何搭配使用 Terraform 和 Google Cloud,請參閱「Terraform on Google Cloud」(Terraform 搭配 )。
如要進一步瞭解 Terraform 是什麼及其運作方式,請參閱 HashiCorp 的「什麼是 Terraform?」一文。
Infra Manager 和基礎架構即程式碼
Infra Manager 可讓您使用 IaC 管理Google Cloud 資源的生命週期:
- Terraform 是在 Terraform 設定中以宣告方式定義。也就是說,設定會描述基礎架構的最終狀態。
- 您可以在 Git 存放區或 Cloud Storage bucket 中建立 Terraform 設定版本。使用物件版本管理功能,管理 Storage bucket 中的設定版本。
- 使用 Infra Manager 透過修訂版本更新基礎架構部署作業。Infra Manager 會儲存每個修訂版本的下列資訊:
- 記錄
- 用於修訂版本的設定
- 修訂版本建立的 Google Cloud 資源清單
- 每次部署和修訂時建立的狀態檔案
如要進一步瞭解 IaC,請參閱「 Google Cloud上的基礎架構即程式碼」。
使用輸入值自訂部署作業
您可以使用 Terraform 輸入變數,將 Terraform 設定參數化,Infra Manager 稱之為「輸入值」。輸入值可讓您自訂部署作業,同時在多個環境或部署作業中重複使用相同的設定,而不必修改 Terraform 設定原始碼。您可以為沒有預設值的必要變數提供值,或覆寫現有的預設值。
您可以在建立、更新或預覽部署作業時傳遞輸入值。如要進一步瞭解如何在 Terraform 中定義及使用輸入變數,請參閱 HashiCorp 的輸入變數說明文件。
Infra Manager 的運作方式
以下說明使用 Infra Manager 部署基礎架構時,會發生什麼情況:
- 要部署至 Google Cloud 的基礎架構資源,是在 Terraform 設定中定義。
- 您可以自行建立這個檔案,也可以使用已為 Google Cloud編寫的設定。詳情請參閱「Terraform 和 Infrastructure Manager」。
- 您可以將 Terraform 設定儲存在 Cloud Storage bucket、Git 存放區或本機電腦中。
- 使用 Infra Manager 從 Terraform 設定部署資源時,您會建立部署作業。如要建立部署作業,Infra Manager 會:
- 驗證要求。例如,確保您在指令中指定 Terraform 設定的位置。
- 使用容器映像檔建立 Cloud Build 工作。這個映像檔由 Google Cloud擁有及維護。如要進一步瞭解 Cloud Build 環境,請參閱「建構環境」。Cloud Build 工作會自動執行下列工作:
- 從 Storage bucket 或 Git 存放區下載 Terraform 模組。
- 初始化 Terraform (
terraform init) - 驗證 Terraform 設定 (
terraform validate) - 啟用設定 (
terraform apply,如果要刪除部署作業,則為terraform destroy) - 將 Cloud Build 記錄串流至 Infra Manager 建立的儲存空間 bucket。
- 如果部署作業失敗,Infra Manager 會在特定情況下自動重試
terraform init或terraform apply作業,例如因間歇性網路中斷而失敗。重試次數有限。
- 建立 Cloud Storage bucket,並儲存部署作業的中繼資料。如要進一步瞭解部署作業和中繼資料,請參閱「部署作業和修訂版本總覽」。
部署作業完成後,系統會按照設定所述,佈建 Google Cloud 資源。
您可以查詢 Infra Manager 部署作業,瞭解以下資訊:
- 部署的狀態。
- 部署作業中部署的資源清單。
- 部署作業中個別資源的詳細資料。
執行階段環境
Infra Manager 的執行階段環境是臨時 Cloud Build 建構環境。Infra Manager 會在這個 Cloud Build 建構環境中執行 Terraform 指令,然後捨棄該環境。
Cloud Build 建構環境的特定作業系統、可用軟體和其他設定詳細資料,屬於 Infra Manager 的內部實作詳細資料,隨時可能變更。
您可以指定各項部署作業要使用的 Terraform 支援版本。
請勿提供個人或私密資訊
請勿在 Terraform 設定值中加入個人或機密資訊。
如要進一步瞭解 Terraform 設定和機密資料,請參閱「Terraform 設定值和機密資料」。
後續步驟
- 進一步瞭解 Terraform 搭配 Google Cloud。
- 建立部署作業。
- 更新部署作業。
- 自動部署。
- 刪除部署項目。