内部应用负载均衡器和连接的网络

本页面介绍通过连接的网络访问 Virtual Private Cloud (VPC) 网络中的内部负载平衡器的场景。在查看本页信息之前,您应该已熟悉以下指南中的概念:

使用 VPC 网络对等互连

在使用 VPC 网络对等互连将 VPC 网络连接到另一个网络时,Google Cloud 会在网络之间共享子网路由。子网路由允许来自对等网络的流量到达您的网络中的内部 TCP/UDP 负载均衡器。可在以下情况访问:

  • 您可以创建入站流量防火墙规则,以允许来自对等网络中的客户端虚拟机的流量。使用 VPC 网络对等互连时,网络之间不共享 Google Cloud 防火墙规则
  • 对于区域级内部应用负载均衡器,对等网络中的客户端虚拟机 (VM) 实例必须与内部负载均衡器位于同一区域。如果您配置全球访问权限,则不受此限制。

您不能使用 VPC 网络对等互连选择性地仅共享一些内部直通网络负载均衡器、区域内部代理网络负载均衡器或内部应用负载均衡器。所有内部负载均衡器均自动共享。 您可以通过配置后端虚拟机或端点以使用 HTTP 标头(例如 X-Forwarded-For)控制访问权限,从而限制对负载均衡器后端的访问权限。

使用 Cloud VPN 和 Cloud Interconnect

您可以通过对等网络访问内部负载平衡器,其中该对等网络通过专用互连连接或合作伙伴互连Cloud VPN 隧道或 VLAN 连接进行连接。对等网络可以是本地网络、另一个 Google Cloud VPC 网络,或者由其他云服务提供商托管的虚拟网络。

通过 Cloud VPN 隧道进行访问

当满足以下所有条件时,您可以通过 Cloud VPN 隧道访问内部负载均衡器:

在内部负载平衡器的网络中

  • 如果停用全球访问权限,Cloud VPN 网关及隧道必须与负载均衡器位于同一区域。如果在负载均衡器的转发规则上启用了全球访问权限,则不存在此限制。
  • 路由必须提供从代理系统返回客户端所在的本地网络或对等网络的响应路径。如果您使用的是采用动态路由的 Cloud VPN 隧道,请考虑使用负载均衡器 Cloud VPN 网络的动态路由模式。动态路由模式决定了哪些自定义动态路由可用于代理专用子网中的代理。

在对等网络中

对等网络必须至少有一个 Cloud VPN 隧道,该隧道的路由指向定义了内部负载均衡器的子网。

如果对等网络也是一个 Google Cloud VPC 网络:

  • 对等网络的 Cloud VPN 网关和隧道可位于任何区域。

  • 对于使用动态路由的 Cloud VPN 隧道,VPC 网络的动态路由模式可决定每个区域的客户端提供哪些路由。如需为所有区域的客户端提供一组一致的自定义动态路由,请使用全球动态路由模式。

  • 确保本地网络或对等网络防火墙允许发送到负载平衡器转发规则的 IP 地址的数据包。确保本地网络或对等网络防火墙允许从负载平衡器的转发规则的 IP 地址接收响应数据包。

下图突出显示了通过 Cloud VPN 网关及其关联隧道访问内部负载平衡器时的关键概念。Cloud VPN 使用 Cloud VPN 隧道将您的本地网络安全地连接到 Google Cloud VPC 网络。

内部负载均衡和 Cloud VPN。
内部负载平衡和 Cloud VPN(点击放大)

请注意与此示例关联的以下配置元素:

  • lb-network 中,已配置使用动态路由的 Cloud VPN 隧道。VPN 隧道、网关和 Cloud Router 路由器均位于 REGION_A,内部负载平衡器的组件也在此区域。
  • 入站允许防火墙规则已配置为应用于实例组 A 和 B 中的后端虚拟机,以便它们可以接收来自 VPC 网络中的 IP 地址的流量以及来自本地网络 10.1.2.0/24192.168.1.0/24 的流量。未创建出站拒绝防火墙规则,因此应用隐式允许出站规则
  • 根据已配置的会话亲和性,从本地网络(包括 192.168.1.0/24)中的客户端发送到内部负载均衡器的 IP 地址 10.1.2.99 的数据包将直接传送到 vm-a2 等正常运行的后端虚拟机。
  • 从后端虚拟机(例如 vm-a2)发送的回复通过 VPN 隧道传送到本地客户端。

