目标:使用 Amazon Elastic Load Balancing (ELB) ,Amazon CloudWatch, Amazon EC2 Auto Scaling 服务,在 AWS 上构建一个弹性高可用的架构。
1. Amazon Elastic Load Balancing (ELB)
1.1 ELB 简介
- Elastic Load Balancing 跨多个可用区中的多个目标(如 Amazon EC2 实例、容器和 IP 地址)分发传入应用程序或网络流量。
- 负载均衡器优势
- 负载均衡器跨多个计算资源 (如虚拟服务器) 分布工作负载。使用负载均衡器可提高您的应用程序的可用性和容错性。
- 可以根据需求变化在负载均衡器中添加和删除计算资源,而不会中断应用程序的整体请求流。
- 您可以配置运行状况检查,这些检查监控计算资源的运行状况,以便负载均衡器只将请求发送到正常运行的目标。
- 此外,您可以将加密和解密的工作交给负载均衡器完成,以使您的计算资源能够专注于完成主要工作。
- ELB 类型:
1.2 Application Load Balancer
- 负载均衡器
- 充当客户端的单一接触点。负载均衡器在多个可用区中的多个目标 (例如 EC2 实例) 间分配应用程序的传入流量。这将提高应用程序的可用性。可以向您的负载均衡器添加一个或多个侦听器。
- 侦听器
- 使用您配置的协议和端口检查来自客户端的连接请求。
- 您为侦听器定义的规则确定负载均衡器如何将请求路由到其已注册目标。
- 每条规则由优先级、一个或多个操作以及一个或多个条件组成。当规则的条件满足时,将执行其操作。
- 您必须为每个侦听器定义默认规则,并且可以选择定义其他规则。
- 目标组
- 使用您指定的协议和端口号将请求路由到一个或多个注册目标,例如 EC2 实例。
- 您可以向多个目标组注册一个目标。
- 您可以对每个目标组配置运行状况检查。
- 在注册到目标组 (它是使用负载均衡器的侦听器规则指定的) 的所有目标上,执行运行状况检查。
- 概述
- 应用程序负载均衡器在应用程序层正常工作,该层是开放系统互连 (OSI) 模型的第 7 层。负载均衡器收到请求后,将按照优先级顺序评估侦听器规则以确定应用哪个规则,然后从目标组中选择规则操作目标。可以配置侦听器规则,以根据应用程序流量的内容,将请求路由至不同的目标组。每个目标组的路由都是单独进行的,即使某个目标已在多个目标组中注册。可以配置目标组级别使用的路由算法。默认路由算法为轮询路由算法;或者,可以指定最少未完成请求路由算法。
1.3 Network Load Balancer
- 结构和应用程序负载均衡器类似
- 适合突发和不稳定流量模式
- 每个可用区提供了一个静态 IP 地址
- 支持 TCP 和 UDP
- 是需要极致性能的应用程序的理想之选