Amazon EC2
AWS 云
Elastic Load Balancing 入门
高可用性

高可用性

Elastic Load Balancing 可自动在单个可用区或多个可用区中的多个目标 (Amazon EC2 实例、容器和 IP 地址) 之间分布流量。

运行状况检查

运行状况检查

Elastic Load Balancing 可以检测到运行状况不佳的目标,停止向其发送流量,然后将负载分布到其他运行状况良好的目标。

安全功能

安全功能

使用 Amazon Virtual Private Cloud (Amazon VPC) 创建和管理与负载均衡器相关联的安全组,以提供更多联网和安全选项。您还可以创建一个内部 (不面向 Internet) 负载均衡器。

TLS 终止

TLS 终止

Elastic Load Balancing 提供集成化证书管理和 SSL 加密,使您可以灵活地集中管理负载均衡器的 SSL 设置,并从您的应用程序上卸载 CPU 密集型工作。

第 4 层或第 7 层负载均衡

第 4 层或第 7 层负载均衡

您可以对 HTTP/HTTPS 应用程序进行负载均衡以使用第 7 层特有的功能,或对仅依赖 TCP 协议的应用程序使用严格的第 4 层负载均衡。

运行监控

运行监控

Elastic Load Balancing 与 Amazon CloudWatch 的指标集成,并请求跟踪以实时监控应用程序的性能。

您可以根据应用程序按需选择合适的负载均衡器。如果您需要灵活管理应用程序,建议您使用应用程序负载均衡器。如果应用程序需要实现极致性能和静态 IP,建议您使用网络负载均衡器。如果您的现有应用程序构建于 EC2-Classic 网络内,则应使用传统负载均衡器

功能

应用程序负载均衡器

网络负载均衡器

传统负载均衡器

协议

HTTP、HTTPS

TCP

TCP、SSL、HTTP、HTTPS

平台

VPC

VPC

EC2-Classic、VPC

运行状况检查

CloudWatch 指标

日志记录

区域故障转移

连接耗尽 (取消注册延迟)

对同一实例上的多个端口进行负载均衡

 

WebSocket

 

IP 地址即目标
 

负载均衡器删除保护

 

基于路径的路由

 

 

基于主机的路由

 

 

本机 HTTP/2

 

 

可配置的空闲连接超时
 

跨区域负载均衡

 

SSL 卸载

 

服务器名称指示 (SNI)    

粘性会话

 

后端服务器加密

 

静态 IP

 

 

弹性 IP 地址

 

 

