网关负载均衡器的目标组 - 弹性负载均衡
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

网关负载均衡器的目标组

每个目标组均用于将请求路由到一个或多个已注册的目标。创建侦听器时,您为其默认操作指定目标组。流量将转发到在侦听器规则中指定的目标组。您可以为不同类型的请求创建不同的目标组。

您基于每个目标组定义网关Load Balancer 状况检查设置。每个目标组均使用默认运行状况检查设置,除非您在创建目标组时将其覆盖或稍后对其进行修改。在侦听器规则中指定一个目标组后,网关Load Balancer 将持续监控已注册到该目标组的所有目标 (这些目标位于已为网关Load Balancer 启用的可用区中) 的运行状况。网关Load Balancer 将请求路由到正常运行的已注册目标。有关更多信息,请参阅 目标组的运行状况检查

路由配置

网关负载均衡器的目标组支持以下协议和端口:

  • 协议:日内瓦

  • 端口:6081

Target type

在创建目标组时,应指定其目标类型,这决定您如何指定其目标。创建目标组后,将无法更改其目标类型。

以下是可能的目标类型:

instance

这些目标通过实例 ID 指定。

ip

这些目标通过 IP 地址指定。

当目标类型为 ip 时,您可以指定来自以下 CIDR 块之一的 IP 地址:

  • 目标组的 VPC 的子网

  • 10.0.0.0/8 (RFC 1918)

  • 100.64.0.0/10 (RFC 6598)

  • 172.16.0.0/12 (RFC 1918)

  • 192.168.0.0/16 (RFC 1918)

重要

不能指定可公开路由的 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

指示是否为目标组启用了可配置的流粘性。可能的值为 truefalse。默认为 false。当该属性设置为时false,将使用 5_tuple。

stickiness.type

指示流动粘性的类型。与网关负载均衡器关联的目标组的可能值为:

  • source_ip_dest_ip

  • source_ip_dest_ip_proto

target_failover.on_deregistration

指示当目标取消注册时,网关Load Balancer 如何处理现有的流。可能的值为 rebalanceno_rebalance。默认为 no_rebalance。这两项属性(target_failover.on_deregistrationtarget_failover.on_unhealthy)不可分别设置。您必须为这两项属性设置相同的值。

target_failover.on_unhealthy

指示当目标运行不正常时,网关Load Balancer 如何处理现有的流。可能的值为 rebalanceno_rebalance。默认为 no_rebalance。这两项属性(target_failover.on_deregistrationtarget_failover.on_unhealthy)不可分别设置。您必须为这两项属性设置相同的值。

取消注册延迟

在取消注册目标时,网关Load Balancer 将通过以下方式管理流向该目标的流:

新流程

网关Load Balancer 停止向已取消注册的目标发送新流量。

现有流量

网关Load Balancer 根据协议处理现有流量。

  • TCP 协议:如果空闲时间超过 350 秒,TCP 协议的现有流量将关闭。

  • 非 TCP 协议:如果空闲时间超过 120 秒,则所有非 TCP 协议的现有流量都将关闭。

为了帮助耗尽现有流量,我们建议您停止向负载均衡器发送所有流量。这允许因取消注册而产生的空闲超时生效。已取消注册的目标表明该目标在超时draining到期之前已经过期。取消注册延迟超时期限过期后,目标转换为 stunused ation。

使用新控制台更新注销延迟值
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格上的 Load Balancing (负载均衡) 下,选择 Target Groups (目标组)。

  3. 选择目标组的名称以打开其详细信息页面。

  4. 组详细信息页面的属性部分中,选择编辑

  5. 编辑属性页面上,根据需要更改注销延迟的值。

  6. 选择 Save changes(保存更改)。

使用 Amazon CLI 更新取消注册延迟值

使用 modify-target-group-attributes 命令。

目标故障转移

使用目标故障转移,您可以指定当目标运行不正常或目标取消注册时,网关Load Balancer 如何处理现有的流量。默认情况下,即使目标出现故障或已取消注册,网关Load Balancer 也会继续向同一个目标发送现有流量。您可以通过重新对这些流程进行哈希处理 (rebalance) 或将其保留为默认状态 (no_rebalance) 来管理这些流程。

不进行再平衡

网关Load Balancer 继续将现有流量发送到失败或耗尽的目标。但是,新的流量会被发送到健康的目标。这是默认行为。

再平衡

网关Load Balancer 对现有流量进行哈希处理,并在取消注册延迟超时后将其发送到正常的目标。

对于已取消注册的目标,最短故障转移时间将取决于取消注册的延迟。在取消注册延迟完成之前,目标不会被标记为已取消注册。

对于运行状况不佳的目标,最短故障转移时间将取决于目标组运行状况检查配置(间隔时间阈值)。这是将目标标记为运行状况不佳的最短时间。在这段时间之后,由于额外的传播时间和 TCP 重传回避,Gateway Load Balancer 可能需要几分钟才能将新流量重新路由到正常的目标。

使用新控制台更新目标故障转移
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格上的 LOAD BALANCING (负载均衡) 下,选择 Target Groups (目标组)

  3. 选择目标组的名称以打开其详细信息页面。

  4. 组详细信息页面的属性部分中,选择编辑

  5. 编辑属性页面上,根据需要更改目标故障转移

  6. 选择 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_deregistrationtarget_failover.on_unhealthy)必须具有相同的值。

流动粘性

默认情况下,网关Load Balancer 使用 5 元组(对于 TCP/UDP 流)来保持流向特定目标设备的粘性。5 元组包括源 IP、源端口、目标 IP、目标端口和传输协议。您可以使用粘性类型属性修改默认值(5 元组),然后选择 3 元组(源 IP、目标 IP 和传输协议)或 2 元组(源 IP 和目标 IP)。

流动粘性注意事项
  • 流量粘性是在目标组级别配置和应用的,它适用于流向目标组的所有流量。

  • 启用设备模式后,如果将网关Load Balancer 集成在一起,Amazon Transit Gateway则流量粘性将不起作用。

  • 流动粘性可能导致连接和流分布不均,这可能会影响目标的可用性。建议您在修改目标组的粘性类型之前终止或耗尽所有现有流量。

使用控制台更新流程粘性
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格上的 Load Balancing (负载均衡) 下,选择 Target Groups (目标组)。

  3. 选择目标组的名称以打开其详细信息页面。

  4. 组详细信息页面的属性部分中,选择编辑

  5. 编辑属性页面上,根据需要更改流动粘性的值。

  6. 选择 Save changes(保存更改)。

要启用或修改流动粘性,请使用Amazon CLI

使用带有stickiness.enabledstickiness.type目标组属性的modify-target-group-attributes命令。