Elastic Load Balancing
Application Load Balancer
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

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

Elastic Load Balancing 支持三种类型的负载均衡器:Application Load Balancer、Network Load Balancer和 Classic Load Balancer。本指南讨论 Application Load Balancer。有关 Network Load Balancer 的更多信息,请参阅 Network Load Balancer 用户指南。有关 Classic Load Balancer 的更多信息,请参阅 Classic Load Balancer 用户指南

应用程序负载均衡器 组件

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

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

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

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

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

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

应用程序负载均衡器概述

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

如何开始

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

定价

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