Elastic Load Balancing
应用程序负载均衡器
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

应用程序负载均衡器

负载均衡器 充当客户端的单一接触点。客户端将请求发送到负载均衡器,然后负载均衡器将请求发送到两个或更多可用区中的目标 (例如 EC2 实例)。要配置您的负载均衡器,可以创建目标组,然后将目标注册到目标组。您还可以创建侦听器来检查来自客户端的连接请求,并创建侦听器规则以将来自客户端的请求路由到一个或多个目标组中的目标。

负载均衡器安全组

安全组 起到防火墙的作用,可控制允许往返于负载均衡器的流量。您可以选择端口和协议以允许入站和出站流量。

与负载均衡器安全组关联的安全组的规则必须允许侦听器和运行状况检查端口上的双向流量。当您将侦听器添加到负载均衡器或更新目标组的运行状况检查端口时,您必须检查您的安全组规则,确保它们允许新端口上的双向流量。有关更多信息,请参阅 推荐的规则

负载均衡器状态

负载均衡器可能处于下列状态之一:

provisioning

正在设置负载均衡器。

active

负载均衡器已完全设置并准备好路由流量。

failed

负载均衡器无法设置。

负载均衡器属性

以下是负载均衡器属性:

access_logs.s3.enabled

指示是否启用存储在 Amazon S3 中的访问日志。

access_logs.s3.bucket

访问日志所用的 S3 存储桶的名称。有关更多信息,请参阅 存储桶权限

access_logs.s3.prefix

S3 存储桶中位置的前缀。如果您未指定前缀,则访问日志将存储在存储桶的根级。

deletion_protection.enabled

指示是否启用删除保护。

idle_timeout.timeout_seconds

空闲超时值 (以秒为单位)。默认值为 60 秒。

IP 地址类型

在创建面向 Internet 的负载均衡器时或在该负载均衡器处于活动状态后,可以设置其 IP 地址类型。请注意,内部负载均衡器必须使用 IPv4 地址。

以下是负载均衡器 IP 地址类型:

ipv4

负载均衡器仅支持 IPv4 地址 (例如,192.0.2.1)

dualstack

负载均衡器支持 IPv4 和 IPv6 地址 (例如,2001:0db8:85a3:0:0:8a2e:0370:7334)。

使用 IPv4 地址与负载均衡器通信的客户端将解析 A 记录,使用 IPv6 地址与负载均衡器通信的客户端将解析 AAAA 记录。但是,无论客户端以何种方式与负载均衡器通信,负载均衡器均使用 IPv4 地址与其目标通信。

有关更多信息,请参阅 Application Load Balancer 的 IP 地址类型

删除保护

为了防止您的负载均衡器被意外删除,您可以启用删除保护。默认情况下,已为负载均衡器禁用删除保护。

如果您为负载均衡器启用删除保护,则必须先禁用删除保护,然后才能删除负载均衡器。

使用控制台启用删除保护

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 在导航窗格上的 LOAD BALANCING 下,选择 Load Balancers

  3. 选择负载均衡器。

  4. Description 选项卡上,选择 Edit attributes

  5. Edit load balancer attributes 页面上,选择 Enable delete protection

  6. 选择 Save

使用控制台禁用删除保护

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 在导航窗格上的 LOAD BALANCING 下,选择 Load Balancers

  3. 选择负载均衡器。

  4. Description 选项卡上,选择 Edit attributes

  5. Edit load balancer attributes 页面上,清除 Enable delete protection

  6. 选择 Save

使用 AWS CLI 启用或禁用删除保护

使用 modify-load-balancer-attributes 命令。

连接空闲超时

对于客户端通过负载均衡器发出的每个请求,负载均衡器将维护两个连接。前端连接是客户端和负载均衡器之间的连接,后端连接是负载均衡器和目标之间的连接。对于每个前端连接,负载均衡器管理空闲超时的方式是:如果在指定时间段内没有通过连接发送任何数据,将触发空闲超时。超过空闲超时期限后,如果没有发送或接收任何数据,负载均衡器将关闭前端连接。

默认情况下,Elastic Load Balancing 将空闲超时值设为 60 秒。因此,如果在请求过程中,目标未至少每 60 秒发送一些数据,负载均衡器可以关闭前端连接。为确保长时间运行的操作 (例如文件上传) 有足够时间来完成,请在到达每个空闲超时期限前发送至少 1 个字节的数据,并根据需要增大空闲超时期限的长度。

对于后端连接,我们建议您对 EC2 实例启用保持连接选项。您可以在 Web 服务器设置或 EC2 实例的内核设置中启用保持连接选项。启用保持连接后,允许实例在完成操作后断开后端连接。

使用控制台更新空闲超时值

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 在导航窗格上的 LOAD BALANCING 下,选择 Load Balancers

  3. 选择负载均衡器。

  4. Description 选项卡上,选择 Edit attributes

  5. Edit load balancer attributes 页面上,键入 Idle timeout 的值 (以秒为单位)。有效范围为 1-4000。默认值为 60 秒。

  6. 选择 Save

使用 AWS CLI 更新空闲超时值

使用 modify-load-balancer-attributes 命令。

应用程序负载均衡器 和 AWS WAF

您可以使用 AWS WAF 和 应用程序负载均衡器 以根据 Web 访问控制列表 (web ACL) 中的规则允许或阻止请求。有关更多信息,请参阅 AWS WAF 开发人员指南 中的使用 Web ACL