【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 那样进行细粒度的分发。NLB
可以配置为将静态 IP 地址设置为分发目标,或者将访问服务器的客户端的 IP 地址直接发送给服务器。NLB
是一款现代负载均衡器,旨在处理每秒数百万个请求,同时保持超低延迟和高吞吐量。NLB
将流量路由到 VPC 内的目标,并能在保持低延迟的情况下处理每秒数百万个请求。
因此,它适用于预期访问量较大(负载突然增加)的服务器。
CLB 这是【经典负载均衡器】的缩写。
它是 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 控制台中检查“目标组”时,“目标组”的状态也已从“不健康”变为“健康”!

概括

例如,负载均衡器

“这是你的工作。”“我希望你来做这项工作。”

他就像公司里的老板(指挥中心)。

通过有效使用负载均衡器,您可以防止服务器停机,并消除网站显示延迟或网站完全不显示等问题,这很可能会提高您网站的可靠性。

我也想成为像负载均衡器那样的人。

每天都在成长,每天都在进步。
我必须每天都提升自己!
感谢您阅读到最后。

如果您觉得这篇文章对您有帮助,请点个“赞”!
7
加载中...
7票,平均分:1.00/17
23,784
X Facebook Hatena书签 口袋

这篇文章的作者

关于作者

井上彩花

我隶属于系统解决方案部门。
我是Beyond公司四国办公室的创始成员之一。我之前没有任何IT行业经验,直接进入了这个行业。
作为培训团队的一员,我负责为应届毕业生、职场新人和现有员工制定培训课程并开展培训。我的
主要职责是服务器的运维。
我尤其重视客户的内容。此外,
我还隶属于网络内容业务部门和YouTube团队。