关于使用 Hybrid Subnets 迁移到 Google Cloud
Hybrid Subnets 可帮助您将工作负载从另一个网络(来源网络)迁移到虚拟私有云 (VPC) 子网,而无需更改任何 IP 地址。通过将来源网络中的子网与 VPC 子网进行组合,您可以创建单个逻辑子网,以便随着时间的推移迁移各个工作负载和虚拟机 (VM) 实例。迁移完所有工作负载和虚拟机后,您可以停用来源子网。
Hybrid Subnets 还支持将虚拟机从 Google Cloud迁移到本地网络或在两个 VPC 网络之间迁移。
规格
混合子网具有以下规范。
- 属性:
- 混合子网是一种单个逻辑子网,它将源网络的一部分与 VPC 网络中的子网相结合。
- 混合子网中的所有虚拟机和工作负载之间都保持内部连接。
- 源网络可以是本地网络或其他 VPC 网络。细分可以是整个子网,也可以是子网的一部分。
- 混合子网的两个部分必须通过网络连接产品(例如 Cloud VPN 或 Cloud Interconnect)连接。
- VPC 子网的主要 IPv4 地址范围必须与混合子网使用的来源网络分段的范围匹配。
- VPC 网络配置:
- 源网络配置:
- 您必须在来源网络中配置代理 ARP。
- 您必须将来源网络配置为通告混合子网的 IP 地址范围。
混合子网路由
混合子网将来源网络中的子网与 VPC 子网相结合,以创建单个逻辑子网。混合子网两个部分中的工作负载都会保持内部连接;无论目标位置如何,工作负载都可以将流量发送到混合子网任一部分中的目标,就像目标位于本地一样。
VPC 网络路由
在 VPC 路由模型的子网路由匹配步骤中,如果数据包的目的地与本地子网路由或对等互连子网路由匹配, Google Cloud 会尝试使用匹配的子网路由来传送数据包。在常规子网中,如果目标未与正在运行的虚拟机或内部转发规则相关联,则系统会丢弃数据包,并忽略所有其他路由。
不过,如果为子网启用了混合子网路由,则子网路由会变为混合子网路由,并且路由行为会有所不同:
- 如果数据包与 VPC 子网中的正在运行的虚拟机实例或内部转发规则相关联,则 Google Cloud根据本地混合子网路由传送数据包。
- 如果数据包未与 VPC 子网中的运行中虚拟机或内部转发规则相关联,则 Google Cloud 会使用针对不匹配资源的特殊路由流程。此过程包括检查与混合子网范围重叠的自定义动态路由和静态路由。在配置正确的混合子网中,数据包会通过 Cloud Router 路由器为源子网学习的本地动态路由路由到源网络。
例如,在图 3 中,数据包 A 通过本地混合子网路由被路由到混合子网的 VPC 部分中的虚拟机。数据包 B 的目的地未与混合子网的 VPC 部分中的正在运行的虚拟机或内部转发规则相关联,因此 Google Cloud 会检查是否存在冲突的自定义路由。找到匹配项, Google Cloud 使用重叠的自定义动态路由将数据包 B 传递到源网络。
源网络路由
当源网络中的工作负载将数据包发送到混合子网 IP 地址范围内的目的地时,源网络的路由器或第一跳设备会执行路由表查找。
如果目标与源网络中的工作负载相关联,则路由器不会干预代理 ARP。目的地接收 ARP 请求并使用自己的 MAC 地址进行响应,然后数据包在本地传送。
如果目的地位于混合子网的 VPC 部分,并且路由器已获知比本地子网路由更具体的目的地动态路由,则路由器会使用最长前缀匹配来选择动态路由。这会触发路由器的代理 ARP 功能。路由器会使用自己的 MAC 地址进行响应,并将数据包路由到 VPC 网络中的 Cloud Router。
限制
混合子网具有以下限制。
资源限制:
- 对每个 VPC 网络配置的混合子网数量不要超过 25。
- 不要超过 130 个
Instances per VPC network。 Internal passthrough Network Load Balancer forwarding rules per VPC network不要超过 25。- 如果具有混合子网的 VPC 网络使用 VPC 网络对等互连连接到其他 VPC 网络,则
Dynamic routes per region per peering group不要超过 50。 - 对每个 VPC 网络配置的自定义路由(静态和动态)数量不要超过 300。
这些资源限制不会通过 Google Cloud 限制或配额来强制执行。超出这些限制可能会导致连接和稳定性问题。
不支持的流量和路线:
- 如果冲突路由的下一个跃点与混合子网位于不同的区域,则数据包会被丢弃。
- 以下路线类型不支持作为冲突路线:
- 系统生成的默认路由
- 基于政策的路由
- 具有网络标记的静态路由
- 目的地包含混合子网路由或比混合子网路由更广泛的路由
- Network Connectivity Center 不完全支持混合子网。您可以将包含混合子网的 VPC 网络配置为 Network Connectivity Center hub 的 spoke。不过,从连接的 Spoke 到混合子网的 IP 地址范围的流量具有不可预测的路由行为。
- Hybrid NAT 不支持混合子网。虽然您可以配置混合子网以使用混合 NAT,但该功能不会应用于受混合子网路由影响的流量。
- 混合子网路由不适用于 IPv6 流量。
- 不支持混合子网内的广播和多播流量。
- 您无法将不支持通告
/32路由的第 3 层合作伙伴互连连接与 Hybrid Subnets 搭配使用。 - 混合子网的 Cloud Router 路由器不能超过每个 BGP 会话的自定义通告路由数量上限。
- 来源网络中的工作负载无法使用专用 Google 访问通道访问 Google API 和服务。
- 来源网络中的工作负载无法访问 Google API 的 Private Service Connect 端点。
不支持的迁移场景:
- Hybrid Subnets 不支持从其他云服务提供商迁移工作负载。
- Hybrid Subnets 不支持从 Azure 或 AWS 来源迁移虚拟机。
- Hybrid Subnets 不支持站点到站点数据传输。
- Hybrid Subnets 不支持将 Google Cloud VMware Engine 用作迁移目标。如果 VMware Engine 是您的迁移目标,我们建议您使用 VMware HCX 迁移 VMware 虚拟机。
其他限制:
- Hybrid Subnets 不会检测混合子网的来源网络和 VPC 部分之间的 IP 地址冲突。请确保每个 IP 地址(默认网关除外)仅使用一次。
- Hybrid Subnets 无法在 IPv4 子网中的预留 IP 地址托管工作负载。
- 来源网络中的工作负载不能是使用集中式健康检查的混合连接网络端点组的端点。
- Cloud DNS 入站转发不会响应来自来源网络中工作负载的 DNS 请求。
迁移选项
Google 建议将 Migrate to Virtual Machines 与 Hybrid Subnets 搭配使用,以自动执行从 VMware 来源或是从 Google Cloud VMware Engine 来源迁移虚拟机的过程。
或者,只要满足本文档中所述的 Hybrid Subnets 的要求,您就可以将第三方迁移工具与 Hybrid Subnets 搭配使用。
如需了解如何使用 Migrate to Virtual Machines 规划迁移,请参阅使用 Migrate to VMs 的迁移过程。
如需详细了解迁移选项,请参阅迁移资源。
如需获得有关使用 Hybrid Subnets 迁移到 Google Cloud 的支持,请提交支持请求。
使用 Hybrid Subnets 的注意事项
以下部分介绍了使用 Hybrid Subnets 的注意事项。
代理 ARP 和 Hybrid Subnets
Hybrid Subnets 要求在来源网络的路由器或第一跃点设备(主机首次发送目的地位于其本地网络之外的流量时的位置)上配置代理 ARP。
第一跃点设备可以是路由器、虚拟设备、防火墙或运行软件解决方案(例如 choparp)的虚拟机。
为了在来源网络中使用代理 ARP,我们建议执行以下操作:
- 请咨询来源网络架构的供应商,了解与启用代理 ARP 和保护网络环境相关的最佳实践。
- 完成向Google Cloud的迁移后,停用代理 ARP。
区域性限制
为了让混合子网正常运行,冲突的路由(与混合子网的地址范围重叠的自定义路由)的所有下一个跃点都必须与混合子网位于同一区域。
如果冲突的路由在其他区域中具有下一个跃点:
- 如果路由同时具有本地和远程下一个跃点,则每当 ECMP 选择远程区域中的下一个跃点时,流量都会被丢弃。即使数据包还匹配了在同一区域中具有下一个跃点的不太具体的路由,也会发生此数据包丢弃情况。
- 如果路由在与混合子网相同的区域中没有下一个跃点,则数据包会被丢弃。
确保以下资源位于同一区域:
- 配置为混合子网的 VPC 子网
- 获知通往源网络的路由的 Cloud Router
- 提供混合连接的高可用性 VPN 隧道或 VLAN 连接
例如,假设有一个 IP 地址范围为 192.0.2.0/24 的混合子网。VPC 子网位于 us-central1 区域中。
Cloud Router 路由器已获知两条冲突的路由:
- 目标范围为
192.0.2.0/25且下一个跃点位于us-central1区域中的自定义路由 - 目标范围为
192.0.2.0/30且下一个跃点位于us-west1区域中的自定义路由。
数据包发送到目的地 192.0.2.2。此 IP 地址未与 VPC 子网中的正在运行的虚拟机或内部转发规则相关联,因此路由选择模型会选择具有最具体目的地的自定义路由,即 192.0.2.0/30。此路由在混合子网的区域中没有下一个跃点,因此数据包会被丢弃。
如需了解详情,请参阅混合子网中的不匹配资源。
VPC 网络对等互连
您可以使用 VPC 网络对等互连将混合子网连接到对等 VPC 网络。必须将混合子网的 VPC 网络配置为导出子网和自定义路由,并将对等互连的 VPC 网络配置为导入这些路由。
当对等互连的 VPC 网络已对路由进行编程时,无论目标是否存在于 Google Cloud 还是源网络中,该网络都可以访问混合子网 IP 地址范围内的目标。
在以下情况下,不会为对等网络设置路由:
- 对等互连网络中的本地子网路由的目的地范围与导入的路由的目的地范围相同。
- 超出了每个对等互连组每个区域的动态路由数配额。
- 这两个 VPC 网络未直接对等互连。 VPC 网络对等互连不具有传递性。
如果满足上述任一条件,从对等互连的 VPC 网络的角度来看,混合子网将无法正常运行。
网络性能
Hybrid Subnets 使用 OSI 模型的第 3 层,在混合子网的来源网络和 VPC 部分之间路由数据包。 当某些工作负载存在于来源网络中,但其他工作负载已迁移到云端时,此方法可帮助 Hybrid Subnets 避免迁移期间可能发生的延迟时间、抖动和吞吐量难题。
具体来说,避免第 2 层隧道有助于防止与额外第 2 层叠加层的封装和加密相关的性能下降。此外,第 3 层路由可让 Hybrid Subnets 避免第 2 层隧道的常见问题,即流量在到达可能靠近流量来源点的目的地之前发送到中央节点。此问题有时称为网络探测。
Hybrid Subnets 的路由方法意味着,您可以获得与不使用 Hybrid Subnets 的网络类似或相同的混合子网的性能。
防火墙和 Hybrid Subnets
Hybrid Subnets 可避免将防火墙与封装在第 2 层叠加层的流量结合使用的难题。对于第 2 层流量,除非您采取特定措施(例如透明解密或深度检查叠加流量等),否则防火墙只能检查叠加端点内或外的数据包。
将现有防火墙和防火墙规则与 Hybrid Subnets 搭配使用无需特别注意。但是,您可能需要配置防火墙规则,以确保 Google Cloud 虚拟机可以与来源网络中的工作负载通信。
价格
使用 Hybrid Subnets 无需额外费用。但是,您需要为混合子网的 VPC 部分中的资源和网络流量付费。
如需了解详情,请参阅 Virtual Private Cloud 价格。
后续步骤
- 如需为 Hybrid Subnets 连接准备 VPC 网络,请参阅为 Hybrid Subnets 连接做好准备。