如需排查 Cloud VPN 问题,请参阅 Cloud VPN 问题排查

通过 Cloud Interconnect 进行访问

在内部负载平衡器的网络满足以下所有条件时,您可以通过连接到负载平衡器的 VPC 网络的本地对等网络访问内部负载平衡器:

  • 如果停用全球访问权限,则 VLAN 连接和 Cloud Router 路由器必须与负载均衡器位于同一区域。如果在负载均衡器的转发规则上启用了全球访问权限,则不存在此限制。

  • 本地路由器必须提供从负载均衡器的后端到本地网络的响应路径。专用互连和合作伙伴互连的 VLAN 连接都必须使用 Cloud Router 路由器;因此,自定义动态路由需提供响应路径。它们知悉的一组自定义动态路由取决于负载均衡器网络的动态路由模式。

  • 确保本地防火墙允许发送到负载均衡器转发规则的 IP 地址的数据包。确保本地防火墙允许从负载均衡器转发规则的 IP 地址接收的响应数据包。

通过 Cloud VPN 和 Cloud Interconnect 使用全球访问权限

默认情况下,客户端必须位于同一网络中,或者位于使用 VPC 网络对等互连连接的 VPC 网络中。您可以启用全球访问权限,允许来自任何区域的客户端访问您的负载均衡器。

启用全球访问权限时,以下资源可位于任何区域中:
  • Cloud Router 路由器
  • Cloud VPN 网关和隧道
  • VLAN 连接

在图中:

  • 负载均衡器的前端和后端都位于 REGION_A 地区。
  • Cloud Router 路由器位于 REGION_B 区域。
  • Cloud Router 路由器与本地 VPN 路由器对等互连。
  • 边界网关协议 (BGP) 对等互连会话可使用直接对等互连或合作伙伴互连通过 Cloud VPN 或 Cloud Interconnect 完成。
具有全球访问权限的内部负载均衡。
具有全球访问权限的内部负载均衡(点击可放大)

VPC 网络的动态路由模式设置为 global,使 REGION_B 中的 Cloud Router 路由器能够为负载器 VPC 网络的任何区域中的子网通告子网路由。

多个出站路径

在生产环境中,您应使用多个 Cloud VPN 隧道或 VLAN 连接以实现冗余。本部分讨论了使用多个隧道或 VLAN 连接时的要求。

在下图中,两个 Cloud VPN 隧道将 lb-network 连接到本地网络。尽管此处使用的是 Cloud VPN 隧道,但这些原则同样适用于 Cloud Interconnect。

内部负载均衡和多个 Cloud VPN 隧道。
内部负载平衡和多个 Cloud VPN 隧道(点击放大)

您必须将每个隧道或每个 VLAN 连接配置为与内部负载均衡器位于同一区域。如果您启用了全球访问权限,则无需满足此要求。

多个隧道或 VLAN 连接可以提供额外的带宽,也可以用作备用路径以实现冗余。

请注意以下几点:

  • 如果本地网络有两条优先级相同的路由,每条路由的目的地均为 10.1.2.0/24,并且下一个跃点与内部负载均衡器所在区域的不同 VPN 隧道相对应,则可以使用等价多路径 (ECMP) 将流量从本地网络 (192.168.1.0/24) 发送到负载均衡器。
  • 当数据包传送到 VPC 网络后,内部负载均衡器会根据已配置的会话亲和性将其分布到后端虚拟机。
  • 如果 lb-network 有两条路由,每条路由的目标均为 192.168.1.0/24,并且下一个跃点对应于不同的 VPN 隧道,则来自后端虚拟机的响应可以根据网络中路由的优先级在每个隧道上传送。如果使用不同的路由优先级,则其中一个隧道可以用作另一个隧道的备用隧道。如果使用相同的优先级,则使用 ECMP 传送响应。
  • 从后端虚拟机(例如 vm-a2)发送的回复将通过合适的隧道直接传送到本地客户端。从 lb-network 的角度来看,如果路由或 VPN 隧道发生更改,流量可能会使用其他隧道出站。如果正在进行的连接中断,这可能导致 TCP 会话重置。

后续步骤