本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
网关负载均衡器的目标组
每个目标组均用于将请求路由到一个或多个已注册的目标。创建侦听器时,您为其默认操作指定目标组。流量将转发到在侦听器规则中指定的目标组。您可以为不同类型的请求创建不同的目标组。
您基于每个目标组定义网关Load Balancer 状况检查设置。每个目标组均使用默认运行状况检查设置,除非您在创建目标组时将其覆盖或稍后对其进行修改。在侦听器规则中指定一个目标组后,网关Load Balancer 将持续监控已注册到该目标组的所有目标 (这些目标位于已为网关Load Balancer 启用的可用区中) 的运行状况。网关Load Balancer 将请求路由到正常运行的已注册目标。有关更多信息,请参阅 目标组的运行状况检查。
路由配置
网关负载均衡器的目标组支持以下协议和端口:
-
协议:日内瓦
-
端口:6081
Target type
在创建目标组时,应指定其目标类型,这决定您如何指定其目标。创建目标组后,将无法更改其目标类型。
以下是可能的目标类型:
instance
-
这些目标通过实例 ID 指定。
ip
-
这些目标通过 IP 地址指定。
当目标类型为 ip
时,您可以指定来自以下 CIDR 块之一的 IP 地址:
不能指定可公开路由的 IP 地址。
已注册目标
Gateway Load Balancer 充当客户端的单一接触点,并跨其正常运行的已注册目标分发传入流量。每个目标组在为网关Load Balancer 启用的每个可用区中必须至少有一个已注册目标。您可以将每个目标注册到一个或多个目标组中。
如果需求增加,您可以向一个或多个目标组注册其他目标以便满足该需求。一旦注册过程完成,网关Load Balancer 就会开始将流量路由到新注册的目标。
如果需求减少或者您需要为目标提供服务,您可以从目标组取消注册目标。取消注册目标将从目标组中删除目标,但不会影响目标。取消注册某个目标后,网关Load Balancer 立即停止将流量路由到目标。目标将进入 draining
状态,直至进行中请求完成。当您准备好恢复接收流量时,可以再次向目标组注册目标。
目标组属性
您可以对目标组使用以下属性:
deregistration_delay.timeout_seconds
-
Elastic Load Balancing 在将取消注册目标的状态从
draining
更改为unused
之前需等待的时间。范围为 0-3600 秒。默认值为 300 秒。 stickiness.enabled
-
指示是否为目标组启用了可配置的流粘性。可能的值为
true
或false
。默认为 false。当该属性设置为时false
,将使用 5_tuple。 stickiness.type
-
指示流动粘性的类型。与网关负载均衡器关联的目标组的可能值为:
-
source_ip_dest_ip
-
source_ip_dest_ip_proto
-
target_failover.on_deregistration
-
指示当目标取消注册时,网关Load Balancer 如何处理现有的流。可能的值为
rebalance
和no_rebalance
。默认为no_rebalance
。这两项属性(target_failover.on_deregistration
和target_failover.on_unhealthy
)不可分别设置。您必须为这两项属性设置相同的值。
target_failover.on_unhealthy
-
指示当目标运行不正常时,网关Load Balancer 如何处理现有的流。可能的值为
rebalance
和no_rebalance
。默认为no_rebalance
。这两项属性(target_failover.on_deregistration
和target_failover.on_unhealthy
)不可分别设置。您必须为这两项属性设置相同的值。
取消注册延迟
在取消注册目标时,网关Load Balancer 将通过以下方式管理流向该目标的流:
- 新流程:
-
网关Load Balancer 停止向已取消注册的目标发送新流量。
- 现有流量:
-
网关Load Balancer 根据协议处理现有流量。
-
TCP 协议:如果空闲时间超过 350 秒,TCP 协议的现有流量将关闭。
-
非 TCP 协议:如果空闲时间超过 120 秒,则所有非 TCP 协议的现有流量都将关闭。
-
为了帮助耗尽现有流量,我们建议您停止向负载均衡器发送所有流量。这允许因取消注册而产生的空闲超时生效。已取消注册的目标表明该目标在超时draining
到期之前已经过期。取消注册延迟超时期限过期后,目标转换为 stunused
ation。
使用新控制台更新注销延迟值
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格上的 Load Balancing (负载均衡) 下,选择 Target Groups (目标组)。
-
选择目标组的名称以打开其详细信息页面。
-
在组详细信息页面的属性部分中,选择编辑。
-
在编辑属性页面上,根据需要更改注销延迟的值。
-
选择 Save changes(保存更改)。
使用 Amazon CLI 更新取消注册延迟值
使用 modify-target-group-attributes 命令。
目标故障转移
使用目标故障转移,您可以指定当目标运行不正常或目标取消注册时,网关Load Balancer 如何处理现有的流量。默认情况下,即使目标出现故障或已取消注册,网关Load Balancer 也会继续向同一个目标发送现有流量。您可以通过重新对这些流程进行哈希处理 (rebalance
) 或将其保留为默认状态 (no_rebalance
) 来管理这些流程。
- 不进行再平衡:
-
网关Load Balancer 继续将现有流量发送到失败或耗尽的目标。但是,新的流量会被发送到健康的目标。这是默认行为。
- 再平衡:
-
网关Load Balancer 对现有流量进行哈希处理,并在取消注册延迟超时后将其发送到正常的目标。
对于已取消注册的目标,最短故障转移时间将取决于取消注册的延迟。在取消注册延迟完成之前,目标不会被标记为已取消注册。
对于运行状况不佳的目标,最短故障转移时间将取决于目标组运行状况检查配置(间隔时间阈值)。这是将目标标记为运行状况不佳的最短时间。在这段时间之后,由于额外的传播时间和 TCP 重传回避,Gateway Load Balancer 可能需要几分钟才能将新流量重新路由到正常的目标。
使用新控制台更新目标故障转移
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格上的 LOAD BALANCING (负载均衡) 下,选择 Target Groups (目标组)。
-
选择目标组的名称以打开其详细信息页面。
-
在组详细信息页面的属性部分中,选择编辑。
-
在编辑属性页面上,根据需要更改目标故障转移。
-
选择 Save changes(保存更改)。
要使用更新目标故障转移值Amazon CLI
使用带有以下键值对的modify-target-group-attributes命令:
-
Key=
target_failover.on_deregistration
和 Value=no_rebalance
(默认)或rebalance
-
Key=
target_failover.on_unhealthy
和 Value=no_rebalance
(默认)或rebalance
两个属性(target_failover.on_deregistration
和target_failover.on_unhealthy
)必须具有相同的值。
流动粘性
默认情况下,网关Load Balancer 使用 5 元组(对于 TCP/UDP 流)来保持流向特定目标设备的粘性。5 元组包括源 IP、源端口、目标 IP、目标端口和传输协议。您可以使用粘性类型属性修改默认值(5 元组),然后选择 3 元组(源 IP、目标 IP 和传输协议)或 2 元组(源 IP 和目标 IP)。
流动粘性注意事项
-
流量粘性是在目标组级别配置和应用的,它适用于流向目标组的所有流量。
-
启用设备模式后,如果将网关Load Balancer 集成在一起,Amazon Transit Gateway则流量粘性将不起作用。
-
流动粘性可能导致连接和流分布不均,这可能会影响目标的可用性。建议您在修改目标组的粘性类型之前终止或耗尽所有现有流量。
使用控制台更新流程粘性
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格上的 Load Balancing (负载均衡) 下,选择 Target Groups (目标组)。
-
选择目标组的名称以打开其详细信息页面。
-
在组详细信息页面的属性部分中,选择编辑。
-
在编辑属性页面上,根据需要更改流动粘性的值。
-
选择 Save changes(保存更改)。
要启用或修改流动粘性,请使用Amazon CLI
使用带有stickiness.enabled
和stickiness.type
目标组属性的modify-target-group-attributes命令。