转发规则指定如何将网络流量路由到负载均衡器的后端服务。转发规则包括 IP 地址、IP 协议以及负载均衡器接受流量的一个或多个端口。某些Trusted Cloud by S3NS 负载均衡器仅允许您指定一组预定义端口,而其他 Google Cloud 负载均衡器允许您指定任意端口。
转发规则及其对应的 IP 地址构成 Trusted Cloud by S3NS 负载均衡器的前端配置。
根据负载均衡器类型的不同,具体情况如下:
此外,区域级转发规则可以是在 App Hub(预览版)中指定为服务的资源。
内部转发规则
内部转发规则转发源自 Trusted Cloud 网络内的流量。客户端可以与后端位于同一个 Virtual Private Cloud (VPC) 网络中,客户端也可以位于连接的网络中。
以下 Trusted Cloud 负载均衡器使用内部转发规则:
- 内部应用负载均衡器
- 内部代理网络负载均衡器
- 内部直通式网络负载均衡器
内部应用负载均衡器
内部应用负载均衡器支持使用 HTTP、HTTPS 或 HTTP/2 协议的 IPv4 流量。
转发规则的范围取决于负载均衡器的类型:
- 每个区域级内部应用负载均衡器至少有一个区域级内部转发规则。区域级内部转发规则指向负载均衡器的区域级目标 HTTP 或 HTTPS 代理。转发规则与区域级内部 IP 地址相关联。
连接到目标 HTTP(S) 代理的内部代管式转发规则支持 1 到 65535 之间(含边界值)的任何端口号。
例如,下图展示了转发规则在区域级内部应用负载均衡器架构中的位置。
如需详细了解内部应用负载均衡器,请参阅以下页面:
内部代理网络负载均衡器
对于内部代理网络负载均衡器,受支持的流量类型为 IPv4,受支持的协议为 TCP。
转发规则的范围取决于负载均衡器的类型:
- 每个区域级内部代理网络负载均衡器至少有一条区域级内部转发规则。该转发规则会指定内部 IP 地址、端口和区域区目标 TCP 代理。客户端使用 IP 地址和端口连接到负载均衡器的 Envoy 代理,转发规则的 IP 地址是负载均衡器的 IP 地址(有时称为虚拟 IP 地址或 VIP)。
连接到目标 TCP 代理的内部代管式转发规则支持 1 到 65535 之间(含边界值)的任何端口号。
下图展示了转发规则在区域内部代理网络负载均衡器架构中的位置。
如需详细了解内部代理网络负载均衡器,请参阅以下页面:
内部直通式网络负载均衡器
对于内部直通式网络负载均衡器,受支持的流量类型为 IPv4 或 IPv6。如需了解支持的协议,请参阅转发规则协议。
每个内部直通式网络负载均衡器至少有一条区域级内部转发规则。区域级内部转发规则指向负载平衡器的区域级内部后端服务。下图展示了转发规则在内部直通式网络负载均衡器架构中的位置。
下图展示了负载平衡器组件在子网和区域中的位置。
内部转发规则必须在区域和子网中定义。而后端服务只需对应于该区域即可。
如需详细了解内部直通式网络负载均衡器,请参阅以下页面:
外部转发规则
外部转发规则接受来自具有互联网访问权限的客户端系统的流量,这些客户端系统包括:
- Trusted Cloud之外的客户端
- 具有外部 IP 地址的 Trusted Cloud 虚拟机
- 使用 Cloud NAT 或基于实例的 NAT 系统但没有外部 IP 地址的 Trusted Cloud 虚拟机
以下 Trusted Cloud 负载均衡器类型使用外部转发规则:
- 外部应用负载均衡器
- 外部代理网络负载均衡器
- 外部直通式网络负载均衡器
外部应用负载均衡器
对于外部应用负载均衡器,转发规则和 IP 地址取决于负载均衡器模式,以及您为负载均衡器选择的网络服务层级。
在外部应用负载均衡器中,转发规则指向目标 HTTP(S) 代理。连接到目标 HTTP(S) 代理的外部转发规则支持 1 到 65535 之间(含边界值)的任何端口号。
区域级外部应用负载均衡器使用区域级外部 IPv4 地址和区域级外部转发规则。
下图展示了区域级转发规则在区域外部应用负载均衡器的架构中的位置。
如需详细了解外部应用负载均衡器,请参阅外部应用负载均衡器概览。
外部代理网络负载均衡器
外部代理网络负载均衡器提供 TCP 代理功能。这些负载均衡器类似于外部应用负载均衡器,因为它们可以终止 TCP 会话。但是,这些负载均衡器不支持像外部应用负载均衡器那样的基于路径的重定向。
在外部代理网络负载均衡器中,转发规则指向目标 TCP 代理。连接到目标 TCP 代理的外部转发规则支持 1 到 65535 之间(含边界值)的任何端口号。
下图展示了转发规则在区域外部代理网络负载均衡器架构中的位置。
如需详细了解外部代理网络负载均衡器,请参阅外部代理网络负载均衡器概览。 如需了解如何配置外部代理网络负载均衡器,请参阅设置外部代理网络负载均衡器。
外部直通式网络负载均衡器
外部直通式网络负载均衡器是一种直通式负载均衡器,可在单个区域中的后端实例之间分配流量。外部直通网络负载均衡器使用区域级外部转发规则和区域级外部 IP 地址。区域级外部 IP 地址可通过互联网以及可访问互联网的 Trusted Cloud 虚拟机随时随地进行访问。
对于基于后端服务的外部直通网络负载均衡器,区域外部转发规则指向后端服务。基于后端服务的外部直通式网络负载均衡器支持 TCP、UDP、ESP、GRE、ICMP 和 ICMPv6 流量。如需了解详情,请参阅基于后端服务的外部直通式网络负载均衡器的转发规则协议。可以使用 IPv4 或 IPv6 地址配置基于后端服务的负载均衡器的转发规则。 基于后端服务的外部直通式网络负载均衡器的转发规则支持以下高级功能:
对于基于目标池的外部直通式网络负载均衡器,转发规则指向目标池。基于目标池的外部直通式网络负载均衡器仅支持 TCP 或 UDP 流量。基于目标池的外部直通式网络负载均衡器的转发规则仅支持 IPv4 地址。
如需支持多个区域中的后端实例,您必须在每个区域中创建一个外部直通式网络负载均衡器。
下图展示了外部直通式网络负载均衡器,该负载均衡器具有带 120.1.1.1
IP 地址的区域外部转发规则。负载均衡器正在处理来自 us-central1
区域中的后端的请求。
如需详细了解外部直通式网络负载均衡器,请参阅外部直通式网络负载均衡器概览。如需了解如何配置外部直通式网络负载均衡器,请参阅以下内容之一:
IP 协议规范
每条转发规则都有一个与该规则相关联的 IP 协议。默认协议值为 TCP
。
产品 | 负载均衡方案 | IP 协议选项 |
---|---|---|
区域级外部应用负载均衡器 | EXTERNAL_MANAGED | TCP |
区域级内部应用负载均衡器 | INTERNAL_MANAGED | TCP |
区域级外部代理网络负载均衡器 | EXTERNAL_MANAGED | TCP |
区域内部代理网络负载均衡器 | INTERNAL_MANAGED | TCP |
外部直通式网络负载均衡器 | 外部 | TCP、UDP 或 L3_DEFAULT |
内部直通式网络负载均衡器 | INTERNAL | TCP、UDP 或 L3_DEFAULT |
Cloud Service Mesh | INTERNAL_SELF_MANAGED | TCP |
IP 地址规范
转发规则必须具有您的客户用来访问负载均衡器的 IP 地址。该 IP 地址可以是静态地址,也可以是临时地址。
静态 IP 地址会提供一个预留 IP 地址,您可以将自己的网域指向该地址。如果您需要删除转发规则并重新添加,则可以继续使用同一预留 IP 地址。
转发规则存在时,临时 IP 地址保持不变。当您选择临时 IP 地址时, Trusted Cloud 会为负载均衡器的转发规则关联一个 IP 地址。如果您需要删除转发规则并重新添加,则转发规则可能会收到新的 IP 地址。
根据负载均衡器类型,IP 地址可以具有不同属性。下表总结了基于负载平衡方案和转发规则目标的有效 IP 地址配置。
产品和方案 | 目标 | IP 地址类型 | IP 地址范围 | IP 地址层级 | 可预留的 IP 地址 | 备注 |
---|---|---|---|---|---|---|
区域级外部应用负载均衡器 EXTERNAL_MANAGED |
目标 HTTP 代理 目标 HTTPS 代理 |
外部 | 区域 | 高级层级 | 是(可选) | IPv6 不可用 |
区域级内部应用负载均衡器 INTERNAL_MANAGED |
目标 HTTP 代理 目标 HTTPS 代理 |
内部 | 区域 | 优质层级 | 是(可选) | 转发规则地址必须在关联子网的主要 IPv4 地址范围内。 |
区域级外部代理网络负载均衡器 EXTERNAL_MANAGED |
目标 TCP 代理 | 外部 | 区域 | 高级层级 | 是(可选) | IPv6 不可用 |
区域级内部代理网络负载均衡器 INTERNAL_MANAGED |
目标 TCP 代理 | 内部 | 区域 | 优质层级 | 是(可选) | 转发规则地址必须在关联子网的主要 IPv4 地址范围内 |
外部直通式网络负载均衡器 EXTERNAL |
后端服务 目标池 |
外部 | 区域 | 优质(IPv4 或 IPv6 地址) | 是(可选) | 支持 IPv6,需要基于后端服务的外部直通网络负载均衡器。 转发规则 IPv6 地址必须在子网的外部 IPv6 地址范围内。外部 IPv6 地址源自子网的外部 IPv6 地址范围,因此处于高级层级。 |
内部直通式网络负载均衡器 INTERNAL |
后端服务 | 内部 | 区域 | 优质层级 | 是(可选) | 转发规则地址必须在关联子网的主要 IPv4 地址范围内。 |
传统 VPN EXTERNAL |
参阅传统 VPN 文档 | 外部 | 区域 | Cloud VPN 没有网络服务层级 | 是(必需) | 不支持 IPv6 |
EXTERNAL_MANAGED
后端服务附加到 EXTERNAL
转发规则。不过,EXTERNAL
后端服务无法附加到 EXTERNAL_MANAGED
转发规则。为了充分利用仅在全球外部应用负载均衡器中提供的新功能,我们建议您使用将资源从传统外部应用负载均衡器迁移到全球外部应用负载均衡器中所述的迁移流程,将现有的 EXTERNAL
资源迁移到 EXTERNAL_MANAGED
。
采用相同 IP 地址的多条转发规则
如果满足以下条件,则具有 EXTERNAL
或 EXTERNAL_MANAGED
负载均衡方案的两条或两条以上转发规则可以共享同一个 IP 地址:
- 每条转发规则使用的端口不会重叠。
- 每条转发规则的网络服务层级与外部 IP 地址的网络服务层级相匹配。
示例:
- 接受 TCP 端口 79 上的流量的外部直通式网络负载均衡器和接受 TCP 端口 80 上的流量的其他外部直通式网络负载均衡器可以共享同一个区域级外部 IP 地址。
- 您可以为外部应用负载均衡器(HTTP 和 HTTPS)使用同一个全球级外部 IP 地址。
如果转发规则的负载均衡方案为 INTERNAL
或 INTERNAL_MANAGED
,则多条转发规则可以使用同一个 IP 地址。详情请参阅以下内容:
- 对于内部直通式网络负载均衡器,请参阅使用公共 IP 地址的内部直通式网络负载均衡器转发规则
- 对于内部应用负载均衡器,请参阅在多个内部转发规则中共用 IP 地址
- 对于内部代理网络负载均衡器,请参阅转发规则和 IP 地址
端口规范
下表总结了基于负载平衡方案和转发规则目标的有效端口配置。
产品 | 负载均衡方案 | 目标 | 端口要求 |
---|---|---|---|
区域级外部应用负载均衡器 | EXTERNAL_MANAGED | 目标 HTTP 代理 目标 HTTPS 代理 |
只能引用 1-65535 中的一个端口 |
区域级内部应用负载均衡器 | INTERNAL_MANAGED | 目标 HTTP 代理 目标 HTTPS 代理 |
只能引用 1-65535 中的一个端口 |
区域级外部代理网络负载均衡器 | EXTERNAL_MANAGED | 目标 TCP 代理 | 只能引用 1-65535 中的一个端口 |
区域级内部代理网络负载均衡器 | INTERNAL_MANAGED | 目标 TCP 代理 | 只能引用 1-65535 中的一个端口 |
外部直通式网络负载均衡器 | 外部 | 后端服务 | 如果转发规则协议是 TCP 或 UDP ,则您可以进行如下配置:
如果转发规则协议为 L3_DEFAULT ,则您必须配置所有端口。
|
目标池 | 必须是单个端口范围(连续) 对于与基于目标池的外部直通式网络负载均衡器一起使用的转发规则,指定端口是可选操作。如果未指定端口,则系统会转发来自所有端口 (1-65535) 的流量。 |
||
内部直通式网络负载均衡器 | INTERNAL | 后端服务 | 最多五个(连续或非连续)端口,您也可以使用以下方法之一配置所有端口: 使用 gcloud 命令行工具设置 --ports=ALL ,或者使用 API 将 allPorts 设置为 True 。
|
传统 VPN | 外部 | 单个目标 VPN 网关 | 只能引用以下端口之一:500、4500 |
IAM Conditions
借助身份和访问权限管理 (IAM) Conditions,您可以设置条件以控制向主账号授予的角色。使用此功能,您可以在满足配置的条件时向主账号授予权限。
IAM 条件会检查转发规则中的负载均衡方案(例如,INTERNAL
或 EXTERNAL
)并允许(或禁止)创建转发规则。如果主账号尝试在无权限的情况下创建转发规则,则会显示错误消息。
如需了解详情,请参阅 IAM Conditions。
使用转发规则
如果您使用 Trusted Cloud 控制台设置负载均衡器,则转发规则会作为前端配置的一部分进行隐式设置。如果您使用的是 Google Cloud CLI 或 API,则需要明确配置转发规则。
创建转发规则后,您可以进行有限的更改。例如,定义转发规则后,您将无法更改其 IP 地址、端口号或协议。但是,您可以通过修改转发规则所关联的负载均衡器的前端配置来更新转发规则的某些设置。请使用 gcloud CLI 或 API 进行任何其他更改。
更改转发规则的 IP 地址
现有转发规则的 IP 地址无法更改。如需更新转发规则的 IP 地址,您必须按如下所示删除并重新创建规则:
使用
gcloud compute forwarding-rules delete
命令或forwardingRules.delete
方法删除转发规则。使用
gcloud compute forwarding-rules create
命令或forwardingRules.insert
方法重新创建转发规则。
API
如需了解通过 REST API 处理转发规则时可用的属性 (Property) 和方法,请参阅以下内容:
- 区域级:forwardingRules
Google Cloud CLI
如需查看 gcloud CLI 参考文档,请参阅以下内容:
gcloud compute forwarding-rules
- 区域级:
--region=[REGION]
后续步骤
- 如需详细了解协议转发,请参阅协议转发概览。