Elastic Load Balancing 会自动在 Amazon EC2 实例、容器或由 IP 地址标识的资源之间分配传入的应用程序流量。它可以让您实现应用程序容错能力,从而无缝提供路由应用程序流量所需的负载均衡容量。
Elastic Load Balancing 现有两种类型的负载均衡器,这两种类型均具备高可用性、自动扩展功能和可靠的安全性。其中一种是 Classic 负载均衡器,可基于应用程序或网络级信息路由流量;另一种是应用程序负载均衡器,可基于包括请求内容的高级应用程序级信息路由流量。Classic 负载均衡器适用于在多个 EC2 实例之间进行简单的流量负载均衡,而应用程序负载均衡器则适用于需要高级路由功能、微服务和基于容器的架构的应用程序。Application Load Balancer 能够将流量路由到多个应用程序。这些应用程序可位于多个不同实例上,也可位于使用不同 IP 地址或端口的同一实例上。您还可使用 Application Load Balancer 对本地资源进行负载均衡。
使用 Elastic Load Balancing 自动在多个目标和可用区之间路由流量,使您的应用程序达到更高的容错水平。Elastic Load Balancing 可检测运行不良的目标,并在其余运行良好的目标间重新路由流量,从而确保仅运行状况良好的目标能够接收流量。如果一个可用区中的所有目标全都运行不良,但您已在多个可用区中设置了目标,则 Elastic Load Balancing 会将流量路由到其他区域中运行良好的目标。
Elastic Load Balancing 可自动扩展请求处理能力,满足应用程序流量要求。此外,Elastic Load Balancing 还可与 Auto Scaling 集成,确保您具有后端能力,可满足各种流量水平的要求,且无需手动干预。
Elastic Load Balancing 与 Amazon Virtual Private Cloud (VPC) 配合使用,提供稳定的联网和安全功能。您可以创建一个内部(不面向互联网的)负载均衡器,使用您的虚拟网络内的私有 IP 地址路由流量。您可以实施一个多层架构,使用内部和面向互联网的负载均衡器在各级应用程序间路由流量。有了多层架构,您的应用程序基础设施就可以使用私有 IP 地址和安全组,从而允许您仅通过公有 IP 地址显示面向互联网那一层。
Elastic Load Balancing 提供集成化证书管理和 SSL 加密,使您可以集中管理负载均衡器的 SSL 设置并从您的实例上卸载 CPU 密集型工作。Elastic Load Balancing 还与 AWS Certificate Manager 集成,让您能够轻松为站点或应用程序启用 SSL/TLS。您将获得集成化证书管理、托管证书更新与部署以及 SSL/TLS 解密等功能,让您能够集中管理负载均衡器的 SSL/TLS 设置。
借助 Elastic Load Balancing,您可以灵活地虚拟化应用程序目标,从而可在同一实例上托管更多的应用程序,并以最佳方式使用资源。负载均衡器可路由到使用 IP 地址托管在同一实例上的多个应用程序目标。托管在同一实例上的多个应用程序可以具有单独的安全组,并可使用相同的端口。这简化了基于微服务的架构中应用程序间的通信。
借助 Elastic Load Balancing,您可以使用同一负载均衡器在 AWS 资源和本地资源之间进行负载均衡,从而能够轻松地迁移至云、爆发至云或故障转移至云。
您可以通过将 Amazon EC2 实例放置在多个可用区域来构建容错应用程序。如果希望获得更好的容错能力,但是不想过多手动干预,您可以使用 Elastic Load Balancing。通过将计算实例交给 Elastic Load Balancer 监管,可以提高其容错能力,因为它能自动均衡多个实例和多个可用区域之间的流量,并确保仅由正常 Amazon EC2 实例接收流量。您可以设置 Elastic Load Balancer,在单个可用区域或多个可用区域的 Amazon EC2 实例间均衡应用程序传入的流量负载。Elastic Load Balancing 可以检测 Amazon EC2 实例是否正常运行。 一旦检测到运行状况不佳的 Amazon EC2 实例,它就不会继续向这些 Amazon EC2 实例路由流量, 而是会将负载分配给其余的运行正常的 Amazon EC2 实例。 如果特定可用区域中的所有 Amazon EC2 实例都未正常运行,但您已在多个可用区域中设置了 Amazon EC2 实例,则 Elastic Load Balancing 会将流量路由到其他区域中正常运行的 Amazon EC2 实例。 它会在原始 Amazon EC2 实例恢复到正常运行状态后恢复其负载平衡。
您可以使用 Amazon Route 53 运行状况检查和 DNS 故障转移功能来增强在 Elastic Load Balancer 后方运行的应用程序的可用性。如果在负载均衡器注册的 EC2 实例都处于不正常状态或者负载均衡器本身运行不正常,则 Route 53 将绕过该负载均衡器。
使用 Route 53 DNS 故障转移,您可以在多个 AWS 区域运行应用程序并跨区域指定备用负载均衡器以进行故障转移。如果您的应用程序无法响应,则 Route 53 将从服务中删除不可用的负载均衡器终端节点并将流量定向到另一个区域的负载均衡器。要开始将 Route 53 故障转移用于 Elastic Load Balancing,请参阅 Elastic Load Balancing Developer Guide 和 Amazon Route 53 Developer Guide。
假设您希望确保 Elastic Load Balancer 背后正常运行的 Amazon EC2 实例数始终不少于两个,您可以使用 Auto Scaling 来设定这些条件,当 Auto Scaling 检测到满足某个设定条件后,它将自动向您的 Auto Scaling 组添加必备数量的 Amazon EC2 实例。或者,如果您希望确保当任一 Amazon EC2 实例在任意 15 分钟期间内的延迟超过 4 秒时添加新的 Amazon EC2 实例,可以设置该条件,Auto Scaling 将对您的 Amazon EC2 实例采取相应的操作,即使它们在 Elastic Load Balancer 监管之下运行时亦是如此。无论是否使用 Elastic Load Balancing,Auto Scaling 对于扩展 Amazon EC2 实例的作用都同样有效。
Elastic Load Balancing 让用户能够轻松创建面向 Internet 的 VPC 入口点,或均衡 VPC 内应用程序层内部的负载。您可以向 ELB 分配安全组,以控制向一系列授权的来源开放哪些端口。由于 Elastic Load Balancing 与 VPC 相连接,所有现有的网络访问控制列表 (ACL) 和路由表均将继续提供附加的网络控制功能。
当您在 VPC 中创建负载均衡器时,可以指定该负载均衡器是面向互联网(默认)还是面向内部。如果选择面向内部,则无需使用互联网网关来连接负载均衡器,并且在负载均衡器的域名服务记录中将使用负载均衡器的私有 IP 地址。
Elastic Load Balancing 让您能够使用同一负载均衡器在 AWS 资源和本地资源之间进行负载均衡。如果需要在 AWS 资源和本地资源之间分配应用程序流量,您可以将所有资源 (AWS 和本地) 注册到同一目标组,并将该目标组与负载均衡器关联起来。或者,您可以使用两个负载均衡器 (其中一个用于 AWS 资源,另一个用于本地资源) 在 AWS 资源和本地资源之间进行基于 DNS 的加权负载均衡。如果您拥有两个不同的应用程序,其中一个位于 VPC,另一个位于本地位置,则混合负载均衡同样可以让您受益。您可以将 VPC 目标放入一个目标组,将本地目标放入另一个目标组,然后使用基于内容的路由将流量路由到每个目标组。

