高可用性

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

运行状况检查

Elastic Load Balancing 可以检测无法正常运行的目标、停止向它们发送流量,然后将负载分散到剩余的正常运行的目标上。

安全性功能

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

TLS 终止

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

第 4 层或第 7 层负载均衡

您可以对 HTTP/HTTPS 应用程序执行负载均衡以实现特定于第 7 层的功能,或者对依赖于 TCP 和 UDP 协议的应用程序使用严格的第 4 层负载均衡。

运行监控

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

产品比较

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

功能 Application Load Balancer 网络负载均衡器 Classic Load Balancer
协议 HTTP、HTTPS TCP、UDP、TLS TCP、SSL/TLS、HTTP、HTTPS
平台 VPC VPC EC2-Classic、VPC
运行状况检查
CloudWatch 指标
日志记录
区域故障转移
Connection Draining(注销延迟)
负载均衡到同一实例上的多个端口  
IP 地址即目标 ✔(TCP、TLS)   
负载均衡器删除保护  
可配置的空闲连接超时  
跨区负载均衡
粘性会话  
静态 IP    
弹性 IP 地址    
保留源 IP 地址    
基于资源的 IAM 权限
基于标签的 IAM 权限  
慢启动    
WebSocket  
PrivateLink 支持   ✔(TCP、TLS)   
基于源 IP 地址 CIDR 的路由    
第 7 层
基于路径的路由    
基于主机的路由    
本机 HTTP/2    
重定向    
固定响应    
Lambda 函数即目标    
基于 HTTP 标头的路由    
基于 HTTP 方法的路由    
基于查询字符串参数的路由     
安全性
SSL 卸载
服务器名称指示 (SNI)  
后端服务器加密
用户身份验证    
自定义安全策略    

