Application Design Center 可讓您產生範本和應用程式的 Terraform 程式碼,並匯出至本機電腦或 GitHub 存放區。
匯出 Terraform 程式碼後,您就能使用自己的 CI/CD 工具維護及部署應用程式。匯出的 Terraform 檔案會自動在 App Hub 註冊應用程式,以便在 Security Command Center 啟用執行階段監控功能。外部部署的應用程式會視為非受管應用程式。如要使用以應用程式為中心的 Google Cloud 代管功能,例如設計階段安全性評估和追蹤安全性發現項目來源,請使用 App Design Center 部署應用程式。
系統會產生下列 Terraform 檔案:
main.tf:基礎架構程式碼,包含範本中每個元件的模組。outputs.tf:公開已部署基礎架構元件的相關資訊。variables.tf:宣告main.tf檔案中使用的變數名稱、類型和說明。input.tfvars:定義main.tf檔案中使用的變數值。providers.tf:定義標籤,協助 Terraform 與 Google Cloud API 和資源互動。
如需背景資訊,請參閱「Google Cloud的 Terraform 總覽」。
事前準備
如要執行本文件中的工作,請要求管理員授予您啟用應用程式管理功能的資料夾或管理專案的必要角色,如下表所示:
| 工作 | 必要的角色 |
|---|---|
| 將產生的 Terraform 程式碼匯出至本機或原始碼控管存放區 | 應用程式管理員 (roles/designcenter.applicationAdmin) 或應用程式編輯者 ( roles/designcenter.applicationEditor) |
如要進一步瞭解角色,請參閱「使用 IAM 控管存取權」。
匯出 Terraform 程式碼
如要在 Google Cloud以外的地方維護範本和應用程式,可以產生 Terraform 並匯出至本機電腦或程式碼存放區。
匯出至本機
您可以匯出從範本或應用程式產生的 Terraform 程式碼。
範本
前往 Google Cloud 控制台的「Templates」(範本) 頁面。
按一下要匯出的範本 ID。
按一下「取得驗證碼」。
系統會將 ZIP 檔案下載到本機電腦。您可以使用自己的部署工具和工作流程部署應用程式。
應用程式
前往 Google Cloud 控制台的「Applications」頁面。
按一下要匯出的應用程式名稱。
按一下「取得驗證碼」。
系統會將 ZIP 檔案下載到本機電腦。您可以使用自己的部署工具和工作流程部署應用程式。
匯出至存放區
如要透過原始碼管理存放區維護範本,可以將範本和應用程式匯出至 GitHub。接著,您可以使用現有的版本管控工作流程,並透過自己的 CI/CD 管道觸發建構、測試和部署作業。
連結存放區
如要在 GitHub 存放區和管理專案之間建立 Developer Connect 連線,請按照下列步驟操作:
變更組織政策,將下列服務加入許可清單:
developerconnect.googleapis.com。secretmanager.googleapis.com。
如要瞭解如何變更組織政策,請參閱「使用限制資源服務用量限制」。
建立 Developer Connect 連線,連至 GitHub 存放區,包括:
- 選取「啟用資料落地設定」。
- 連結存放區,做為應用程式的匯出目的地。
如要瞭解如何建立連線及連結存放區,請參閱「連結 GitHub」。
如要複製存放區 URI,請按照下列步驟操作:
- 開啟「Developer Connect Git repositories」(Developer Connect Git 存放區) 頁面。
- 在「Repositories」(存放區) 表格中,按一下「More Options」(更多選項),然後選取「Copy resource path」(複製資源路徑)。
生成並匯出
如要生成 Terraform 程式碼並匯出至 GitHub 存放區,請按照下列步驟操作:
範本
找出聊天室 ID。
gcloud design-center spaces list \ --project=PROJECT \ --location=LOCATION更改下列內容:
PROJECT:管理專案 ID。LOCATION:您的位置 ID。
找出要匯出的範本 ID。
gcloud design-center spaces application-templates list \ --space=SPACE \ --project=PROJECT \ --location=LOCATION更改下列內容:
SPACE:您的聊天室 ID。PROJECT:管理專案 ID。LOCATION:您的位置 ID。
生成範本的 Terraform 程式碼,並匯出至 GitHub。
gcloud design-center spaces application-templates generate APPLICATION_TEMPLATE \ --space=SPACE \ --project=PROJECT \ --location=LOCATION \ --developer-connect-export-config-repo-uri=DEVELOPER_CONNECT_EXPORT_CONFIG_REPO_URI \ --developer-connect-export-config-dir=DEVELOPER_CONNECT_EXPORT_CONFIG_DIR \ --developer-connect-export-config-branch=DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCH更改下列內容:
APPLICATION_TEMPLATE:要匯出的範本 ID。SPACE:您的聊天室 ID。PROJECT:管理專案 ID。LOCATION:您的位置 ID。DEVELOPER_CONNECT_EXPORT_CONFIG_DIR:相對於 GitHub 存放區的目錄。DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCH:GitHub 存放區中的分支版本。
詳情請參閱「gcloud design-center spaces application-templates generate」。
查看存放區,確認範本已成功匯出。
應用程式
找出聊天室 ID。
gcloud design-center spaces list \ --project=PROJECT \ --location=LOCATION更改下列內容:
PROJECT:管理專案 ID。LOCATION:您的位置 ID。
找出要匯出的應用程式 ID。
gcloud design-center spaces applications list \ --space=SPACE \ --project=PROJECT \ --location=LOCATION更改下列內容:
SPACE:您的聊天室 ID。PROJECT:管理專案 ID。LOCATION:您的位置 ID。
生成應用程式的 Terraform 程式碼,並匯出至 GitHub。
gcloud design-center spaces applications generate APPLICATION \ --space=SPACE \ --project=PROJECT \ --location=LOCATION \ --developer-connect-export-config-repo-uri=DEVELOPER_CONNECT_EXPORT_CONFIG_REPO_URI \ --developer-connect-export-config-dir=DEVELOPER_CONNECT_EXPORT_CONFIG_DIR \ --developer-connect-export-config-branch=DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCH更改下列內容:
APPLICATION:要匯出的應用程式 ID。SPACE:您的聊天室 ID。PROJECT:管理專案 ID。LOCATION:您的位置 ID。DEVELOPER_CONNECT_EXPORT_CONFIG_DIR:相對於 GitHub 存放區的目錄。DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCH:GitHub 存放區中的分支版本。
查看存放區,確認應用程式已成功匯出。
後續步驟
- 依據 Google 範本建構內容,開始使用預先設定的架構。
- 設計應用程式範本,自行定義設定。
- 如要瞭解如何在 Google Cloud 上使用 Terraform,請參閱「Terraform on Google Cloud overview」(Terraform on 總覽)。