【AWS初学者】5分钟简单易懂! 简单易懂的Amazon ELB讲解!
你好!这是井上,来自超越四国办事处的波斯猫。
这次我要给大家讲解一下AWS提供的【负载均衡器】!
什么是【负载均衡器】?
负载均衡器是您经常听到的东西,但简单来说,它是一种平衡(分配)服务器负载的设备。
如果访问量不是很多,服务器处理的请求也很少,那么不使用负载均衡器是没有问题的。但是,假设由于某种原因访问集中在服务器上。
在这种时候,很多人可能都经历过服务器变重、网站显示时间变长的情况。
当从 Internet 访问服务器时,服务器会使用该设备上安装的 CPU 和内存等资源来处理请求。
如果由于某种原因导致访问量集中,请求量快速增加,则可能会导致页面在用户的浏览器上显示缓慢或不显示。当请求处理延迟时,例如当该页面显示缓慢或根本不显示时,就会出现高负载情况。
可以说,由于服务器访问集中,导致负载较高。
负载均衡器在防止网站在如此高的负载条件下显示太慢或不显示方面发挥着积极作用。
通过将负载分布到多台服务器上,可以防止负载集中在一台服务器上。
负载均衡机制不仅可以集中Web访问,而且即使在服务器出现故障的情况下也可以为Web用户提供稳定的服务。
服务器上的负载不能总是说是恒定的。因此,为了始终为用户提供稳定的服务,有必要引入负载均衡器。
什么是[ELB]?
ELB是【Elastic Load Balancing】的缩写,是AWS提供的负载均衡器。
如上所述,负载均衡器是一种将集中在一台服务器上的访问(流量)分散到多台服务器或网络上以分配负载的机制。它也称为“负载均衡器”,因为它分配单个负载。
除了负载均衡之外,它还具有健康检查功能。健康检查功能可以让您实时监控服务器性能。
这样您就可以在发现异常服务器时停止向其发送流量,并将流量发送至其他健康的服务器以实现负载均衡。
ELB自动分配负载并防止服务器宕机。
此外,ELB 根据负载情况自动扩展,因此管理员(工程师)无需手动增加 ELB 数量或提高其规格。
如果您预计流量会突然增加,例如访问量突然增加,也可以与 AWS Auto Scaling 结合使用。这允许您根据请求量增加或减少服务器数量,并防止服务器停机。
此外,作为 ELB 的一项功能,即使可用区不同,也可以对已安装的 EC2 的流量进行负载平衡。
我们建议您为所有负载均衡器启用多个可用区。
但是,您的 Application Load Balancer 需要至少启用两个可用区。
此配置允许您的负载均衡器继续路由流量。
如果一个可用区不可用或没有运行状况良好的目标,您的负载均衡器可以将流量路由到另一可用区中的运行状况良好的目标。
参考站点: ELB 的工作原理
■ELB 的类型
ELB 分为三种类型:ALB、NLB 和CLB。
白蛋白 | [应用程序负载均衡器] 的缩写。 适用于 HTTP 和 HTTPS 的负载均衡器。 它在 OSI 参考模型的应用层运行。 单个负载均衡器增强了对 HTTP 和 HTTPS 协议的支持。 它是 Web 应用程序中最常用的负载均衡器。 由于是通过查看请求命令等命令的内容来进行判断的,因此也可以按照目标URL目录进行排序。 您还可以加密实例和负载均衡器之间的通信。 也可以指定 IP 地址作为分发目的地。 |
N.L.B. | [网络负载均衡器] 的缩写。 它在 OSI 参考模型中的传输层(负责控制传输数据的层)上运行。 由于它只查看称为数据包的碎片数据,因此它无法像 ALB 那样精细地排序。 相反,您可以设置静态IP地址作为分发目的地,也可以设置访问服务器的客户端的IP地址直接传输到服务器。 NLB 是一种现代负载均衡器,旨在每秒处理数百万个请求,同时保持高吞吐量和超低延迟。 NLB 将流量路由到 VPC 内的目标,每秒可以处理数百万个请求,同时保持低延迟。 因此,它适用于预计会收到大量访问(负载快速增加)的服务器。 |
C.L.B. | [经典负载均衡器] 的缩写。 在ELB中,它是一种老式的负载均衡器。 特点是支持多种协议。 它支持许多协议,例如 TCP、SSL/TLS、HTTP 和 HTTPS。 它提供跨多个 EC2 实例的基本负载平衡,并在请求和连接级别运行。 它适用于在 EC2-Classic 网络中构建的应用程序。 该负载均衡器的弱点是不允许进行复杂的设置,目前AWS不推荐使用它。 |
除了上面提到的三种典型的AWS ELB之外,还有【GLB】。
GLB是[网关负载均衡器]的缩写。
网关负载均衡器允许您轻松部署、扩展和运行第三方虚拟网络设备。
网关负载均衡器为第三方设备群提供负载均衡和自动扩展,对流量的源和目的地是透明的。
此功能使其非常适合与第三方设备配合使用以实现安全、网络分析和其他用例。
参考站点:弹性负载均衡
由于是刚发布的服务,所以研究完之后想单独写一篇博客!
顺便说一句,当我测试ALB写这篇博客时,我发现
如果我只是将ALB链接到验证实例,那么在检查访问日志时会返回“403”状态码。
172.31.4.72 - - [15/Jun/2021:07:59:03 +0000]“GET / HTTP/1.1”403 4897“-”“ELB-HealthChecker/2.0”
在这种情况下,我在文档根目录下放置了一个“index.html”文件,在文件中放入“aws test”字样,当我从浏览器访问它时,成功返回了“200”状态代码。
*这需要在服务器上安装apache。
首先,移动到文档根目录。
[root@ip-172-31-38-25 httpd]# cd /var/www/html
创建一个名为“index.html”的文件。
[root@ip-172-31-38-25 html]# touch index.html
在您创建的“index.html”文件中写入“aws test”。
[root@ip-172-31-38-25 html]# vi index.html
如果您想从浏览器访问验证实例,可以通过在 Chrome 搜索栏中输入 [公共 IPv4 地址] 来实现。
我们再检查一下访问日志吧!
172.31.4.72 - - [15/Jun/2021:08:38:35 +0000]“GET / HTTP/1.1”200 9“-”“ELB-HealthChecker/2.0”
状态代码现已变为“200”,当您从 AWS 控制台检查“目标组”时,“目标组”的状态也从不健康变为健康!
概括
例如,负载均衡器是
“这是你的工作。”“我希望你做这份工作。”
它就像公司里的老板(控制塔)。
通过明智地使用负载平衡器,您可以防止服务器停机并消除诸如站点显示延迟和“站点不显示”之类的问题,这可能会增加对您站点的信任。
我也想成为一个可以做负载均衡的人。
每天都在成长,每天都在前进。
我必须每天更新自己! ! !
感谢您阅读到最后。