HashiCorp Terraform 是一種基礎架構即程式碼 (IaC) 工具,可讓您佈建及管理雲端基礎架構。Terraform 提供稱為「供應商」的外掛程式,可讓您與雲端服務供應商和其他 API 互動。您可以使用 Terraform 供應商 Google Cloud佈建及管理 Google Cloud 資源,包括 Cloud Storage。
本頁面將介紹如何搭配使用 Terraform 與 Cloud Storage,包括 Terraform 的運作方式簡介,以及協助您開始搭配使用 Terraform 與 Google Cloud的資源。您也可以找到 Cloud Storage 的 Terraform 參考文件連結、程式碼範例,以及使用 Terraform 佈建 Cloud Storage 資源的指南。
如要瞭解如何開始使用 Terraform 搭配 Google Cloud,請參閱安裝及設定 Terraform 或 Terraform for Google Cloud 快速入門。
Terraform 的運作方式
Terraform 採用宣告式語法,並以設定為導向,可用來描述要在 Google Cloud 專案中佈建的基礎架構。在一個或多個 Terraform 設定檔中撰寫這項設定後,您可以使用 Terraform CLI 將這項設定套用至 Cloud Storage 資源。
以下步驟說明 Terraform 的運作方式:
- 您可以在 Terraform 設定檔中,說明要佈建的基礎架構。您不需要編寫程式碼,說明如何佈建基礎架構。Terraform 會為您佈建基礎架構。
- 執行
terraform plan指令,評估設定並產生執行計畫。您可以查看計畫,並視需要進行變更。 -
執行
terraform apply指令,該指令會執行下列動作:- 根據執行計畫,在背景呼叫對應的 Cloud Storage API,佈建基礎架構。
- 這會建立 Terraform 狀態檔案,也就是 JSON 檔案,可將設定檔中的資源對應至實際基礎架構中的資源。Terraform 會使用這個檔案記錄基礎架構的最新狀態,並決定何時建立、更新及刪除資源。
-
執行
terraform apply時,Terraform 會使用狀態檔案中的對應項目,比較現有基礎架構與程式碼,並視需要進行更新:- 如果設定檔中定義了資源物件,但狀態檔案中沒有,Terraform 就會建立該物件。
- 如果狀態檔中存在資源物件,但設定與設定檔不同,Terraform 會更新資源,使其與設定檔相符。
- 如果狀態檔案中的資源物件與設定檔相符,Terraform 就不會變更資源。
Cloud Storage 的 Terraform 資源
資源是 Terraform 語言的基本元素。每個資源區塊都會說明一或多個基礎架構物件,例如虛擬網路或運算執行個體。
下表列出適用於 Cloud Storage 的 Terraform 資源:
| 服務 | Terraform 資源 | 資料來源 |
|---|---|---|
|
Cloud Storage Terraform 服務: |
|
|
|
Storage Intelligence Terraform 服務: |
||
|
Storage Intelligence 的儲存空間批次作業功能 Terraform 服務: |
- | |
|
Storage Intelligence 的儲存空間洞察功能 Terraform 服務: |
Cloud Storage 的 Terraform 相關指南
下表列出 Cloud Storage 的 Terraform 使用指南和教學課程:
| 指南 | 詳細資料 | |
|---|---|---|
| 快速入門導覽課程:使用 Terraform 建立 bucket 並上傳物件 | 本快速入門導覽課程說明如何建立 Terraform 設定檔,佈建儲存空間值區,並將範例物件上傳至該值區,藉此開始使用 Terraform。 | |
| 建立 bucket | 本指南說明如何建立 bucket。 | |
| 取得 bucket 中繼資料 | 本指南說明如何查看 bucket 的中繼資料。 | |
| 上傳物件 | 本指南說明如何從本機檔案系統將物件上傳至 bucket。 | |
| 取得物件中繼資料 | 本指南說明如何查看物件的中繼資料。 | |
| 管理物件生命週期 | 本指南說明如何設定值區的生命週期設定。 | |
| 設定 Pub/Sub 通知 | 本指南說明如何設定 bucket,將物件變更通知傳送至 Pub/Sub 主題。 | |
| 建立 HMAC 金鑰 | 本指南說明如何為專案中的服務帳戶建立雜湊式訊息驗證碼 (HMAC) 金鑰。 | |
| 公開資料 | 本指南說明如何設定 bucket 中的所有物件,讓公開網路中的所有使用者都能讀取。 | |
| 託管靜態網站 | 本指南說明如何設定值區,以便託管自有網域的靜態網站。 |
Cloud Storage 適用的 Terraform 模組和藍圖
模組和藍圖可協助您自動佈建及管理大量 Google Cloud 資源。模組是一組可重複使用的 Terraform 設定檔,可建立 Terraform 資源的邏輯抽象概念。藍圖是可部署及重複使用的模組套件,也是實作及記錄特定解決方案的政策。
下表列出與 Cloud Storage 相關的模組和藍圖:
| 模組或藍圖 | 詳細資料 |
|---|---|
terraform-google-cloud-storage |
這個模組會建立一或多個 Cloud Storage bucket,並將基本權限指派給任意使用者。 |
後續步驟
- Cloud Storage 的 Terraform 程式碼範例
- Terraform on Google Cloud 說明文件
- Google Cloud HashiCorp 中的供應商說明文件
- 基礎架構即程式碼 Google Cloud