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

什么是应用程序负载均衡器?

Elastic Load Balancing 支持三种类型的负载均衡器:应用程序负载均衡器、网络负载均衡器和 传统负载均衡器。本指南将讨论 应用程序负载均衡器。有关网络负载均衡器的更多信息,请参阅网络负载均衡器用户指南。有关传统负载均衡器的更多信息,请参阅 传统负载均衡器 用户指南

组件

负载均衡器 充当客户端的单一接触点。负载均衡器在多个可用区中的多个目标 (例如 EC2 实例) 间分配应用程序的传入流量。这将提高应用程序的可用性。可以向您的负载均衡器添加一个或多个侦听器。

侦听器 使用您配置的协议和端口检查来自客户端的连接请求,并根据您定义的规则将请求转发到一个或多个目标组。每个规则指定一个目标组、条件和优先级。满足条件时,流量会转发到目标组。您必须为每个侦听器定义一个默认规则,然后,您可以添加规则来根据请求内容指定不同目标组 (也称为基于内容的路由)。

每个目标组 使用您指定的协议和端口号将请求路由到一个或多个注册目标,例如 EC2 实例。您可以向多个目标组注册一个目标。您可以对每个目标组配置运行状况检查。在注册到目标组 (它是使用负载均衡器的侦听器规则指定的) 的所有目标上,执行运行状况检查。

下图介绍基本组成部分。请注意,每个侦听器包含一个默认规则,并且一个侦听器包含将请求路由到不同目标组的另一条规则。向两个目标组注册一个目标。

 基本应用程序负载均衡器的组成部分

有关更多信息,请参阅以下文档:

应用程序负载均衡器概述

应用程序负载均衡器在应用程序层正常工作,该层是开放系统互连 (OSI) 模型的第 7 层。负载均衡器收到请求后,会按照优先级顺序评估侦听器规则以确定应用哪个规则,然后使用轮询路由算法从目标组中选择一个目标以实施规则操作。请注意,您可以配置侦听器规则,以根据应用程序流量的内容,将请求路由至不同的目标组。每个目标组的路由都是单独进行的,即使某个目标已在多个目标组中注册。

可以根据需求变化在负载均衡器中添加和删除目标,而不会中断应用程序的整体请求流。Elastic Load Balancing 根据传输到应用程序的流量随时间的变化对负载均衡器进行扩展。Elastic Load Balancing 能够自动扩展来处理绝大部分工作负载。

您可以配置运行状况检查,这些检查可用来监控注册目标的运行状况,以便负载均衡器只能将请求发送到正常运行的目标。

有关更多信息,请参阅 Elastic Load Balancing 用户指南 中的 Elastic Load Balancing 工作原理

从 传统负载均衡器迁移的好处

使用应用程序负载均衡器而不是传统负载均衡器具有以下优势:

  • 支持基于路径的路由。对于根据请求中的 URL 转发请求的侦听器,您可以为它配置规则。这让您可以将应用程序构造为较小的服务,并根据 URL 内容将请求路由到正确的服务。

  • 支持基于主机的路由。对于基于 HTTP 标头中主机字段转发请求的侦听器,您可以为它配置规则。这使您能够使用单个负载均衡器将请求路由到多个域。

  • 支持将请求路由到单个 EC2 实例上的多个应用程序。可以使用多个端口向同一个目标组注册每个实例或 IP 地址。

  • 支持通过 IP 地址注册目标,包括位于负载均衡器的 VPC 之外的目标。

  • 支持容器化的应用程序。计划任务时,Amazon EC2 Container Service (Amazon ECS) 可以选择一个未使用的端口,并可以使用此端口向目标组注册该任务。这样可以高效地使用您的群集。

  • 支持单独监控每个服务的运行状况,因为运行状况检查是在目标组级别定义的,并且许多 CloudWatch 指标是在目标组级别报告的。将目标组挂载到 Auto Scaling 组的功能使您能够根据需求动态扩展每个服务。

  • 访问日志包含附加信息,并以压缩格式存储。

  • 已改进负载均衡器性能。

有关每个负载均衡器类型支持的功能的更多信息,请参阅 Elastic Load Balancing 产品比较

如何开始

要创建应用程序负载均衡器,请尝试以下教程之一:

定价

利用负载均衡器,您可以按实际用量付费。有关更多信息,请参阅 Elastic Load Balancing 定价