使用 Terraform 部署 VPC
瞭解如何使用 Infrastructure Manager 部署虛擬私有雲 (VPC)。
本快速入門導覽課程會使用儲存在公開 GitHub 存放區的 Terraform 設定。設定會定義要佈建的 VPC。
事前準備
-
登入 Google 帳戶。
如果沒有帳戶,請 申請新帳戶。
-
安裝 Google Cloud CLI。
-
若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
-
執行下列指令,初始化 gcloud CLI:
gcloud init -
選取或建立專案所需的角色
- 選取專案:選取專案時,不需要具備特定 IAM 角色,只要您已獲授角色,即可選取任何專案。
-
建立專案:如要建立專案,您需要具備專案建立者角色 (
roles/resourcemanager.projectCreator),其中包含resourcemanager.projects.create權限。瞭解如何授予角色。
-
建立 Google Cloud 專案:
gcloud projects create PROJECT_ID
將
PROJECT_ID替換為您要建立的 Google Cloud 專案名稱。 -
選取您建立的 Google Cloud 專案:
gcloud config set project PROJECT_ID
將
PROJECT_ID替換為 Google Cloud 專案名稱。
啟用 Infrastructure Manager API:
啟用 API 時所需的角色
如要啟用 API,您需要具備服務使用情形管理員 IAM 角色 (
roles/serviceusage.serviceUsageAdmin),其中包含serviceusage.services.enable權限。瞭解如何授予角色。gcloud services enable config.googleapis.com
-
設定驗證方法:
-
確認您具備「建立服務帳戶」身分與存取權管理角色 (
roles/iam.serviceAccountCreator) 和「專案 IAM 管理員」角色 (roles/resourcemanager.projectIamAdmin)。瞭解如何授予角色。 -
建立服務帳戶:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
將
SERVICE_ACCOUNT_NAME換成服務帳戶的名稱。 -
將
roles/config.agent身分與存取權管理角色授予服務帳戶:gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=roles/config.agent
請替換下列項目:
SERVICE_ACCOUNT_NAME:服務帳戶名稱PROJECT_ID:您建立服務帳戶的專案 ID
-
確認您具備「建立服務帳戶」身分與存取權管理角色 (
-
安裝 Google Cloud CLI。
-
若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
-
執行下列指令,初始化 gcloud CLI:
gcloud init -
選取或建立專案所需的角色
- 選取專案:選取專案時,不需要具備特定 IAM 角色,只要您已獲授角色,即可選取任何專案。
-
建立專案:如要建立專案,您需要具備專案建立者角色 (
roles/resourcemanager.projectCreator),其中包含resourcemanager.projects.create權限。瞭解如何授予角色。
-
建立 Google Cloud 專案:
gcloud projects create PROJECT_ID
將
PROJECT_ID替換為您要建立的 Google Cloud 專案名稱。 -
選取您建立的 Google Cloud 專案:
gcloud config set project PROJECT_ID
將
PROJECT_ID替換為 Google Cloud 專案名稱。
啟用 Infrastructure Manager API:
啟用 API 時所需的角色
如要啟用 API,您需要具備服務使用情形管理員 IAM 角色 (
roles/serviceusage.serviceUsageAdmin),其中包含serviceusage.services.enable權限。瞭解如何授予角色。gcloud services enable config.googleapis.com
-
設定驗證方法:
-
確認您具備「建立服務帳戶」身分與存取權管理角色 (
roles/iam.serviceAccountCreator) 和「專案 IAM 管理員」角色 (roles/resourcemanager.projectIamAdmin)。瞭解如何授予角色。 -
建立服務帳戶:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
將
SERVICE_ACCOUNT_NAME換成服務帳戶的名稱。 -
將
roles/config.agent身分與存取權管理角色授予服務帳戶:gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=roles/config.agent
請替換下列項目:
SERVICE_ACCOUNT_NAME:服務帳戶名稱PROJECT_ID:您建立服務帳戶的專案 ID
-
確認您具備「建立服務帳戶」身分與存取權管理角色 (
授予設定中資源的權限
您已授予執行 Infra Manager 的必要權限,但您也需要授予部署設定檔中描述的資源專屬權限。
授予 VPC 的權限,這是 Terraform 設定中定義的資源。
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
--role=roles/compute.networkAdmin
更改下列內容:
- SERVICE_ACCOUNT_NAME:服務帳戶名稱。
- PROJECT_ID:您的專案 ID。
預覽部署作業
您可以在建立部署作業前先預覽部署作業。您可以透過這項預覽功能,驗證預計要佈建的資源。
下列指令填入的四個值都沒有預設值。
這些值包括:專案 ID、服務帳戶名稱、位置 us-central1,以及您要建立的網路名稱 quickstart-vpc。
如要建立預覽畫面,請使用下列指令:
gcloud infra-manager previews create projects/PROJECT_ID/locations/us-central1/previews/quickstart-preview \
--service-account projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
--git-source-repo=https://github.com/terraform-google-modules/terraform-google-network \
--git-source-directory=modules/vpc \
--git-source-ref=main \
--input-values=project_id=PROJECT_ID,network_name=quickstart-vpc
建立預覽後,您可以查看預覽結果。 本快速入門指南會略過這個步驟,但如需更多詳細資料,請參閱「匯出及查看預覽結果」。
建立 Deployment
使用 Infra Manager 建立部署作業。也就是說,Infra Manager 會佈建 Terraform 設定中定義的資源。
本快速入門導覽課程的設定有四個沒有預設值的值。下列指令會新增這些值:專案 ID、服務帳戶名稱、位置 us-central1,以及您要建立的網路名稱 quickstart-vpc。
gcloud infra-manager deployments apply projects/PROJECT_ID/locations/us-central1/deployments/quickstart-deployment \
--service-account=projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
--git-source-repo=https://github.com/terraform-google-modules/terraform-google-network \
--git-source-directory=modules/vpc \
--git-source-ref=main \
--input-values=project_id=PROJECT_ID,network_name=quickstart-vpc
部署完成後,您會看到:
Creating the deployment...done
虛擬私有雲現已建立並完成設定,如設定中所述。
在 Cloud Build 中查看建構結果
如要查看 Infra Manager 用來建立部署作業的 Cloud Build 工作,請在 Google Cloud 控制台中開啟「Build History」(建構記錄) 頁面:
查看部署狀態
部署完成後,您可以查看部署說明,瞭解相關資訊,包括狀態。
查看部署作業的說明:
gcloud infra-manager deployments describe projects/PROJECT_ID/locations/us-central1/deployments/quickstart-deployment
輸出內容會顯示 Deployment 的詳細資料,包括 Deployment 的時間戳記、最新修訂版本的名稱和狀態。
狀態會顯示 ACTIVE。
查看佈建的虛擬私有雲詳細資料
查看已佈建虛擬私有雲的詳細資料:
gcloud infra-manager resources list --revision=projects/PROJECT_ID/locations/us-central1/deployments/quickstart-deployment/revisions/REVISION_ID
將 REVISION_ID 替換為最新修訂版本的 ID。這個 ID 是 r-0,除非您多次部署,您可以在上一節的部署說明中,查看最新修訂版本的 ID。
在控制台中查看 VPC
在控制台中查看 VPC:
您會看到名為 quickstart-vpc 的 VPC。這是 Infra Manager 佈建的 VPC。
清除所用資源
如要避免系統向您的 Google Cloud 帳戶收取本頁面所用資源的費用,請務必刪除不再需要的資源。
刪除虛擬私有雲
刪除虛擬私有雲和部署項目的中繼資料:
gcloud infra-manager deployments delete projects/PROJECT_ID/locations/us-central1/deployments/quickstart-deployment
(選用) 刪除專案
如果您是在新 Google Cloud 專案中部署解決方案,且現在已不再需要該專案,請完成下列步驟來刪除專案:
- 前往 Google Cloud 控制台的「Manage resources」(管理資源) 頁面。
- 從專案清單中選取要刪除的專案,然後點選「Delete」(刪除)。
- 收到提示時,請輸入專案 ID,然後點選「Shut down」(關閉)。
後續步驟
- 如要進一步瞭解 Infrastructure Manager,請參閱「Infrastructure Manager 的運作方式」。
- 進一步瞭解 Infra Manager 和 Terraform。
- 更新部署作業。
- 自動部署。
- 如要取得可搭配使用的設定和模組,請參閱 Google Cloud 適用的 Terraform 藍圖和模組。 Google Cloud