在组织资源之间迁移项目

迁移 Google Cloud 项目是一项元数据操作,用于更改项目在资源层次结构中的位置。本页面简要介绍了迁移的工作方式、项目迁移到新组织后哪些内容保持不变,以及哪些内容会发生变化。

资源层次结构中的项目

项目资源是 Google Cloud组织资源中的基本级层组织实体。项目在组织资源下创建,并且可以置于文件夹或组织资源本身之下,形成资源层次结构

由于收购、监管要求或业务部门分离等原因,您可能需要在组织资源之间迁移项目。您可以使用 Resource Manager API 迁移这些项目;该 API 还允许您回滚迁移操作,以便在必要时将项目移回层次结构中的原始位置。

迁移场景

项目的位置决定了您需要采取哪种迁移方式:

  • 将项目从一个组织迁移到另一个组织资源。
  • 将独立项目(在没有组织的情况下创建)迁移到组织资源的层次结构中。

确定项目的当前状态

在开始之前,您必须确定项目是否与组织资源相关联。这决定了您是遵循组织到组织的路径还是无组织的路径。

如果您没有项目父组织资源的 resourcemanager.organizations.get 权限,那么您的项目很可能无法在Google Cloud 控制台中的实际组织下按预期显示。这可能会使您看起来该项目未与任何组织资源相关联。

如需确定项目是否与组织资源相关联,请运行以下命令:

gcloud

gcloud projects describe PROJECT_ID

PROJECT_ID 替换为要迁移的项目的 ID。

如果输出包含 parent 字段,则表示您的项目已属于组织层次结构。

如果 parent 字段缺失或为空,则表示相应项目是独立项目,没有组织资源。

请根据项目的状态,按照相关指南操作:

迁移的工作原理

项目迁移不是数据传输。您的服务、数据库和虚拟机 (VM) 实例保持活跃状态,不会出现停机情况。迁移会更新项目的父资源。由于 Google Cloud 遵循分层继承模型,因此项目在附加到新父级后,其安全状况会立即发生变化。

功能 状态 影响
项目 ID 和编号 保持不变 API 密钥、服务名称和硬编码 ID 保持不变。
数据和资源 保持不变 虚拟机、存储分区和数据库保持在线状态。
直接 IAM 角色 保持不变 直接在项目上授予的角色会随项目一起迁移。
继承的 IAM 角色 变化 在源组织或文件夹级层授予的角色会丢失。
组织政策 变化 来源限制已替换为目的地限制。
配额 变化 继承的组织级配额会丢失;项目级配额会保留。
结算账号 保持不变 项目仍与原始结算账号相关联。

配额影响

如果您在特定资源级别定义了配额,则迁移后会应用以下方面:

  • 项目级定义的任何配额都将保持不变。
  • 在组织资源级层定义的任何配额都不会转移。组织会失去所有继承的配额。

您可以使用以下页面来确定哪些配额应用于组织资源:

示例

$ gcloud alpha services quota list --service=compute.googleapis.com --consumer=projects/workloadyee --filter="metric: compute.googleapis.com/cpus"

...
  - defaultLimit: '600'
    dimensions:
      region: us-central1
    effectiveLimit: '650'
...

重要考虑因素

在开始迁移之前,请查看以下高风险区域,以防止服务中断:

  • 配额限制:如果目标组织的配额限制低于源组织的配额限制,您的项目在迁移后可能会超出其配额。

  • 共享 VPC:您无法迁移附加到共享 VPC 的项目。 您必须先将项目从源共享 VPC 中分离,然后才能移动该项目。

  • 自定义角色:如果您的项目依赖于在组织级层定义的自定义 IAM 角色,则这些角色在目标组织中将不存在。在迁移之前,在目标组织中重新创建这些群组。

迁移路线图

请按照以下路线图完成项目迁移流程:

  1. 准备:制定迁移计划,以协调时间安排。
  2. 执行:分配 IAM 角色、配置组织政策并执行迁移
  3. 验证:完成迁移后任务,例如审核继承的政策和更新结算信息。

后续步骤