为 Migrate for Compute Engine 配置 GCP

在使用 Google Cloud Migrate for Compute Engine(以前称为 Velostrata)迁移应用之前,您需要配置您的 GCP 组织。通过此配置,Migrate for Compute Engine 可以管理迁移并与相关的其他组件进行通信。

GCP 配置包含以下项:

  1. 设置 GCP 帐号、组织和项目,包括组织级层的权限以及 Migrate for Compute Engine 将用于其自身的基础架构的项目。
  2. 在 GCP 上设置网络,以便迁移过程中涉及的组件(例如 Migrate for Compute Engine、GCP 以及迁移的来源环境)可以通过 GCP 虚拟私有云上的防火墙相互通信。
  3. 通过 Cloud Shell 创建 GCP 角色和服务帐号来设置权限,以便 Migrate for Compute Engine 可以创建资源并管理在迁移过程中使用的 API。

准备工作

  • 您需要确定将执行 Migrate for Compute Engine 脚本(用于配置 GCP)的 GCP 组织管理员帐号。
  • 您需要设置 Google Cloud Platform 虚拟私有云。Migrate for Compute Engine 使用虚拟私有云来支持 GCP 与来源环境之间的通信。
  • 您的 GCP 组织是迁移过程中涉及的多个组件之一。您将分别为各个组件执行配置任务。如需概览,请务必阅读 Migrate for Compute Engine 架构说明

设置 GCP 帐号、组织和项目

您需要一个 GCP 组织以迁移到 GCP。拥有组织后,您将分配允许 Migrate for Compute Engine 脚本配置具有角色和服务帐号的 GCP 的权限。您将创建一个 Migrate for Compute Engine 基础架构项目,该项目将托管 Velostrata Manager

  1. 转到 Google Cloud Platform Console 并登录。如果您还没有帐号,请注册创建一个帐号
  2. 要设置组织,请参阅创建和管理组织。如需了解详情,请参阅企业组织最佳做法
  3. 将以下权限分配给运行帐号和角色创建脚本的管理员:

    • 组织角色管理员
    • 组织管理员
    • 计算管理员
    • (项目)所有者

    要详细了解 GCP 帐号、服务帐号和角色等 IAM 概念,请参阅 IAM 概览

  4. 创建 GCP 项目,以在 GCP 上托管 Migrate for Compute Engine 基础架构。在本文档的其余部分中,我们将其称为基础架构项目

在 GCP 上设置网络

Migrate for Compute Engine 使用 GCP 虚拟私有云网络和指向来源环境的 VPN 连接,并且需要设置特定的网络规则才能完成迁移。要详细了解用于部署的防火墙、路由和网络标记,请参阅网络访问要求

网络配置任务假定您拥有 GCP 虚拟私有云并已熟悉虚拟私有云防火墙规则。如需了解详情,请参阅 Google Cloud Platform 虚拟私有云

通过 Cloud Shell 创建 GCP 角色和服务帐号

您需要创建可供 Migrated for Compute Engine 用于创建 GCP 资源和管理 Cloud Storage API 的 GCP 角色服务帐号。Migrate for Compute Engine 包含用于进行这些更改的 Cloud Shell 脚本。

除非您要迁移到多个 GCP 项目中,否则该脚本会在基础架构项目中创建角色和服务帐号。在这种情况下,该脚本将在组织级层创建 Velostrata Manager 角色,并在基础架构项目中创建其他角色和服务帐号。

下表介绍了由 Cloud Shell 脚本创建的角色和服务帐号。

角色 服务帐号 已启用的权限
Velostrata Manager (velos_manager_deployment-name) velos-manager-deployment-name 能够为迁移创建所有资源(虚拟机、Cloud Storage 存储分区等)。
Migrate for Compute Engine Cloud Extensions 扩展 (velos_ce_deployment-name) velos-cloud-extension-deployment-name 能够管理用于迁移的 Cloud Storage API。

创建所需服务帐号最简单的方法是使用随 Migrate for Compute Engine 一起提供的 Cloud Shell 脚本。要查找脚本,请打开 Cloud Shell,并 cd/google/velostrata/

该脚本会启用以下 GCP API:

  • Cloud Resource Manager API
  • Identity and Access Management (IAM) API
  • Compute Engine API
  • Google Cloud Storage API
  • Stackdriver Logging API
  • Stackdriver Monitoring API

尽管我们不推荐使用此脚本,但您可以改为手动配置 GCP

前提条件

如果您要迁移到组织内的多个项目,则需要使用数值形式的组织 ID

运行配置脚本

要运行配置脚本,请执行以下操作:

  1. 打开 Cloud Shell
  2. 切换到包含 Migrate for Compute Engine 脚本的目录:
    cd /google/migrate/gce
    
  3. 选择要附加到您的服务帐号和角色 ID 的部署名称,例如 main
  4. 运行脚本:

      python3 velostrata_sa_roles.py -p project-ID -d deployment-name [-o organization]
    

    如需了解详情,请参阅下面的配置脚本参考

单个项目的配置示例

在本例中,您将在 velostrata 基础架构项目中配置具有角色和服务帐号且部署名称为 main 的 GCP。

python3 velostrata_sa_roles.py -p velostrata -d main

此命令将执行以下操作:

  • velostrata 项目中创建 velos_manager_mainvelos_ce_main 角色。
  • velostrata 项目中创建 velos-manager-main@velostrata.iam.gserviceaccount.comvelos-cloud-extension-main@velostrata.iam.gserviceaccount.com 服务帐号。

多个项目的配置示例

在本示例中,您将配置具有角色和服务帐号的 GCP,以处理到多个项目的迁移。脚本将使用 velostrata 基础架构项目。

运行带有 -o 标志的脚本会在组织级层创建管理员角色,从而使您可以将虚拟机迁移到多个项目。

python3 velostrata_sa_roles.py -p velostrata -d main -o 12345678

此命令将执行以下操作:

  • 在 ID 为 12345678 的组织中创建 velos_manager_main 角色。
  • velostrata 项目中创建 velos_ce_main 角色。
  • velostrata 项目中创建 velos-manager-main@velostrata.iam.gserviceaccount.comvelos-cloud-extension-main@velostrata.iam.gserviceaccount.com 服务帐号。

配置脚本参考

使用 velostrata_sa_roles.py 脚本创建可向 Migrate for Compute Engine 授予创建资源和管理 Cloud Storage API 的权限的 GCP 角色和服务帐号。

除非您要迁移到多个 GCP 项目中,否则该脚本会在基础架构项目中创建角色和服务帐号。在这种情况下,该脚本将在组织级层创建 Velostrata Manager 角色,并在基础架构项目中创建其他角色和服务帐号。

注意,为了成功完成此脚本,您需要(为运行脚本的管理员)分配设置 GCP 帐号、组织和项目中所述的角色。

python3 velostrata_sa_roles.py -p project-ID -d deployment-name [-o organization-ID]

参数

参数 说明 必需
-d--deployment-name 指定部署名称。此名称会附加到服务帐号和角色名称之后。必须少于 8 个字符,并且只能包含小写字母和数字。 是。
-p--project-id 指定将托管迁移的 GCP 项目的 ID。 是。
-o--org-id 指定数值形式的 GCP 组织 ID。如果要迁移到多个 GCP 项目,请使用此参数。 否。

后续步骤

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Migrate for Compute Engine (formerly Velostrata)