关于将基于对等互连的服务迁移到 Private Service Connect

许多托管式服务提供方使用 VPC 网络对等互连为位于其他 Virtual Private Cloud (VPC) 网络中的服务使用方提供连接。另一个解决方案是使用 Private Service Connect。

本文档简要介绍了服务提供方如何将基于对等互连的服务迁移到 Private Service Connect 并保留用于访问服务的 IP 地址。此迁移过程要求与给定子网相关联的所有资源必须同时迁移。

每个服务提供方都会决定是否以及何时迁移到 Private Service Connect。如需了解服务提供方是否正在从 VPC 网络对等互连迁移到 Private Service Connect,请查看服务文档或与服务提供方联系。

迁移基于对等互连的服务

在此基于对等互连的服务示例中,客户端 vm1 会将流量发送到提供方 VPC 网络中的服务负载均衡器 10.10.10.10。使用方网络具有提供方子网的对等互连子网路由,因为这两个网络是通过 VPC 网络对等互连连接的。

图 1. 在基于对等互连的服务中,使用方 VPC 网络和提供方 VPC 网络可以通过 VPC 网络对等互连相互访问(点击可放大)。

在迁移期间,系统会完成以下任务:

  • 提供方会将服务部署到新 VPC 网络中的新子网 producer-subnet-2 中,并通过 Private Service Connect 发布该服务。
  • 提供方创建内部范围以保留提供方子网 10.10.10.0/24 的 CIDR 范围。
  • 提供方删除原始子网 producer-subnet-1 及其中的所有资源。
  • 在使用方 VPC 网络中创建一个迁移子网 consumer-subnet-2,并将其配置为与提供方子网相同的 CIDR 范围。
  • 在迁移子网中创建一个 Private Service Connect 端点,并使用之前由提供方负载均衡器转发规则使用的 IP 地址进行配置。

迁移完成后,客户端 vm1 仍可通过 10.10.10.10 访问服务,但此 IP 地址现在与使用方 VPC 网络中的 Private Service Connect 端点相关联。

图 2. 迁移后,使用方 VPC 网络中的客户端会向 Private Service Connect 端点发送请求,该端点会将流量转发到提供方 VPC 网络(点击可放大)。

迁移任务

迁移包括在提供方 VPC 网络和使用方 VPC 网络中执行的任务。提供方可以与使用方协调以执行迁移,或者在 Google 管理的服务的情况下,服务提供方可以通过服务代理自动执行使用方任务。

任务 提供方 使用方
部署 Private Service Connect 服务
在提供方项目中,将服务部署到新的 VPC 网络中的新子网,并使用 Private Service Connect 发布该服务 由提供方执行
关停基于对等互连的服务
在提供方项目中创建内部范围,以预留提供方子网 CIDR 范围 由提供方执行 使用方提供要用于迁移目标的子网名称
删除提供方子网中的所有资源,然后删除该子网 由提供方执行 使用方无法再访问该服务
在使用方网络中创建 Private Service Connect 端点
在使用方网络中创建迁移子网 如果使用方未选择子网名称,则提供方会向使用方提供子网名称 由使用方(或由提供方通过服务代理)执行
在使用方网络中创建 Private Service Connect 端点 提供方向使用方提供服务连接 URI

由使用方(或由提供方通过服务代理)执行

使用方可以访问该服务

通过 Private Service Connect 端点验证访问权限 由使用方执行
完成迁移
删除内部范围 由提供方执行
更新使用方的迁移子网,将其转换为常规子网 由使用方(或由提供方通过服务代理)执行
如果其他服务不需要该连接,请在提供方网络和使用方网络中删除对等互连连接 由提供方执行 由使用方(或由提供方通过服务代理)执行

注意事项

如果您是希望将基于对等互连的服务迁移到 Private Service Connect 的服务提供方,请考虑以下事项:

  • 服务的 Private Service Connect 实现必须提供与基于对等互连的服务相同的功能。
  • 您必须能够在迁移期间删除包含服务实例的子网中的所有资源。如果多个服务实例使用同一子网,则所有实例都必须同时迁移。
  • 使用方的 Private Service Connect 端点以及提供方的服务连接和转发规则必须位于同一区域。

    如需允许从任何区域访问端点,您可以为端点启用全球访问权限

  • 如果服务保存状态,您必须有一种方法将状态迁移到新的服务实例。

  • 在提供方 VPC 网络中的所有服务实例迁移完毕之前,您无法删除对等互连连接。

  • 服务在迁移期间出现停机时间。

  • 迁移到 Private Service Connect 会对提供方和使用方产生价格影响。在迁移使用方之前,请确保使用方了解此变更。

  • Private Service Connect 会将客户端的来源 IP 地址转换为 NAT 子网中的 IP 地址。如果服务需要客户端的 IP 地址信息,您必须使用 PROXY 协议获取客户端 IP 地址,并在后端虚拟机和应用之间适当处理数据包。

用于迁移的内部范围

内部范围用于预留提供方子网中使用的 CIDR 范围,以便在删除提供方子网时,该 CIDR 范围无法用于其他用途。

为对等迁移创建内部范围时,您需要将用途设置为 FOR_MIGRATION,并指定源子网和目标子网。源子网是提供方子网,目标子网是稍后将在使用方网络中创建的新对等迁移子网。

创建内部范围可防止创建与目标子网名称和 CIDR 范围都匹配的子网。不过,如果使用不同的 CIDR 范围,则可以在使用方网络中创建另一个具有相同名称的子网。如果发生这种情况,则必须先删除名称匹配的客户子网或内部范围,才能继续迁移。

对等迁移子网

在使用方网络中为迁移创建的子网的用途设置为 PEER_MIGRATION。对等迁移子网只能包含 IP 地址和 Private Service Connect 端点。

迁移完成并通过验证后,子网会更新为常规子网,方法是将用途设置为 PRIVATE,然后可以在子网中创建其他资源。常规子网无法转换回对等迁移子网。

您必须拥有 compute.subnetworks.usePeerMigration Identity and Access Management (IAM) 权限才能创建或使用对等迁移子网。此权限不包含在任何预定义角色中;您必须创建自定义角色才能使用此权限。

只有具有 compute.subnetworks.usePeerMigration 权限的主账号才能执行以下操作:

  • 在对等迁移子网中创建和删除 IP 地址资源。
  • 在对等迁移子网中创建和删除 Private Service Connect 端点(转发规则)。

具有 Compute Network Admin 角色 (roles/compute.networkAdmin) 但不具有 compute.subnetworks.usePeerMigration 权限的主账号无法执行上述任务,但可以执行以下操作:

  • 创建一个用途设为 PEER_MIGRATION 的子网。
  • 更新子网,例如扩展 CIDR 范围或启用专用 Google 访问通道。
  • 将子网用途更新为 PRIVATE
  • 删除子网。

价格

如需了解价格信息,请参阅以下内容:

后续步骤