添加目标项目

使用 Migrate to Virtual Machines 时,您将使用两种类型的项目:

  • 宿主项目 使用宿主项目执行迁移并托管运行所迁移工作负载的 Compute Engine 实例。必须按照启用 Migrate to Virtual Machines 服务中的说明创建和配置宿主项目。

  • 目标项目

    目标项目为运行迁移的虚拟机的 Compute Engine 实例定义目标项目。您的宿主项目可用作目标项目。如果您想要将虚拟机迁移到其他项目,则必须将其作为目标项目添加到 Migrate to Virtual Machines。

    在准备好开始部署迁移后的工作负载之前,通常不会将目标项目添加到 Migrate to Virtual Machines。

执行以下步骤以将目标项目添加到 Migrate to Virtual Machines:

  1. 确定并配置目标项目
  2. 设置所需权限
  3. 添加目标项目

如有必要,您可以稍后移除目标项目

确定并配置目标项目

您必须确定要用作目标项目的 Google Cloud 项目:

  1. Google Cloud 控制台的“项目选择器”页面上,选择或创建一个用作目标项目的 Google Cloud 项目:

    转到项目选择器页面

  2. 记下所选项目的名称和 ID。

  3. 在目标项目上启用以下服务:

    姓名 标题
    servicemanagement.googleapis.com Service Management API
    servicecontrol.googleapis.com Service Control API
    iam.googleapis.com Identity and Access Management (IAM) API
    cloudresourcemanager.googleapis.com Cloud Resource Manager API
    compute.googleapis.com Compute Engine API

    如需启用所需的服务,请执行以下操作:

    1. 确保您已将默认项目设置为目标项目。将 PROJECT_ID 替换为目标项目的 ID:

      gcloud config set project PROJECT_ID
    2. 查看已启用的服务的列表:

      gcloud services list
    3. 如果您没有看到列出的所有必需服务,请启用它们:

      gcloud services enable servicemanagement.googleapis.com servicecontrol.googleapis.com iam.googleapis.com cloudresourcemanager.googleapis.com compute.googleapis.com

设置所需权限

为了让用户能够添加目标项目并在目标项目上配置 Compute Engine 实例的详细信息,该用户需要必要的 IAM 角色和权限。

由于您是在 Google Cloud 控制台中执行这些操作,因此需要这些权限的用户账号是您用于登录 Google Cloud 控制台的账号:

  • 如需将目标项目添加到 Migrate to Virtual Machines,您用于登录 Google Cloud 控制台的用户账号需要具备设置添加目标项目的权限中所述的权限。

  • 如需配置目标项目上运行的 Compute Engine 实例的目标详情,您用于登录 Google Cloud 控制台的用户账号需要访问目标项目中的数据(例如网络、实例类型等)的权限。如需了解详情,请参阅设置配置目标实例的权限

根据您为环境配置 IAM 的方式,您可以配置单个用户来执行两项操作,也可以配置两个单独的用户。

设置添加目标项目的权限

如需添加目标项目,您在 Google Cloud 控制台中使用的用户账号需要:

  • 宿主项目的 vmmigration.admin 角色

  • 目标项目的 resourcemanager.projectIamAdmin 角色

要添加这些角色,请执行以下操作:

  1. 确定您的用户账号的电子邮件地址。在 Google Cloud 控制台中,您可以在 IAM 页面上查看项目中的所有用户:

    转到项目选择器页面

  2. 为您的用户账号授予宿主项目的 vmmigration.admin 角色:

    gcloud projects add-iam-policy-binding HOST_PROJECT_ID --member=user:USER_EMAIL_ADDRESS --role=roles/vmmigration.admin
  3. 为您的用户账号授予目标项目的 resourcemanager.projectIamAdmin 角色:

    gcloud projects add-iam-policy-binding TARGET_PROJECT_ID --member=user:USER_EMAIL_ADDRESS --role=roles/resourcemanager.projectIamAdmin

