向您的目标组注册目标 - Elastic Load Balancing

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

向您的目标组注册目标

当您的目标准备好处理请求时,您将其注册到一个或多个目标组。目标组的目标类型将确定如何注册目标。例如,您可以注册实例 ID、IP 地址或 Application Load Balancer。只要注册过程完成且目标通过初始运行状况检查,Network Load Balancer 就会开始将请求路由至目标。完成注册过程和开始运行状况检查可能需要几分钟时间。有关更多信息,请参阅 目标组的运行状况检查

如果当前已注册目标的需求增加,您可以注册其他目标以便满足该需求。如果对已注册目标的需求减少,您可以从目标组中取消注册目标。完成取消注册过程和负载均衡器停止将请求路由到目标可能需要几分钟时间。如果需求随后增加,您可以再次向目标组注册已取消注册的目标。如果您需要为目标提供服务,您可以取消注册,然后在服务完成后重新注册。

在取消注册目标时,Elastic Load Balancing 会一直等待,直到进行中的请求完成。这称作连接耗尽。在连接耗尽期间,目标的状态为 draining。在取消注册完成后,目标的状态将更改为 unused。有关更多信息,请参阅 取消注册延迟

如果要通过实例 ID 来注册目标,则可以将负载均衡器与 Auto Scaling 组一同使用。将目标组挂接到 Auto Scaling 组并且该组扩展后,由 Auto Scaling 组启动的实例将自动在目标组中注册。如果您将负载均衡器与 Auto Scaling 组分离,则实例会自动从目标组中取消注册。有关更多信息,请参阅 Amazon EC2 Auto Scaling 用户指南中的将负载均衡器挂接到 Auto Scaling 组

目标安全组

在将目标添加到目标组之前,请将与目标关联的安全组配置为接受来自网络负载均衡器的流量。

对目标安全组的建议(如果负载均衡器有与之关联的安全组)
  • 允许客户端流量:添加规则,其引用与负载均衡器关联的安全组

  • 允许 PrivateLink 流量:如果您将负载均衡器配置为评估通过流量的入站规则 AWS PrivateLink,请添加一条规则,在流量端口上接受来自负载均衡器安全组的流量。否则,添加规则,其在流量端口上接受来自负载均衡器私有 IP 地址的流量。

  • 接受负载均衡器运行状况检查:添加规则,其在运行状况检查端口上接受来自负载均衡器安全组的运行状况检查流量。

对目标安全组的建议(如果负载均衡器没有与安全组关联)
  • 允许客户端流量:如果负载均衡器保留客户端 IP 地址,则添加规则,其在流量端口上接受来自已批准客户端 IP 地址的流量。否则,添加规则,其在流量端口上接受来自负载均衡器私有 IP 地址的流量。

  • 允许 PrivateLink 流量:添加一条规则,在流量端口上接受来自负载均衡器私有 IP 地址的流量。

  • 接受负载均衡器运行状况检查:添加规则,其在运行状况检查端口上接受来自负载均衡器私有 IP 地址的运行状况检查流量。

客户端 IP 保留的工作原理

除非将 preserve_client_ip.enabled 属性设置为 true,否则网络负载均衡器不会保留客户端 IP 地址。此外,利用双堆栈网络负载均衡器,我们在将 IPv4 地址转换为 IPv6 或将 IPv6 地址转换为 IPv4 时会保留客户端 IP 地址。

查找负载均衡器私有 IP 地址
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Network Interfaces

  3. 在搜索字段中,输入 Network Load Balancer 的名称。每个负载均衡器的子网有一个网络接口。

  4. 在每个网络接口的详细信息选项卡上,从私有 IPv4 地址中复制地址。

有关更多信息,请参阅 网络负载均衡器的安全组

网络 ACL

在将 EC2 实例注册为目标时,必须确保实例子网的网络 ACL 允许侦听器端口和运行状况检查端口上的流量。VPC 的默认网络访问控制列表 (ACL) 允许所有入站和出站流量。如果要创建自定义网络 ACL,请确保它们允许相应的流量。

与实例子网关联的网络 ACL 必须允许面向 Internet 的负载均衡器的以下流量。

Inbound
协议 端口范围 评论
客户端 IP 地址 侦听器 侦听器 Allow client traffic (实例 target type)
VPC CIDR 侦听器 侦听器 Allow client traffic (ip target type)
VPC CIDR 运行状况检查 运行状况检查 Allow health check traffic from the load balancer
Outbound
目的地 协议 端口范围 评论
客户端 IP 地址 侦听器 侦听器 Allow responses to clients (实例 target type)
VPC CIDR 侦听器 侦听器 Allow responses to clients (ip target type)
VPC CIDR 运行状况检查 1024-65535 Allow health check traffic

与负载均衡器子网关联的网络 ACL 必须允许面向 Internet 的负载均衡器的以下流量。

Inbound
协议 端口范围 评论
客户端 IP 地址 侦听器 侦听器 Allow client traffic (实例 target type)
VPC CIDR 侦听器 侦听器 Allow client traffic (ip target type)
VPC CIDR 运行状况检查 1024-65535 Allow health check traffic
Outbound
目的地 协议 端口范围 评论
客户端 IP 地址 侦听器 侦听器 Allow responses to clients (实例 target type)
VPC CIDR 侦听器 侦听器 Allow responses to clients (ip target type)
VPC CIDR 运行状况检查 运行状况检查 Allow health check traffic
VPC CIDR 运行状况检查 1024-65535 Allow health check traffic

