云计算——AWS Solutions Architect – Associate(saa)5.负载均衡

一、什么是负载均衡

负载均衡器在应用架构设计中是重要的组件,负责接收来自客户端的流量,将流量按一定的算法转发给后端的一组实例、并将后端实例的响应再返回络客户端。

AWS提供一款托管的负载均衡服务, Elastic Load Balancer(简称ELB),ELB除了能够做负载均衡分发流量之外,还能对后端的实例健康检查。并将流量仅转发给通过健康检查的实例,同时ELB还能与自动扩展组(Auto Scaling Group)以及监控服务(CoudWatch)配合,设置根据后端实例CPU使用率的高低,流量大小,处理时间长短等指标,自动完成添加或缩减实例数量。

二、ELB中负载均衡器的类型

1.Application Load Balancer

如果使用 HTTP 和 HTTPS 流量的应用程序需要灵活的功能集,请选择 Application LoadBalancer。Application Load Balancer 在请求级别运行,面向包括微服务和容器在内的应用程序架构提供高级路由功能和可见性功能。

2.Network Load Balancer

如果需要超高性能、大规模分载 TLS、集中部署证书、UDP 支持以及将静态 IP 地址用于应用程序,请选择网络负载均衡器。网络负载均衡器在连接级别运行,每秒钟能够安全地处理数百万个请求,同时维持超低延迟。

3.Gateway Load Balancer

如果需要部署和管理一系列支持 GENEVE 的第三方虚拟设备,请选择一个 Gateway LoadBalancer。这类设备可帮您增强安全性、合规性和策路控制。

不同负载均衡器之间的比较

|---------|---------------------------|-----------------------|----------------------|
| 功能 | Application Load Balancer | Network Load Balancer | Gateway Load Balance |
| 负载均衡器类型 | 第7层 | 第4层 | 第 3层网关+第4层负载均衡 |
| 目标类型 | IP、实例、Lambda | IP、实例 | IP、实例 |
| 协议侦听器 | HTTP、HTTPS、 gRPC | TCP、UDP、TLS | IP |
| 获得方式 | VIP | VIP | 路由表条目 |

三、各类负载均衡器的功能

1、应用程序负载均衡器的功能

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

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

支持基于请求中的字段进行路由,例如标准和自定义 HTTP 标头和方法、查询参数和源 IP 地址。

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

支持返回自定义 HTTP 响应。

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

支持将 Lambda 函数注册为目标。

支持负载均衡器在路由请求之前使用应用程序用户的企业或社交身份对这些用户进行身份验证。

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

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

2、网络负数均衡器的功能

可以处理急剧波动的工作负载,并可以扩展到每秒处理数百万个请求。

支持将静态 IP 地址用于负载均衡器。还可以针对为负载均衡器启用的每个子网分配一个弹性 IP 地址。

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

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

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

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

3、网关负载均衡器的功能

Gateway Load Balancer与AWS Auto Scaling组协同工作,允许您为虚拟设备实例设置目标利用率级别。这确保您在任何时候都有最佳的可用资源数量。当流量增加时,将创建更多实例并连接到网关负载均衡器。当流量恢复到正常水平时,这些实例将被终止。

网关负载均衡器通过将流量路由到健康的虚拟设备,并在虚拟设备变得不健康时重新路由流,确保高可用性和可靠性。为了确保虚拟设备可用且健康,GatewayLoad Balancer按可配置的节奏对每个虚拟设备实例运行运行状况检查。如果连续失败的测试数量超过设置的闹值,设备将被声明为不正常状态,流量将不再路由到该实例。

网关负载均衡器端点是一种新型的VPC endpoint,用于连接网络流量的源和目的。它采用PrivateLink技术,通过私有连接连接Intemet网关、vpc和其他网络资源你的流量通过AWS网络流动,数据永远不会暴露在互联网上。

四、重要组件

侦听器

侦听器是一个使用您配置的协议和端口检查连接请求的进程。为侦听器定义的规则可以确定负载均衡器将请求路由到一个或多个目标组中的目标的方式。

负载均衡器

负载均衡器充当客户端的单一接触点。客户端将请求发送到负载均衡器,然后负载均衡器将请求发送到一个或多个可用区中的目标(例如EC2 实例)。

目标组

每个目标组均用于将请求路由到一个或多个已注册的目标。创建侦听器时,您为其默认操作指定目标组。流量将转发到在侦听器规则中指定的目标组。

相关推荐
他们叫我阿冠5 分钟前
Day5学习--SpringBoot详解
spring boot·后端·学习
tedcloud12312 分钟前
hello-agents部署教程:从零学习AI Agent开发
服务器·人工智能·学习·自动化·powerpoint
szxinmai主板定制专家22 分钟前
电力设备RK3568/RK3576+FPGA,多系统混合部署Linux+RTOS RT-THREAD,强实时性
linux·运维·服务器·人工智能·嵌入式硬件·fpga开发
我想我不够好。23 分钟前
针对性抓人 随机应变
学习
OSwich35 分钟前
【 Godot 4 学习笔记】命名规范
笔记·学习·godot
觅_43 分钟前
前端学习后端的时候 选择一个技术
前端·学习
我是坑货1 小时前
Jenkins 构建失败排查记录:mvn -U 把新版依赖被远程旧版覆盖
运维·jenkins
吃吃今天努力学习了吗1 小时前
【大模型入门学习笔记】常见概念总结
笔记·学习
L、2181 小时前
CANN调优工具链全景:从profiler到tensorboard的完整观测体系
linux·运维·服务器·深度学习
Bechamz1 小时前
大数据开发学习Day39
大数据·学习