如果您无法将目标项目的角色 resourcemanager.projectIamAdmin 分配给您的用户账号,则可以将目标项目的角色 vmmigration.serviceAgent 分配给 Migrate to Virtual Machines 默认服务账号。

如需添加此角色,请执行以下操作:

  1. 打开 Google Cloud 控制台中的 Migrate to Virtual Machines 页面:

    转到 Migrate to Virtual Machines 页面

  2. 选择目标标签页。

    该页面顶部是一个信息框,其中显示 Migrate to Virtual Machines 默认服务账号的电子邮件地址,格式为:

    service-HOST_PROJECT_NUMBER@gcp-sa-vmmigration.iam.gserviceaccount.com

  3. 复制电子邮件地址。

  4. 使用该电子邮件地址将目标项目的 vmmigration.serviceAgent 角色授予 Migrate to Virtual Machines 默认服务账号:

    gcloud projects add-iam-policy-binding TARGET_PROJECT_ID \
       --member=serviceAccount:service-HOST_PROJECT_NUMBER@gcp-sa-vmmigration.iam.gserviceaccount.com \
       --role=roles/vmmigration.serviceAgent

设置配置目标详情的权限

如需在目标项目上配置 Compute Engine 实例的目标详情,您在 Google Cloud 控制台上使用的用户账号需要:

  • 针对目标项目的 compute.viewer 角色和 iam.serviceAccountUser 角色

如需添加此角色,请执行以下操作:

  1. 确定您的用户账号的电子邮件地址。在 Google Cloud 控制台中,您可以在 IAM 页面上查看项目中的所有用户:

    转到项目选择器页面

  2. 为您的用户账号授予针对目标项目的 compute.viewer 角色和 iam.serviceAccountUser 角色:

    gcloud projects add-iam-policy-binding TARGET_PROJECT_ID --member=user:USER_EMAIL_ADDRESS --role=roles/compute.viewer
    gcloud projects add-iam-policy-binding TARGET_PROJECT_ID --member=user:USER_EMAIL_ADDRESS --role=roles/iam.serviceAccountUser
  3. 仅限共享 VPC 环境)为您的用户账号授予针对共享 VPC 宿主项目的 compute.viewer 角色:

    gcloud projects add-iam-policy-binding VPC_HOST_PROJECT_ID --member=user:USER_EMAIL_ADDRESS --role=roles/compute.viewer

添加目标项目

配置目标项目并为用户账号分配必要的角色后,您可以将其添加到 Migrate to Virtual Machines。

如需将目标项目添加到 Migrate to Virtual Machines,请执行以下操作:

  1. 打开 Google Cloud 控制台中的 Migrate to Virtual Machines 页面:

    转到 Migrate to Virtual Machines 页面

  2. 选择目标标签页。此时会显示已添加的项目的列表。

  3. 选择添加项目

    此时会打开一个面板,其中列出可用项目。

  4. 选择一个或多个项目

  5. 选择 Add(添加)。

    新项目会显示在项目表中。

移除目标项目

您可以从 Migrate to Virtual Machines 中移除目标项目。移除目标项目意味着您无法再执行使用目标项目托管 Compute Engine 实例的测试克隆或割接操作。

将目标项目添加到 Migrate to Virtual Machines 时,Migrate to Virtual Machines 会自动向宿主项目中的 Migrate to Virtual Machines 默认服务账号添加权限,以允许宿主项目对目标项目执行操作。

如果您之后移除目标项目,则 Migrate to Virtual Machines 会尝试移除该服务账号的这些权限。但是,如果发生了阻止移除这些权限的更改,目标项目仍会从 Migrate to Virtual Machines 中移除。如有必要,您可以手动更新服务账号以移除这些权限。

如需从 Migrate to Virtual Machines 中移除目标项目,请执行以下操作:

  1. 打开 Google Cloud 控制台中的 Migrate to Virtual Machines 页面:

    转到 Migrate to Virtual Machines 页面

  2. 选择目标标签页。此时会显示已添加的项目的列表。

  3. 选择一个或多个项目

  4. 选择移除项目

  5. 确认您要移除这些项目。

后续步骤