本教程演示了如何将 Google Cloud 资源导入 Infrastructure Manager 部署。您只能导入使用 Terraform 预配的资源。
如果您有 Terraform 配置但尚未将其部署到 Google Cloud,请参阅 使用 Infrastructure Manager 部署基础架构。
本教程首先介绍如何使用 Terraform CLI 将虚拟私有云 (VPC) 部署到 Google Cloud 。然后,本教程演示了如何将这些已部署的资源导入 Infrastructure Manager,以便将这些资源作为 Infrastructure Manager 部署进行管理。
您可以使用本教程中的示例来了解如何将其他 Google Cloud 资源导入 Infra Manager。如需将 部署导入 Infra Manager,用于 预配资源的 Terraform 配置需要符合 约束条件,并且 资源需要使用 受支持的 Terraform 版本进行预配。
费用
本教程使用的以下收费组件: Google Cloud
准备工作
-
登录您的 Google 账号。
如果您还没有 Google 账号,请 注册新账号。
-
安装 Google Cloud CLI。
-
如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI。
-
如需初始化 gcloud CLI,请运行以下命令:
gcloud init -
选择或创建项目所需角色
- 选择项目:选择项目不需要特定的 IAM 角色,您可以选择已获授角色的任何项目。
-
创建项目:如需创建项目,您需要拥有 Project Creator 角色
(
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 项目名称。
-
验证您的 Google Cloud 项目是否已启用结算功能。
启用 Infrastructure Manager API:
启用 API 所需的角色
如需启用 API,您需要拥有
serviceusage.services.enable权限。如果您 创建了项目,则可能已通过 Owner 角色 (roles/owner) 拥有此权限。否则,您可以通过 Service Usage Admin 角色 (roles/serviceusage.serviceUsageAdmin) 获得此权限。 了解如何授予角色。gcloud services enable config.googleapis.com
-
设置身份验证:
-
确保您拥有 Create Service Accounts IAM 角色
(
roles/iam.serviceAccountCreator) 和 Project IAM Admin 角色 (roles/resourcemanager.projectIamAdmin)。了解如何授予角色。 -
创建服务帐号:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
将
SERVICE_ACCOUNT_NAME替换为服务帐号的名称。 -
向服务帐号授予
roles/config.agentIAM 角色: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
-
确保您拥有 Create Service Accounts IAM 角色
(
-
安装 Google Cloud CLI。
-
如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI。
-
如需初始化 gcloud CLI,请运行以下命令:
gcloud init -
选择或创建项目所需角色
- 选择项目:选择项目不需要特定的 IAM 角色,您可以选择已获授角色的任何项目。
-
创建项目:如需创建项目,您需要拥有 Project Creator 角色
(
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 项目名称。
-
验证您的 Google Cloud 项目是否已启用结算功能。
启用 Infrastructure Manager API:
启用 API 所需的角色
如需启用 API,您需要拥有
serviceusage.services.enable权限。如果您 创建了项目,则可能已通过 Owner 角色 (roles/owner) 拥有此权限。否则,您可以通过 Service Usage Admin 角色 (roles/serviceusage.serviceUsageAdmin) 获得此权限。 了解如何授予角色。gcloud services enable config.googleapis.com
-
设置身份验证:
-
确保您拥有 Create Service Accounts IAM 角色
(
roles/iam.serviceAccountCreator) 和 Project IAM Admin 角色 (roles/resourcemanager.projectIamAdmin)。了解如何授予角色。 -
创建服务帐号:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
将
SERVICE_ACCOUNT_NAME替换为服务帐号的名称。 -
向服务帐号授予
roles/config.agentIAM 角色: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
-
确保您拥有 Create Service Accounts IAM 角色
(
- 安装受支持的Terraform版本。
将资源部署到 Google Cloud
您在本教程中部署的 Google Cloud 资源是 VPC。本部分介绍了如何部署资源,以便将其用作将已部署资源导入 Infra Manager 的示例。
本教程使用 us-central1 区域。如果您想使用其他区域,则可以使用 Infra Manager 运行的任何位置。如需查看有效位置的列表,请参阅
Infrastructure Manager 位置
。
授予配置中资源的权限
您已授予运行 Infra Manager 所需的权限,但还需要授予特定于您要部署的配置中所述资源的权限。
授予创建 VPC 网络(即 Terraform 配置中定义的资源)的权限:
gcloud projects add-iam-policy-binding