迁移 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 角色,则这些角色在目标组织中将不存在。在迁移之前,在目标组织中重新创建这些群组。
迁移路线图
请按照以下路线图完成项目迁移流程: