转发规则概览

转发规则及其对应的 IP 地址构成 Google Cloud 负载平衡器的前端配置。

每条转发规则均会引用负载平衡器用于接受流量的 IP 地址和一个或多个端口。有些 Google Cloud 负载平衡器仅允许您指定一组预定义端口,而有些 Google Cloud 负载平衡器允许您指定任意端口。

转发规则还会指定 IP 协议。对于 Google Cloud 负载平衡器,IP 协议始终为 TCP 或 UDP。

根据负载平衡器类型的不同,具体情况如下:

此外,根据负载平衡器及其层级,转发规则可以是全球级,也可以是区域级

内部转发规则

内部转发规则转发源自 Google Cloud 网络内的流量。客户端可以与后端位于同一个 Virtual Private Cloud (VPC) 网络中,客户端也可以位于连接的网络中。

以下两种类型的 Google Cloud 负载平衡器使用内部转发规则:

  • 内部 TCP/UDP 负载平衡器
  • 内部 HTTP(S) 负载平衡器

内部 TCP/UDP 负载平衡器

对于内部 TCP/UDP 负载平衡器,受支持的流量类型为 IPv4,受支持的协议为 TCP 或 UDP(不同时支持两者)。

每个内部 TCP/UDP 负载平衡器至少有一条区域级内部转发规则。区域级内部转发规则指向负载平衡器的区域级内部后端服务。下图展示了转发规则在内部 TCP/UDP 负载平衡架构中的位置。

内部 TCP/UDP 负载平衡转发规则(点击可放大)
内部 TCP/UDP 负载平衡转发规则(点击可放大)

下图展示了负载平衡器组件在子网和区域中的位置。

内部转发规则必须位于区域和子网中,而后端服务只需位于该区域中。

内部 TCP/UDP 负载平衡器概要示例(点击可放大)
内部 TCP/UDP 负载平衡器概要示例(点击可放大)

如需详细了解内部 TCP/UDP 负载平衡器,请参阅内部 TCP/UDP 负载平衡概览。如需了解如何配置内部 TCP/UDP 负载平衡器,请参阅设置内部 TCP/UDP 负载平衡

内部 HTTP(S) 负载平衡器

对于内部 HTTP(S) 负载平衡器,受支持的流量类型为 IPv4,受支持的协议可以是 HTTP、HTTPS 或 HTTP/2。

每个内部 HTTP(S) 负载平衡器只有一条区域级内部转发规则。区域级内部转发规则指向负载平衡器的区域级目标 HTTP 或 HTTPS 代理。下图展示了转发规则在内部 HTTP(S) 负载平衡架构中的位置。

内部 HTTP(S) 负载平衡转发规则(点击可放大)
内部 HTTP(S) 负载平衡转发规则(点击可放大)

如需详细了解内部 HTTP(S) 负载平衡器,请参阅内部 HTTP(S) 负载平衡概览。如需了解如何配置内部 HTTP(S) 负载平衡器,请参阅准备内部 HTTP(S) 负载平衡设置

外部转发规则

外部转发规则转发源自互联网、VPC 网络之外的流量。

以下 Google Cloud 负载平衡器使用外部转发规则:

  • 外部 HTTP(S) 负载平衡器
  • SSL 代理负载平衡器
  • TCP 代理负载平衡器
  • 网络负载平衡器

HTTP(S) 负载平衡器

外部 HTTP(S) 负载平衡器同时支持优质层级和标准层级。转发规则和 IP 地址均取决于您为负载平衡器选择的层级。

在外部 HTTP(S) 负载平衡器中,转发规则指向目标代理。

在优质层级中,外部 HTTP(S) 负载平衡器使用全球级外部 IP 地址(可以是 IPv4 地址或 IPv6 地址)和全球级外部转发规则。您可以提供可在全球范围内访问的应用,将最终用户引导到最近区域中的后端,并在多个区域之间分发流量。由于全球级外部转发规则使用单个外部 IP 地址,因此您无需在不同区域维护单独的 DNS 记录,也不必等待 DNS 更改传播。

您可以将两个不同的全球级外部 IP 地址指向同一个外部 HTTP(S) 负载平衡器。例如,在优质层级中,一条转发规则的全球级外部 IP 地址可以是 IPv4 地址,另一条转发规则的全球级外部 IP 地址可以是 IPv6 地址。这两条转发规则可以指向同一个目标代理。因此,您可以为同一个外部 HTTP(S) 负载平衡器同时提供 IPv4 和 IPv6 地址。如需了解详情,请参阅 IPv6 终结文档。

在标准层级中,外部 HTTP(S) 负载平衡器使用区域级外部 IP 地址(必须是 IPv4 地址)和区域级外部转发规则。标准层级中的外部 HTTP(S) 负载平衡器只能将流量分配到单个区域内的后端。

下图展示了转发规则在 HTTP(S) 负载平衡架构中的位置。

HTTP(S) 负载平衡转发规则(点击可放大)
HTTP(S) 负载平衡转发规则(点击可放大)

如需详细了解外部 HTTP(S) 负载平衡器,请参阅 HTTP(S) 负载平衡概览

SSL 代理负载平衡器

SSL 代理负载平衡器类似于外部 HTTPS 负载平衡器,因为它可以终止 SSL (TLS) 会话。SSL 代理负载平衡器不支持诸如外部 HTTP(S) 负载平衡器之类的基于路径的重定向,因此它们最适合处理非 HTTPS 协议的 SSL,例如基于 SSL 的 IAMP 或 Websocket。如需了解详情,请参阅 SSL 常见问题解答

在 SSL 代理负载平衡器中,转发规则指向目标代理。

SSL 代理负载平衡器同时支持优质层级和标准层级。转发规则和 IP 地址均取决于您为负载平衡器选择的层级。

在优质层级中,SSL 代理负载平衡器使用全球级外部 IP 地址(可以是 IPv4 地址或 IPv6 地址)和全球级外部转发规则。您可以提供可在全球范围内访问的应用,将最终用户引导到最近区域中的后端,并在多个区域之间分发流量。由于全球级外部转发规则使用单个外部 IP 地址,因此您无需在不同区域维护单独的 DNS 记录,也不必等待 DNS 更改传播。

您可以将两个不同的全球级外部 IP 地址指向同一个 SSL 代理负载平衡器。例如,在优质层级中,一条转发规则的全球级外部 IP 地址可以是 IPv4 地址,另一条转发规则的全球级外部 IP 地址可以是 IPv6 地址。这两条转发规则可以指向同一个目标代理。因此,您可以为同一个 SSL 代理负载平衡器同时提供 IPv4 和 IPv6 地址。如需了解详情,请参阅 IPv6 终结文档。

在标准层级中,SSL 代理负载平衡器使用区域级外部 IP 地址(必须是 IPv4 地址)和区域级外部转发规则。标准层级中的 SSL 代理负载平衡器只能将流量分配到单个区域内的后端。

下图展示了转发规则在 SSL 代理负载平衡架构中的位置。

SSL 代理负载平衡转发规则(点击可放大)
SSL 代理负载平衡转发规则(点击可放大)

如需详细了解 SSL 代理负载平衡器,请参阅 SSL 代理负载平衡概览。如需了解如何配置 SSL 代理负载平衡器,请参阅设置 SSL 代理负载平衡

TCP 代理负载平衡器

TCP 代理负载平衡器提供全球级 TCP 代理功能,并且无 SSL 分流。TCP 代理负载平衡器同时支持优质层级和标准层级。转发规则和 IP 地址均取决于您为负载平衡器选择的层级。

在 TCP 代理负载平衡器中,转发规则指向目标代理。

在优质层级中,TCP 代理负载平衡器使用全球级外部 IP 地址(可以是 IPv4 地址或 IPv6 地址)和全球级外部转发规则。您可以提供可在全球范围内访问的应用,将最终用户引导到最近区域中的后端,并在多个区域之间分发流量。由于全球级外部转发规则使用单个外部 IP 地址,因此您无需在不同区域维护单独的 DNS 记录,也不必等待 DNS 更改传播。

您可以将两个不同的全球级外部 IP 地址指向同一个 TCP 代理负载平衡器。例如,在优质层级中,一条转发规则的全球级外部 IP 地址可以是 IPv4 地址,另一条转发规则的全球级外部 IP 地址可以是 IPv6 地址。这两条转发规则可以指向同一个目标代理。因此,您可以为同一个 TCP 代理负载平衡器同时提供 IPv4 和 IPv6 地址。如需了解详情,请参阅 IPv6 终结文档。

在标准层级中,TCP 代理负载平衡器使用区域级外部 IP 地址(必须是 IPv4 地址)和区域级外部转发规则。标准层级中的 TCP 代理负载平衡器只能将流量分配到单个区域内的后端。

下图展示了转发规则在 TCP 代理负载平衡架构中的位置。

TCP 代理负载平衡转发规则(点击可放大)
TCP 代理负载平衡转发规则(点击可放大)

如需详细了解 TCP 代理负载平衡器,请参阅 TCP 代理负载平衡概览。如需了解如何配置 TCP 代理负载平衡器,请参阅设置 TCP 代理负载平衡

网络负载平衡器

网络负载平衡器在单个区域中的后端之间分配 TCP 或 UDP 流量,并且它们同时支持优质层级和标准层级。网络负载平衡器使用区域级外部转发规则和区域级外部 IPv4 地址(与层级无关)。您可以通过互联网随时随地访问区域级外部 IP 地址。

区域级外部转发规则指向负载平衡器的目标池。

网络负载平衡转发规则(点击可放大)
网络负载平衡转发规则(点击可放大)

如需在不同区域中使用网络负载平衡,您必须在每个区域中创建一个网络负载平衡器。无论什么层级,情况都是如此。下图展示了包含三个不同区域的三个负载平衡器的网络负载平衡。每个负载平衡器都有自己的区域级外部转发规则及其自己的区域级外部 IPv4 地址。

网络负载平衡示例(点击可放大)
网络负载平衡示例(点击可放大)

如需详细了解网络负载平衡器,请参阅网络负载平衡概览。如需了解如何配置网络负载平衡器,请参阅设置网络负载平衡

网络服务层级对负载平衡器的影响

网络服务层级中,标准层级和优质层级之间的区别取决于通过公共互联网路由流量的距离:

  • 标准层级:将流量尽可能分流到靠近 Google 数据中心的位置。这意味着与优质层级相比,通常通过公共互联网路由流量的距离更长。

  • 优质层级:在离开 Google Cloud 到达最终用户之前,尽可能通过 Google Cloud 的专用网络路由流量。

内部负载平衡器(HTTP(S) 和 TCP/UDP)必须使用 Google 的专用网络,因此始终处于优质层级。内部负载平衡始终为区域级。

通过公共互联网只能路由外部负载平衡器(HTTP(S)、TCP 代理、SSL 代理和 TCP/UDP 网络)。您可以选择外部负载平衡器处于优质层级并使用 Google 的专用网络,还是处于标准层级并使用公共互联网。

网络负载平衡始终为区域级,与层级无关。

对于优质层级,外部 HTTP(S) 负载平衡器、TCP 代理负载平衡器和 SSL 代理负载平衡器为全球级。其转发规则、IP 地址和后端服务为全球级。在标准层级中,这些负载平衡器实质上为区域级。其后端服务仍为全球级,但其转发规则和 IP 地址为区域级。

IP 地址规范

转发规则必须具有您的客户用来访问负载平衡器的 IP 地址。该 IP 地址可以是静态地址,也可以是临时地址。

静态 IP 地址会提供一个预留 IP 地址,您可以将自己的网域指向该地址。如果您需要删除转发规则并重新添加,则可以继续使用同一预留 IP 地址。

当转发规则存在时,临时 IP 地址保持不变。当您选择临时 IP 地址时,Google Cloud 会为负载平衡器的转发规则关联一个 IP 地址。如果您需要删除转发规则并重新添加,则转发规则可能会收到新的 IP 地址。

根据负载平衡器类型,IP 地址可以具有不同特性 (Attribute)。下表总结了基于负载平衡方案和转发规则目标的有效 IP 地址配置。

方案 目标 地址类型 地址范围 地址层级 可保留地址 备注
EXTERNAL

HTTP(S) 负载平衡
SSL 代理负载平衡
TCP 代理负载平衡
目标 HTTP 代理
目标 HTTPS 代理
目标 SSL 代理
目标 TCP 代理
外部 区域级或全球级,应符合转发规则 优质层级:全球级外部 IP 地址和转发规则

