文章目標:提供實用的建議與專案結構 best practices,幫助讀者以更佳的方式開發和維護 Terraform 配置。
文章同步分享到
blog – https://devops-with-alex.com/day-19-terraform-gcp-best-project-pratice/
ithome – https://ithelp.ithome.com.tw/articles/10334171
Medium – https://medium.com/p/3dcc6b451b68
1. 連結Terraform與gcp的三種使用方法
使用者帳號與密碼 (user/password):
- 種類: 透過使用者帳號和密碼連接。
- 方法:在本地機器上安裝 gcloud CLI。使用 gcloud auth application-default login 命令輸入用戶名和密碼。
- 原理: 使用 gcloud CLI 認證,使 Terraform 具有對 GCP 資源的權限。
服務帳號 (service account):
- 種類: 透過服務帳號連接。
- 方法:創建一個服務帳號,配置 Terraform 代碼中的相關資訊,如憑證文件路徑和服務帳號 ID。
- 原理: 使用服務帳號的權限,使 Terraform 具有對 GCP 資源的權限。
使用 Cloud Shell:
- 種類: 透過 Cloud Shell 連接。
- 方法:通過網頁界面直接進入 Cloud Shell 環境,省去本地機器上安裝 gcloud CLI 的步驟。
- 原理: 在 Cloud Shell 登入時,預設使用使用者帳號權限,使 Terraform 具有對 GCP 資源的權限。
2.連結Terraform與gcp的最佳實踐
在上面的章節,我們比較了連結Terraform與gcp的三種使用方法,在實際操作上,我們建議使用使用者帳號與密碼 (user/password) 的方式,並搭配 gcloud CLI 以獲得專案權限,然後再進行後續的雲端開發是最好的方式。同時,我們也建議您在本地端開發時採用這種方式。
3. 總結 Summary
- 連結Terraform與GCP的三種使用方法:介紹使用者帳號與密碼 (user/password)、服務帳號 (service account)與使用 Cloud Shell等三種使用方式,並在方法與原理上做介紹。
- 建議的 Terraform 開發最佳實踐: 我們最建議使用使用者帳號與密碼的方式,並搭配 gcloud CLI 以獲得專案權限,然後再進行後續的雲端開發。同時,我們也建議您在本地端開發時採用這種方式。
4. 相關連結
- Terraform-from-zero-to-hero-10-Lab-GCP-Infrastucture-as-Code — https://github.com/qwedsazxc78/Terraform-from-zero-to-hero-10-Lab-GCP-Infrastucture-as-Code
- Terraform-project-best-practice — https://github.com/qwedsazxc78/terraform-project-best-practice
- 歡迎訂閱我的udemy課程:Terraform 從零開始 — 10+實戰Lab打造GCP雲端自動化架構課程