对于内部负载均衡器,您的实例和负载均衡器节点的子网的网络 ACL 必须在侦听器端口和临时端口上允许进出 VPC CIDR 的入站流量和出站流量。

共享子网

参与者可以在共享 VPC 中创建网络负载均衡器。参与者无法注册在未与其共享的子网中运行的目标。

所有 AWS 区域都支持网络负载均衡器的共享子网,但不包括:

  • 亚太地区(大阪)ap-northeast-3

  • 亚太地区(香港)ap-east-1

  • 中东(巴林)me-south-1

  • AWS 中国(北京)cn-north-1

  • AWS 中国(宁夏)cn-northwest-1

注册或取消注册目标

每个目标组在为负载均衡器启用的每个可用区中必须至少有一个已注册目标。

您的目标组的目标类型将确定如何向该目标组注册目标。有关更多信息,请参阅 Target type

要求和注意事项
  • 如果实例采用以下实例类型,则不能利用实例 ID 注册实例:C1、CC1、CC2、CG1、CG2、CR1、G1、G2、HI1、HS1、M1、M2、M3 或 T1。

  • 当按实例 ID 为 IPv6 目标组注册目标时,必须为目标分配主 IPv6 地址。要了解更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的 IPv6 地址

  • 按实例 ID 注册目标时,实例必须与网络负载均衡器位于同一个 Amazon VPC 中。如果实例所在的 VPC 与负载均衡器 VPC 是对等的(位于同一区域或不同区域),则不能按实例 ID 注册实例。可以用 IP 地址注册这些实例。

  • 如果您按 IP 地址注册目标,并且该 IP 地址与负载均衡器位于同一 VPC 中,则负载均衡器会验证其是否来自可以访问的子网。

  • 对于 UDP 和 TCP_UDP 目标组,如果实例位于负载均衡器 VPC 之外,或者采用以下实例类型之一,则不要用 IP 地址注册实例:C1、CC1、CC2、CG1、CG2、CR1、G1、G2、HI1、HS1、M1、M2、M3 或 T1。如果目标驻留在负载均衡器 VPC 之外或者采用不受支持的实例类型,则目标可能能够接收来自负载均衡器的流量,但随后无法响应。

通过实例 ID 注册或取消注册目标

当您注册实例时,实例必须处于 running 状态。

New EC2 experience
使用新版 EC2 体验按实例 ID 注册或注销目标
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格上的负载均衡下,选择目标组

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

  4. 选择目标选项卡。

  5. 要注册实例,请选择注册目标。选择一个或多个实例,根据需要输入默认实例端口,然后选择在下面以待注册的形式添加。添加完实例后,选择注册待注册目标

    注意:

    • 实例必须具有分配的主 IPv6 地址,才能向 IPv6 目标组注册。

    • AWS GovCloud (US) Region不支持使用控制台分配主 IPv6 地址。您必须使用 API 在 AWS GovCloud (US) Region s 中分配主 IPv6 地址。

  6. 要取消注册实例,请选择实例,然后选择取消注册

Old EC2 experience
使用旧版 EC2 体验按实例 ID 注册或注销目标
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格上的 LOAD BALANCING 下,选择 Target Groups

  3. 选择目标组。

  4. 选择 TargetsEdit

  5. (可选) 对于 Registered instances,选择要取消注册的任何实例,然后选择 Remove

  6. (可选) 对于 Instances,选择要注册的任何正在运行的实例,根据需要修改默认实例端口,然后选择 Add to registered

  7. 选择保存

通过 IP 地址注册或取消注册目标

IPv4 目标

您注册的 IP 地址必须来自下列 CIDR 块之一:

  • 目标组的 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 地址类型。

以参与者身份在共享 Amazon VPC 中启动网络负载均衡器时,您只能在已共享的子网中注册目标。

IPv6 目标
  • 您注册的 IP 地址必须位于 VPC CIDR 块内或在对等 VPC CIDR 块内。

  • 创建目标组后,无法更改 IP 地址类型。

  • 您只能将 IPv6 目标组与具有 TCP 或 TLS 侦听器的双堆栈负载均衡器关联。

New EC2 experience
使用新版 EC2 体验按 IP 地址注册或注销目标
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格上的负载均衡下,选择目标组

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

  4. 选择 Targets (目标) 选项卡。

  5. 要注册 IP 地址,请选择注册目标。对于每个 IP 地址,选择网络、可用区、IP 地址(IPv4 或 IPv6)和端口,然后选择 Include as pending below(在下面添加为待处理)。指定完地址后,选择注册待注册目标

  6. 要注销 IP 地址,请选择 IP 地址,然后选择取消注册。如果您有多个注册的 IP 地址,则可能会发现添加筛选器或更改排序顺序很有帮助。

Old EC2 experience
使用旧版 EC2 体验按 IP 地址注册或注销目标
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格上的 LOAD BALANCING 下,选择 Target Groups

  3. 选择目标组,然后依次选择 TargetsEdit

  4. 要注册 IP 地址,请在菜单栏中选择 Register targets 图标 (加号)。对于每个 IP 地址,请指定网络、可用区、IP 地址和端口,然后选择 Add to list。指定完地址后,选择 Register

  5. 要取消注册 IP 地址,请在菜单栏中选择取消注册目标图标(减号)。如果您有多个注册的 IP 地址,则可能会发现添加筛选器或更改排序顺序很有帮助。选择 IP 地址并选择 Deregister

  6. 要离开此屏幕,请选择菜单栏中的 Back to target group 图标 (后退按钮)。

使用 AWS CLI注册或取消注册目标

使用 register-targets 命令添加目标,并使用 deregister-targets 命令删除目标。