在组织资源之间迁移项目

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

资源层次结构中的项目

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

由于收购、监管要求或业务部门分离等原因,您可能需要在组织资源之间迁移项目。您可以使用 Resource Manager API 迁移这些项目。迁移操作会返回一个表示操作名称的字符串。通过该 API,您还可以回滚迁移操作,以在必要时将项目移回层次结构中的原始位置。

迁移场景

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

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

如果项目与组织资源建立关联后,您需要将项目移回无组织状态,则必须与 Cloud Customer Care 联系。 不支持自行将组织回滚为无组织状态。

除了使用 API 之外,您还可以使用 Google Cloud 控制台来移动项目,只需选择相应项目并为其分配新的父级目标资源即可。

确定项目的当前状态

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

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

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

gcloud

gcloud projects get-ancestors PROJECT_ID

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

如果输出内容包含层次结构中的 organization 资源类型,则表示您的项目已属于组织层次结构。

如果缺少或为空,则表示项目是独立项目,没有组织资源。organization

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

迁移的工作原理

项目迁移不是数据转移。您的服务、数据库和虚拟机 (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'
...

重要考虑因素

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

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

  • 资产清单:迁移后,Cloud Asset Inventory 中资源完整列表的更新可能需要几天时间才能完全传播。

  • 费用和折扣:如果原始组织享有基于 SKU 的折扣或企业折扣计划 (EDP) 折扣,那么在您与 Google 销售代表协商之前,这些折扣不会在新组织中生效。承诺使用折扣 (CUD) 和 Google Cloud Marketplace 购买交易可能也需要重新购买。

  • 支持服务层级:如果目标组织中没有有效支持服务合约或支持服务层级较低,您可能会失去当前的支持服务层级。

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

迁移路线图

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

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

后续步骤