在组织资源之间迁移项目

您可以通过更新 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. 验证:完成迁移后任务,例如审核继承的政策和更新结算信息。

后续步骤