【AWS 新手入门】Amazon ELB 五分钟指南!

你好!我是井上,一只来自 Beyond Co., Ltd. 四国办事处的波斯猫。
这次,我想为大家讲解一下AWS提供的负载均衡器!
什么是负载均衡器?
你可能听说过负载均衡器,简单来说,它是一种可以平衡服务器负载的设备。
如果访问量不大,服务器处理的请求也很少,即使不使用负载均衡器也不会有问题。但是,假设由于某种原因,对服务器的访问变得集中起来。
在这样的情况下,很多人可能都遇到过服务器运行缓慢、网站加载时间过长的情况。
当从互联网访问服务器时,它会使用设备上安装的 CPU 和内存等资源来处理请求。
如果由于某种原因访问量集中,请求数量突然增加,网页在用户的浏览器中可能会显示缓慢甚至完全无法显示。当请求处理延迟时,例如网页显示缓慢或完全无法显示,则表明网站负载过高。
服务器访问集中时,负载会很高。
负载均衡器用于防止网站在高负载情况下运行速度变慢甚至无法正常显示。
通过将负载分配到多个服务器上,可以防止负载集中在单个服务器上。
负载均衡机制使我们能够为网络用户提供稳定的服务,不仅在网络访问量激增的情况下,而且在服务器发生故障的情况下也是如此。
服务器负载并非始终恒定,因此为了向用户提供稳定的服务,有必要引入负载均衡器。
什么是ELB?
ELB 代表 Elastic Load Balancing(弹性负载均衡),是 AWS 提供的负载均衡器。
如上所述,负载均衡器是一种通过将集中访问(流量)分配到多个服务器或网络来分散负载的系统。由于它分配的是单一负载,因此也称为“负载分配设备”。
除了负载均衡之外,它还具有健康检查功能,可以实时监控服务器性能。
这样一来,您可以识别异常服务器,停止向该服务器发送流量,并将流量发送到其他健康的服务器,从而平衡负载。
ELB 可自动分配负载,防止服务器宕机。
此外,ELB 会根据负载自动扩展,无需管理员(工程师)手动增加 ELB 的数量或升级其规格。
如果您预计流量会突然增加,还可以使用 AWS 自动扩展。它可以根据请求数量自动增加或减少服务器数量,从而防止服务器停机。
ELB 的另一个特点是,即使 EC2 实例位于不同的可用区,它也可以跨 EC2 实例进行流量负载均衡。
我们建议为所有负载均衡器启用多个可用区。
但是,您的应用程序负载均衡器必须至少启用两个可用区。
此配置可确保您的负载均衡器能够持续路由流量。
如果某个可用区不可用或没有运行正常的目标,您的负载均衡器可以将流量路由到另一个可用区中的运行正常的目标。
参考网站: ELB 的工作原理
■ELB 的类型
ELB 有三种类型:ALB、NLB 和 CLB。
| 艾尔布 | 它代表“应用负载均衡器”。 这是一款针对 HTTP 和 HTTPS 协议优化的负载均衡器。 它运行在 OSI 参考模型的应用层。 它是一个单一的负载均衡器,对 HTTP 和 HTTPS 协议提供了增强的支持。 它是 Web 应用中最广泛使用的负载均衡器。 它基于请求命令等命令的内容进行决策,因此也可以按目标 URL 中的目录分配流量。 它还可以加密实例与负载均衡器之间的通信, 并允许指定 IP 地址作为分发目标。 |
| 国家图书馆 | NLB 代表网络负载均衡器。 它运行在 OSI 参考模型的传输层(负责控制传输数据的层)。 由于它只能处理称为数据包的碎片化数据,因此无法像 ALB 那样精确地分配流量。 您可以将静态 IP 地址设置为分配目标,或者将其配置为将访问服务器的客户端的 IP 地址直接传递给服务器。NLB 是一款现代负载均衡器,旨在处理每秒数百万个请求,同时保持超低延迟和高吞吐量。NLB 将流量路由到 VPC 内的目标,并能够在保持低延迟的情况下处理每秒数百万个请求。 这使其适用于预期会接收大量流量(负载突然增加)的服务器。 |
| CLB | 这代表“经典负载均衡器 (Classic Load Balancer)” ,是 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 控制台中检查“目标组”时,“目标组”的状态也已从“不健康”变为“健康”!
概括
例如,负载均衡器
“这是你的工作。”“我希望你来做这项工作。”
他就像公司里的老板(指挥中心)。
通过有效使用负载均衡器,您可以防止服务器停机,并消除网站显示延迟或网站完全不显示等问题,这很可能会提高您网站的可靠性。
我也想成为像负载均衡器那样的人。
每天都在成长,每天都在进步。
我必须每天都更新自己!
感谢您阅读到最后。
6