Elastic Load Balancing 产品详情

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

    主要功能

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

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

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

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

    Lambda 函数即目标
    Application Load Balancer 支持调用 Lambda 函数来处理 HTTP(s) 请求,使用户能够从任何 HTTP 客户端(包括 Web 浏览器)访问无服务器应用程序。您可以将 Lambda 函数注册为目标,并利用对基于内容的路由规则的支持,将请求路由到不同的 Lambda 函数。您可以将 Application Load Balancer 用作使用服务器和无服务器计算的应用程序的通用 HTTP 终端节点。您可以使用 Lambda 函数构建整个网站,也可以将 EC2 实例、容器、本地服务器和 Lambda 函数组合在一起构建应用程序。

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

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

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

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

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

    基于 HTTP 标头的路由
    您可以基于任何标准或自定义 HTTP 标头的值路由客户端请求。

    基于 HTTP 方法的路由
    您可以基于任何标准或自定义 HTTP 方法路由客户端请求。

    基于查询字符串参数的路由
    您可以基于查询字符串或查询参数路由客户端请求。

    基于源 IP 地址 CIDR 的路由
    您可以基于请求发出的源 IP 地址 CIDR 路由客户端请求。

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

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

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

    本机 IPv6 支持
    在 VPC 中,Application Load Balancer 支持本机 Internet 协议版本 6 (IPv6)。如此一来,客户端可以通过 IPv4 或 IPv6 连接到 Application Load Balancer。

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

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

    运行监控
    Amazon CloudWatch 将报告 Application Load Balancer 的各项指标,例如请求数量、错误数量、错误类型和请求延迟。

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

    您还可以使用 AWS CloudTrail 记录针对您的账户的 Application Load Balancer API 调用并传送日志文件。借助 API 调用历史记录,您可以执行安全分析、资源变更追踪和合规性审核。

    删除保护
    您可以在 Application Load Balancer 上启用删除保护,以防出现意外删除的情况。

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

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

    使用负载均衡算法的慢启动模式
    Application Load Balancer 支持循环的负载均衡算法。此外,Application Load Balancer 支持使用循环算法的慢启动模式,允许您添加新目标但不会用大量请求占用新目标。在慢启动模式下,目标在接受指定份额的请求之前,会根据您指定的上升期限进行预热。对于依赖缓存并需要预热期才能响应请求以达到最佳性能的应用程序来说,慢启动非常有用。

    用户身份验证
    您可以将身份验证功能从您的应用程序转移到 Application Load Balancer。Application Load Balancer 会在用户访问云应用程序时对用户进行安全的身份验证。Application Load Balancer 与 Amazon Cognito 无缝集成,后者允许最终用户通过社交身份提供程序(例如 Google、Facebook 和 Amazon)、利用 SAML 通过企业身份提供程序(例如 Microsoft Active Directory)或通过与 OpenID Connect 兼容的身份提供程序 (IdP) 进行身份验证。如果您已经有与 OpenID Connect 兼容的自定义 IdP 解决方案,Application Load Balancer 还可以直接连接您的身份提供程序,对企业用户进行身份验证。

    重定向
    Application Load Balancer 可以将入站请求从一个 URL 重定向到另一个 URL。这包括将 HTTP 请求重定向到 HTTPS 请求的功能,这使您可以实现安全浏览的合规性目标,同时能够为您的站点实现更好的搜索排名和 SSL/TLS 分数。您还可以使用重定向将用户引导至其他网站,例如从旧版本的应用程序重定向到新版本。

    固定响应
    Application Load Balancer 能够控制您的应用程序为哪些客户端请求提供服务。这使您可以使用 HTTP 错误响应代码和来自负载均衡器本身的自定义错误消息来响应入站请求,而无需将请求转发给应用程序。

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

    主要功能

    基于连接的负载均衡
    您可以对 TCP 和 UDP 流量执行负载均衡,将连接路由到不同的目标 – Amazon EC2 实例、微服务和容器。

    高可用性
    网络负载均衡器具有高可用性。它接受来自客户端的传入流量,并在同一可用区内的目标之间分配此流量。负载均衡器还监控其已注册目标的运行状况,并确保它仅将流量路由到正常运行的目标。当负载均衡器检测到无法正常运行的目标时,它会停止将流量路由到该目标,并将流量重新路由到剩余的正常运行的目标。如果一个可用区中的所有目标全都无法正常运行,但您已在另一个可用区中设置了目标,则网络负载均衡器将自动进行故障转移以将流量路由到其他可用区中正常运行的目标。

    高吞吐量
    网络负载均衡器旨在处理不断增长的流量,并可以对每秒数百万个请求进行负载均衡。它还可以处理突发的不稳定流量模式。

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

    保留源 IP 地址
    网络负载均衡器保留客户端源 IP,允许后端查看客户端的 IP 地址。然后,应用程序可以将其用于进一步处理。

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

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

    TLS 卸载
    网络负载均衡器支持客户端 TLS 会话终止。它让您能够将 TLS 终止任务卸载到负载均衡器,同时为后端应用程序保留源 IP 地址。您可以从 TLS 侦听器的预定义安全策略中作出选择以满足合规性与安全性标准。AWS Certificate Manager (ACM) 或 AWS Identity and Access Management (IAM) 可用于管理您的服务器证书。

    您可以借助 SNI 用单 TLS 侦听器服务于多个安全网站。如果客户端中的主机名与多个证书匹配,负载均衡器将根据智能选择算法选择可使用的最佳证书。

    运行状况检查
    网络负载均衡器支持网络和应用程序目标运行状况检查。网络级别的运行状况基于目标对正常流量的总体响应。如果目标变得无法响应新连接或者响应速度太慢,则负载均衡器会将目标标记为不可用。应用程序级别的运行状况检查也可用于更深入。通过定期探测给定目标上的特定 URL,它可以集成实际应用程序的运行状况。为了快速诊断和强大的调试,还可以通过网络负载均衡器 API 中的“原因代码”以及附加到目标运行状况检查的 Amazon CloudWatch 指标,全面了解运行状况检查及其可能失败的原因。

    DNS 故障转移
    如果没有向网络负载均衡器注册的正常运行的目标,或者给定区域中的网络负载均衡器节点无法正常运行,则 Amazon Route 53 会将流量定向到其他可用区中的负载均衡器节点。

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

    与 AWS 服务集成
    网络负载均衡器已与其他 AWS 服务集成,例如 Auto Scaling、Elastic Container Service (ECS)、CloudFormation、Elastic BeanStalk、CloudWatch、Config、CloudTrail、CodeDeploy 和 AWS Certificate Manager (ACM)。

    长时间运行的 TCP 连接
    网络负载均衡器支持长时间运行的 TCP 连接,这是 WebSocket 类型的应用程序的理想选择。

    集中 API 支持
    网络负载均衡器使用与 Application Load Balancer 相同的 API。这将使您能够在同一 Amazon EC2 实例上的多个端口之间使用目标组、运行状况检查和负载均衡,以支持容器化应用程序。

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

    增强的日志记录
    您可以使用流日志功能记录发送到负载均衡器的所有请求。流日志捕获有关进出 VPC 中网络接口的 IP 流量的信息。流日志数据使用 Amazon CloudWatch Logs 进行存储。
    在您的网络负载均衡器上添加 TLS 侦听器后,您可以选择启用“访问日志”功能,这些访问日志将发送到您选择的 S3 存储桶中。“访问日志”会捕获有关侦听器接收的每个 TLS 连接的信息,可从中了解成功和失败的 TLS 握手情况。

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

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

    主要功能

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

    运行状况检查
    Classic Load Balancer 可以检测 Amazon EC2 实例的运行状况。它检测到无法正常运行的 EC2 实例后,便不会再将流量路由至这些实例,而是将负载分布到其他正常运行的 Amazon EC2 实例。

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

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

    粘性会话
    Classic Load Balancer 支持将用户会话绑定到使用 Cookie 的特定 Amazon EC2 实例。流量将路由到同一实例,同时用户继续访问您的应用程序。

    IPv6 支持
    Classic Load Balancer 支持将 Internet 协议版本 4 和 6(IPv4 和 IPv6)用于 EC2-Classic 网络。

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

    运行监控
    Classic Load Balancer 的各项指标(如请求计数和请求延迟)由 Amazon CloudWatch 报告。

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

Product-Page_Standard-Icons_01_Product-Features_SqInk
了解如何开始使用

探索入门指南和视频资源

了解更多 
Product-Page_Standard-Icons_02_Sign-Up_SqInk
注册免费账户

立即享受 AWS 免费套餐。 

注册 
Product-Page_Standard-Icons_03_Start-Building_SqInk
开始在控制台中构建

开始在 AWS 控制台内使用 Elastic Load Balancing。

登录