HashiCorp Terraform 是一種基礎架構即程式碼 (IaC) 工具,可讓您佈建及管理雲端基礎架構。Terraform 提供稱為「供應商」的外掛程式,可讓您與雲端服務供應商和其他 API 互動。您可以使用 Google Cloud適用的 Terraform 供應商,佈建及管理 Google Cloud 資源,包括 IAP。
本頁面將介紹如何搭配 IAP 使用 Terraform,包括 Terraform 的運作方式簡介,以及協助您開始搭配 Google Cloud使用 Terraform 的一些資源。此外,您還會找到 IAP 的 Terraform 參考文件連結、程式碼範例,以及使用 Terraform 佈建 IAP 資源的指南。
如要瞭解如何開始使用 Terraform 搭配 Google Cloud,請參閱安裝及設定 Terraform 或 Terraform for Google Cloud 快速入門。
Terraform 的運作方式
Terraform 採用宣告式語法,並以設定為導向,可用來描述要在 Google Cloud 專案中佈建的基礎架構。在一個以上的 Terraform 設定檔中撰寫這項設定後,您可以使用 Terraform CLI 將這項設定套用至 IAP 資源。
以下步驟說明 Terraform 的運作方式:
- 您可以在 Terraform 設定檔中,說明要佈建的基礎架構。您不需要編寫程式碼,說明如何佈建基礎架構。Terraform 會為您佈建基礎架構。
- 執行
terraform plan指令,評估設定並產生執行計畫。您可以查看計畫,並視需要進行變更。 -
執行
terraform apply指令,該指令會執行下列動作:- 根據執行計畫,在背景呼叫對應的 IAP API,佈建基礎架構。
- 這會建立 Terraform 狀態檔案,也就是 JSON 檔案,可將設定檔中的資源對應至實際基礎架構中的資源。Terraform 會使用這個檔案記錄基礎架構的最新狀態,並決定何時建立、更新及刪除資源。
-
執行
terraform apply時,Terraform 會使用狀態檔案中的對應項目,比較現有基礎架構與程式碼,並視需要進行更新:- 如果設定檔中定義了資源物件,但狀態檔案中沒有,Terraform 就會建立該物件。
- 如果狀態檔中存在資源物件,但設定與設定檔不同,Terraform 會更新資源,使其與設定檔相符。
- 如果狀態檔案中的資源物件與設定檔相符,Terraform 就不會變更資源。
IAP 的 Terraform 資源
資源是 Terraform 語言的基本元素。每個資源區塊都會說明一或多個基礎架構物件,例如虛擬網路或運算執行個體。
下表列出適用於 IAP 的 Terraform 資源:
IAP 的 Terraform 相關指南
下表列出適用於 IAP 的 Terraform 基礎操作指南和教學課程:
| 指南 | 詳細資料 |
|---|---|
| 為 Cloud Run 啟用 IAP | 為 Cloud Run 服務啟用 IAP。 |
| 使用簽署標頭保護應用程式 | 快取並自動更新 IAP 公開金鑰,確保應用程式安全無虞。 |
後續步驟
- IAP 的 Terraform 程式碼範例
- Terraform on Google Cloud 說明文件
- Google Cloud HashiCorp 中的供應商說明文件
- 基礎架構即程式碼 Google Cloud