保留源 IP 地址

 

 

  • 应用程序负载均衡器

    应用程序负载均衡器在请求级别 (第 7 层) 运行,根据请求的内容将流量路由至目标 (EC2 实例、容器和 IP 地址)。应用程序负载均衡器可提供面向现代应用程序架构 (包括微服务和基于容器的应用程序) 交付的高级请求路由,适用于对 HTTP 和 HTTPS 流量进行高级负载均衡。通过确保始终使用最新的 SSL/TLS 密码和协议,应用程序负载均衡器能够简化和提升应用程序的安全性。

    第 7 层负载均衡
    您可以对 HTTP/HTTPS 应用程序执行负载均衡并使用第 7 层特有的功能,例如 X-Forwarded-For 标头。

    HTTPS 支持
    应用程序负载均衡器支持在客户端和负载均衡器之间终止 HTTPS。应用程序负载均衡还可通过 AWS Identity and Access Management (IAM) 和 AWS Certificate Manager 管理 SSL 证书,以实现预定义的安全策略。

    服务器名称指示 (SNI)
    服务器名称指示 (SNI) 是 TLS 协议的延伸,客户端使用该协议在 TLS 握手开始时指定要连接的主机名。这样,负载均衡器可以通过同一安全侦听器提供多个证书,从而能够使用一个安全侦听器支持多个安全网站。借助 SNI,应用程序负载均衡器还可支持智能证书选择算法。如果客户端指定的主机名与多个证书匹配,负载均衡器会根据多个因素 (包括客户端功能) 确定要使用的最佳证书。

    IP 地址即目标
    您可以将应用程序后端的 IP 地址用作目标,对 AWS 或本地位置托管的任何应用程序进行负载均衡。这样一来,您就可以对托管在实例上的任意 IP 地址和任意接口上的应用程序后端进行负载均衡。托管在同一实例上的每个应用程序都有关联的安全组,并使用同一端口。此外,您还可以将 IP 地址用作目标,对托管在本地位置 (通过 Direct Connect 或 VPN 连接)、对等 VPC 和 EC2-Classic (使用 ClassicLink) 中的应用程序进行负载均衡。通过在 AWS 和本地资源之间进行负载均衡,您可以迁移至云、爆发至云或故障转移至云。

    高可用性
    应用程序负载均衡器要求您指定多个可用区。您可以在多个可用区的多个目标之间分配传入流量。应用程序负载均衡器会根据应用程序传入流量自动扩展其请求处理容量。

    安全功能
    使用 Amazon Virtual Private Cloud (Amazon VPC) 时,您可以创建和管理与 Elastic Load Balancing 相关联的安全组,以提供更多联网和安全选项。您可以将应用程序负载均衡器配置为面向 Internet,也可创建一个没有公有 IP 地址的负载均衡器,并将其用作内部 (不面向 Internet 的) 负载均衡器。

    基于内容的路由
    如果您的应用程序由几个不同的服务构成,则 Application Load Balancer 可以基于请求的内容将请求路由至某个服务。

            基于主机的路由
            您可以基于 HTTP 标头的“主机”字段路由客户端请求,以便您可以从同一个负载均衡器路由到多个域。

            基于路径的路由
            您可以基于 HTTP 标头的 URL 路径路由客户端请求。

    容器化应用程序支持
    应用程序负载均衡器通过在单个 Amazon EC2 实例上的多个端口之间进行负载均衡来提供增强型容器支持。它可与 Amazon EC2 Container Service (ECS) 深度集成,从而提供完全托管的容器产品。借助 ECS,您可以在 ECS 任务定义中指定一个动态端口,以便在将容器安排到 EC2 实例上时为其提供一个未使用的端口。ECS 计划程序会自动使用该端口将任务添加到负载均衡器。

    HTTP/2 支持
    HTTP/2 是新版本的超文本传输协议 (HTTP),使用单个多路复用连接,支持通过同一连接发送多个请求。它还可以压缩标头数据并以二进制格式发送这些数据,且支持使用 TLS 连接客户端。

    WebSocket 支持
    借助 WebSocket,服务器可以与最终用户交换实时消息,且最终用户无需请求(或轮询)服务器提供更新。WebSocket 协议通过一个长期运行的 TCP 连接,在客户端和服务器之间提供双向通信渠道。

    本机 IPv6 支持
    在 VPC 中,应用程序负载均衡器支持本机 Internet 协议版本 6 (IPv6)。这样一来,客户端便可通过 IPv4 或 IPv6 连接到应用程序负载均衡器。

    粘性会话
    粘性会话是将同一客户端的请求路由至同一目标的一种机制。应用程序负载均衡器支持使用负载均衡器生成的 Cookie 的粘性会话。如果您启用了粘性会话,则同一目标将接收请求并使用 Cookie 恢复会话上下文。粘性在目标组级别进行定义。

    运行状况检查
    应用程序负载均衡器仅会将流量路由至运行状况良好的目标。借助应用程序负载均衡器,您可以通过以下两种方式更好地了解应用程序的运行状况:(1) 运行状况检查改进建议,支持您配置从 200 到 499 的详细错误代码。通过运行状况检查,您可以监控与负载均衡器关联的各个服务的运行状况;(2) 新指标,让您了解 EC2 实例上运行的各个服务的流量。

    运行监控
    Amazon CloudWatch 将报告应用程序负载均衡器的各项指标,例如请求数量、错误数量、错误类型和请求延迟。

    日志记录
    您可以使用访问日志功能记录发送至负载均衡器的所有请求,并将日志存储在 Amazon S3 中,以便日后分析。日志均经过压缩,并带有 gzip 文件扩展名。对日志进行压缩可节省存储空间和传输带宽,同时还有助于诊断应用程序故障和分析 Web 流量。

    您还可以使用 AWS CloudTrail 记录针对您账户的应用程序负载均衡器 API 调用并传送日志文件。您可以利用 API 调用历史记录进行安全分析、资源变更追踪和合规性审核。

    删除保护
    您可以在应用程序负载均衡器上启用删除保护,以防出现意外删除的情况。

    请求跟踪
    Application Load Balancer 将在所有传入负载均衡器的请求中注入新的自定义标识符“X-Amzn-Trace-Id”HTTP 标头。当请求通过组成您的网站和分布式应用程序的各项服务时,请求跟踪功能可让您通过请求的唯一 ID 对其进行跟踪。您可以使用唯一跟踪标识符,在单个请求的粒度上发现应用程序堆栈内的任何性能或计时问题。

    Web 应用程序防火墙
    您现在可以使用 AWS WAF 来保护 Application Load Balancer 上的 Web 应用程序。AWS WAF 是一款 Web 应用程序防火墙,帮助保护您的 Web 应用程序免受常见 Web 漏洞的攻击,这些漏洞会影响应用程序可用性、损害安全性或消耗过多的资源。

  • 网络负载均衡器

    网络负载均衡器在连接级别 (第 4 层) 运行,根据 IP 协议数据将连接路由至目标 (Amazon EC2 实例、容器和 IP 地址)。网络负载均衡器每秒可处理数百万个请求,同时保持超低延迟,非常适用于对 TCP 流量进行负载均衡。网络负载均衡器还经过了优化,能够处理突发和不稳定的流量模式,同时在每个可用区使用单个静态 IP 地址。它可与其他常见的 AWS 产品集成,如 Auto Scaling、Amazon EC2 Container Service (ECS) 和 Amazon CloudFormation。

    基于连接的负载均衡
    您可以对 TCP 流量进行负载均衡,从而将连接路由至目标 (Amazon EC2 实例、微服务和容器和 IP 地址)。

    高可用性
    网络负载均衡器具有高可用性。它接收来自客户端的传入流量,并将此流量分发到同一可用区内的多个目标。负载均衡器还会监控已注册目标的运行状况,并确保只将流量路由到运行良好的目标。当负载均衡器检测到运行状况不佳的目标时,会停止向该目标路由流量,并将流量路由到其他运行良好的目标。如果一个可用区中的所有目标全都运行状况不佳,但您已在其他可用区中设置了目标,则网络负载均衡器会自动执行故障转移,以便将流量路由到其他可用区中运行良好的目标。

    高吞吐量
    网络负载均衡器设计用于随流量的增加执行流量处理,且每秒可对数百万条请求进行负载均衡。它还可处理突发的不稳定流量模式。

    低延迟
    网络负载均衡器可为延迟敏感型应用程序提供极低的延迟。

    保留源 IP 地址
    网络负载均衡器可保留客户端源 IP,从而让后端能够查看客户端的 IP 地址。然后,应用程序可使用该地址进行进一步处理。

    静态 IP 支持
    网络负载均衡器可自动为每个可用区 (子网) 提供静态 IP,应用程序可将此 IP 用作负载均衡器的前端 IP。

    弹性 IP 支持
    借助网络负载均衡器,您还可以选择为每个可用区 (子网) 分配静态 IP,从而提供您自己的固定 IP。

    运行状况检查
    网络负载均衡器同时支持网络和应用程序目标运行状况检查。网络运行状况视您的目标对正常流量的整体响应情况而定。如果目标无法响应新连接或响应太慢,则负载均衡器会将该目标标记为“不可用”。应用程序运行状况检查也可用于进行更深入的了解。它会定期探测给定目标上的特定 URL,从而整合实际应用程序的运行状况。为了实现快速诊断和强大的调试,您还可以通过网络负载均衡器 API 中的“原因代码”和连接到目标运行状况检查的 Amazon CloudWatch 指标,来全面了解运行状况检查以及未通过检查的原因。

    DNS 故障转移
    如果没有运行状况良好的目标注册网络负载均衡器,或如果给定可用区中的网络负载均衡器节点运行状况不佳,则 Amazon Route 53 会将流量定向到其他可用区中的负载均衡器节点。

    与 Amazon Route 53 集成
    如果您的网络负载均衡器无法响应,则与 Route 53 的集成将从服务中删除不可用的负载均衡器 IP 地址,并将流量发送到另一个地区的备用网络负载均衡器。

    与 AWS 服务集成
    网络负载均衡器可与其他 AWS 产品集成,如 Auto Scaling、Amazon EC2 Container Service (ECS)、AWS CloudFormation、AWS CodeDeploy 和 AWS Config。

    长期 TCP 连接
    网络负载均衡器支持长期 TCP 连接,此类连接非常适用于 WebSocket 类型的应用程序。

    集中的 API 支持
    网络负载均衡器和应用程序负载均衡器使用的 API 相同。这样一来,您就可以在同一 Amazon EC2 实例的多个端口之间使用目标组、执行运行状况检查并进行负载均衡,从而支持容器化应用程序。

    可靠的监控和审核
    Amazon CloudWatch 可报告网络负载均衡器的指标。CloudWatch 可提供活动流数量、正常运行的主机数量、新流数量、已处理的字节数等指标。网络负载均衡器还可与 AWS CloudTrail 集成。CloudTrail 可跟踪网络负载均衡器的 API 调用。

    增强型日志记录
    您可以使用流日志功能来记录发送至负载均衡器的所有请求。流日志捕获有关在您的 VPC 中传入和传出网络接口的 IP 流量的信息。流日志数据使用 Amazon CloudWatch Logs 进行存储。

    区域隔离
    网络负载均衡器专为单个可用区中的应用程序架构而设计。如果当前可用区中的某些部分出现故障,我们将自动故障转移到其他运行状况良好的可用区。虽然我们建议客户在多个可用区配置负载均衡器和目标以实现高可用性,但网络负载均衡器也可在单个可用区域中启用,以支持需要区域隔离的架构。

    使用 IP 地址即目标进行负载均衡
    您可以将应用程序后端的 IP 地址用作目标,对 AWS 或本地位置托管的任何应用程序进行负载均衡。这样一来,您就可以对托管在实例上的任意 IP 地址和任意接口上的应用程序后端进行负载均衡。托管在同一实例上的每个应用程序都有关联的安全组,并使用同一端口。此外,您还可以将 IP 地址用作目标,对托管在本地位置 (通过 Direct Connect 连接) 和 EC2-Classic (使用 ClassicLink) 中的应用程序进行负载均衡。通过在 AWS 和本地资源之间进行负载均衡,您可以迁移至云、爆发至云或故障转移至云。

  • 传统负载均衡器

    传统负载均衡器同时运行于请求级别和连接级别,可在多个 Amazon EC2 实例之间提供基本的负载均衡。传统负载均衡器适用于在 EC2-Classic 网络内构建的应用程序。在使用 Virtual Private Cloud (VPC) 时,我们建议将应用程序负载均衡器用于第 7 层,将网络负载均衡器用于第 4 层。

    高可用性
    您可以在单个可用区或多个可用区中的 Amazon EC2 实例之间分配传入流量。传统负载均衡器会根据应用程序传入流量自动扩展其请求处理容量。

    运行状况检查
    传统负载均衡器可以检测 Amazon EC2 实例的运行状况。它检测到运行不良的 EC2 实例后,便不会再将流量路由至这些实例,而是将负载分布到其他运行良好的 Amazon EC2 实例。

    安全功能
    使用 Amazon Virtual Private Cloud (Amazon VPC) 时,您可以创建和管理与传统负载均衡器相关联的安全组,以提供更多联网和安全选项。您也可以创建一个没有公有 IP 地址的 Classic 负载均衡器,将其用作内部(不面向 Internet)负载均衡器。

    SSL 卸载
    传统负载均衡器支持 SSL 终止,包括从应用程序实例卸载 SSL 解密、集中管理 SSL 证书,以及通过可选公有密钥身份验证加密后端实例。灵活的加密支持允许您控制负载均衡器向客户端提供的加密方式和协议。

    粘性会话
    传统负载均衡器支持将用户会话绑定到使用 Cookie 的特定 Amazon EC2 实例。流量将路由到同一实例,同时用户继续访问您的应用程序。

    IPv6 支持
    传统负载均衡器同时支持将 Internet 协议版本 4 和 6 (IPv4 和 IPv6) 用于 EC2-Classic 网络。

    第 4 层或第 7 层负载均衡
    您可以对 HTTP/HTTPS 应用程序进行负载均衡并使用第 7 层特有的功能,如 X-Forwarded 和粘性会话。您还可以对仅依赖于 TCP 协议的应用程序使用严格的第 4 层负载均衡。

    运行监控
    Classic 负载均衡器的各项指标(如请求数量和请求延迟)由 Amazon CloudWatch 报告。

    日志记录
    使用访问日志功能记录发送至负载均衡器的所有请求,并将日志存储在 Amazon S3 中供以后分析之用。日志可用于诊断应用程序故障和分析 Web 流量。您可以使用 AWS CloudTrail 记录针对您账户的传统负载均衡器 API 调用并传送日志文件。您可以利用 API 调用历史记录进行安全分析、资源变更追踪和合规性审核。