标准层级:区域级外部 IP 地址和转发规则
是(可选) IPv6 适用于全球级外部地址(优质层级)
EXTERNAL

网络负载平衡
目标池 外部 区域级 标准或优质 不支持 IPv6
EXTERNAL

传统 VPN
请参阅传统 VPN 文档 外部 区域级 Cloud VPN 没有网络服务层级 是(必需) 不支持 IPv6
INTERNAL

内部 TCP/UDP 负载平衡
后端服务 内部 区域级 优质 是(可选) 必须来自关联子网的主要 IP 地址范围
INTERNAL_MANAGED

内部 HTTP(S) 负载平衡
目标 HTTP 代理
目标 HTTPS 代理
内部 区域级 优质 是(可选) 必须来自关联子网的主要 IP 地址范围
INTERNAL_SELF_MANAGED

Traffic Director
目标 HTTP 代理
目标 gRPC 代理
内部 全球级 不适用 允许使用 0.0.0.0、127.0.0.1 或任何 RFC 1918 地址

采用相同 IP 地址的多条转发规则

如果满足以下条件,则具有 EXTERNAL 负载平衡方案的两条或更多条转发规则可以共享同一个 IP 地址:

  • 每条转发规则使用的端口不会重叠。
  • 每条转发规则的网络服务层级与外部 IP 地址的网络服务层级相匹配。

示例:

  • 接受 TCP 端口 79 上的流量的网络负载平衡器和接受 TCP 端口 80 上的流量的其他网络负载平衡器可以共享同一个区域级外部 IP 地址。
  • 您可以对外部 HTTP(S) 负载平衡器(HTTP 和 HTTPS)使用同一个全球级外部 IP 地址。

如果转发规则的负载平衡方案为 INTERNAL 或 INTERNAL_MANAGED,多个转发规则可以使用相同的 IP 地址。如需了解详情,请参阅内部 TCP/UDP 负载平衡概览

如果 Traffic Director 的转发规则的负载平衡方案为 INTERNAL_SELF_MANAGED,则转发规则必须具有唯一的 IP 地址。

端口规范

下表总结了基于负载平衡方案和转发规则目标的有效端口配置。

方案 目标 必须指定端口 未指定端口时的行为 端口要求
EXTERNAL 目标 HTTP 代理 不适用 80、8080
EXTERNAL 目标 HTTPS 代理 不适用 443
EXTERNAL 目标 SSL 代理 不适用 25、43、110、143、195、443、465、587、700、993、995、1883、3389、5222、5432、5671、5672、5900、5901、6379、8085、8099、9092、9200、9300
EXTERNAL 目标 TCP 代理 不适用 25、43、110、143、195、443、465、587、700、993、995、1883、3389、5222、5432、5671、5672、5900、5901、6379、8085、8099、9092、9200、9300
EXTERNAL 目标 VPN 网关 不适用 500、4500
EXTERNAL 目标池 所有端口
(1-65535) 均会转发
必须是连续的
INTERNAL 后端服务 不适用 最多五个(连续或非连续),或者您可以指定 ALL
INTERNAL_MANAGED 目标 HTTP 代理
目标 HTTPS 代理
不适用 80 或 8080 之一
443
INTERNAL_SELF_MANAGED 目标 HTTP 代理
目标 HTTPS 代理
不适用 必须是单个值。

在 VPC 网络中,Traffic Director 的两条转发规则不能具有相同的 IP 地址和端口规范。

IAM Conditions

借助身份和访问权限管理 (IAM) Conditions,您可以设置条件以控制向成员授予的角色。使用此功能,您可以在满足配置的条件时向成员授予权限。

IAM 条件会检查转发规则中的负载平衡方案(例如,INTERNALEXTERNAL)并允许(或禁止)创建转发规则。如果成员尝试在无权限的情况下创建转发规则,则会显示错误消息。

如需了解详情,请参阅 IAM Conditions

API 和 gcloud 参考

如需了解通过 REST API 处理转发规则时可用的属性 (Property) 和方法,请参阅以下内容:

对于 gcloud 命令行工具,请参阅以下内容:

后续步骤