配置ALB基于路径的路由功能

关注公众号:AWS爱好者(iloveaws)
文 | 沉默恶魔(禁止转载,转载请先经过作者同意)
网站:www.iloveaws.cn

Hello大家好,欢迎来到《AWS解决方案架构师认证 Professional(SAP)中文视频培训课程》,上节课我们介绍了应用程序负载均衡器,并且基于创建好的测试环境,快速演示了应用程序负载均衡器的基于路径的路由功能。这节课我们将从头开始创建ALB,并配置基于路径的路由功能,实现上节课快速演示的实验。

我们开始今天的课程内容。

[image:FC4FF643-FB4D-4178-BE63-811E5AEDFEB3-13494-00001D6259CA886E/23-配置ALB基于路径的路由功能.001.jpeg]

准备实操的EC2实例测试环境

PPT右边的图示为我们的测试环境,在我们创建应用程序负载均衡器前,要准备好测试环境中的两台实例。
我已经启动了2台EC2实例,全部配置了NGINX服务,并在:

  • SERVER1的NGINX的网站根目录创建images目录并上传了view.jpg文件;
  • 在SERVER2的NGINX的网站根目录创建about目录以及about.txt文件。

关于NGINX的安装和配置在之前的课程中已经介绍过了,有疑问的同学可以查看之前的课程内容。

[image:0A2E689C-8EA7-4FDB-8DC9-6502C3C3C8E7-13494-00001D6384B0332F/23-配置ALB基于路径的路由功能.002.jpeg]

切换到EC2的控制台,可以看到对应PPT中的两个实例,SERVER1 和 SERVER2已经启动了。

我已经分别ssh到这两个实例,我们来看一下:

  • 首先server1 实例,切换到nginx的网站根目录,cd /usr/share/nginx/html,可以看到已经创建的images目录,可通过mkdir命令创建目录,进入images目录,可以看到我之前已经上传的view.jpg。

  • 同样,登录到server2 实例,切换到nginx的网站根目录,cd /usr/share/nginx/html,可以看到已经创建的about目录,进入about目录,可以看到我之前创建的的about.txt文件,可以通过cat about.txt查看文件内容。

[image:91F115F7-454E-4356-A672-918E2EBDB020-13494-00001D650041DA5B/23-配置ALB基于路径的路由功能.003.jpeg]

好,接下来我们快速测试下对应这两台实例的web页面是否可以正常显示。

我们切换到控制台,复制下SERVER1实例的外网iP,然后粘贴到浏览器,然后补全url:http://13.231.230.134/images/view.jpg ,可以正常显示图片;

然后复制下SERVER2实例的外网IP,粘贴到浏览器,然后补全url:http://52.199.101.71/about/about.txt , 可以看到server1和server2两个实例对应的url页面都可以正常访问。

创建应用程序负载均衡器

那么这两台实例的测试环境我们就已经准备好了,接下来我们就可以开始创建应用程序负载均衡器了。

[image:EDA89BAE-9A93-4A5C-8408-70A608200729-13494-00001D665838B4F7/23-配置ALB基于路径的路由功能.004.jpeg]

  • 访问“负载均衡器”控制台,点击“创建负载均衡器”,然后选择创建应用程序负载均衡器。
  • 为应用程序负载均衡器提供名称,我们就叫alb-test。
  • 模式这里,可以选择面向 internet或者内部的负载均衡器,我们的这个测试选择“面向 internet”。
  • 然后,监听器,保留默认值,默认侦听器负责接收端口 80 上的 HTTP 流量。
  • 可用区配置,选择负载均衡器的VPC为实例所在同一个VPC,然后至少选择两个可用区,我们在这里选择前两个,然后继续。
  • 负载均衡器的安全组,我们选择之前创建好的安全组,我选择的这个安全组允许所有人访问80端口。

我们继续,配置路由,我们新创建一个目标组,名称为alb-test,这里要注意,侦听器的默认规则将请求,路由到这个目标组中的已注册目标。

然后目标的类型可以选择实例/IP/lambda函数,我们之前介绍过应用程序负载均衡器支持配置IP作为目标,这也是ALB的一个功能特性,我们这次的演示就选择IP,然后下一步。

[image:9D894C69-443B-4532-900D-1A2CBFA0DF3E-13494-00001D6746F7620B/23-配置ALB基于路径的路由功能.005.jpeg]

接下来注册目标,我们在上一步选择了IP地址作为目标,所以在这里需要输入IP地址,这里的目标是,侦听器的默认规则会将请求路由到此目标组中,我们就配置为server1作为默认规则发送请求的目标。将SERVER1实例的私有ip复制到这里,端口80保持不变,然后需要点击“添加到列表”。

好,我们已经将server1的ip成功添加到了默认规则会将请求路由到的目标组alb-test,然后下一步,审核,然后完成负载群衡器的创建。

到这里,应用程序负载均衡器已经创建完成了,我们可以通过“目前群组”-“目标”选项卡,可以查看实例注册的状态,一般需要几分钟。

如果实例状态是 initial,很可能是因为实例仍在注册过程中,或者未通过正常运行所需的运行状况检查。我们等待实例的状态为 healthy 后,便可测试负载均衡器。

[image:B4E9120C-C390-43B6-A766-437FCE7316BD-13494-00001D683A5ADB96/23-配置ALB基于路径的路由功能.006.jpeg]

好,可以看到目前实例的状态为“healthy”了,我们测试下负载均衡器是否可以正常工作。
通过复制负载均衡器的DNS名称至浏览器,然后回车,好,可以正常访问server1实例的nginx默认页index.html。

接下来我们访问“目标群组”,可以看到目前有一个名为“alb-test”的目标组,是刚刚创建应用程序负载均衡器时创建的,这个目标组注册了server1实例的IP为目标,侦听器的默认规则会将请求路由到此目标组中,也就是路由到server1实例,所以我们刚刚访问应用程序负载均衡器的dns可以打开server1实例的nginx默认页。

[image:86508DAE-E5C4-4085-A165-2AE155E05A86-13494-00001D69250714F9/23-配置ALB基于路径的路由功能.007.jpeg]

配置ALB的基于路径的路由功能

接下来我们要配置基于路径的路由功能,首先需要创建两个目标组,并分别将server1和server2实例注册到对应的目标组中。
创建目标组,“目标组名称”我们输入:images;“目标类型”我们选择IP,然后完成目标组的创建。然后将server1实例添加到images目标组中。

复制server1的私有iP,选择images目标组,然后选择下面的“目标”选项卡,点击“编辑” ,然后点击“+”,将server1实例的私有ip复制进去,然后点击“添加到列表”,然后点击“注册”。这样我们就将server1实例注册到了images目标组。

[image:33FF21E5-A269-4C49-A959-C42C688EC4E1-13494-00001D6A192274B3/23-配置ALB基于路径的路由功能.008.jpeg]

同样的方式我们在创建一个about目标组,将server2实例注册到该目标组。

创建目标组,目标组名称我们输入:about;目标类型我们选择IP,然后完成目标组的创建。然后我们将server2实例添加到about目标组中。复制server2的私有iP,选择about目标组,然后选择下面的“目标”选项卡,点击“编辑” ,然后点击“+”,将server2实例的私有ip复制进去,然后点击“添加到列表”,然后点击“注册”。这样我们就将server2实例注册到了about目标组。

[image:AB0B9738-6ADB-41D5-B6C5-612873126FEC-13494-00001D6B1DF34566/23-配置ALB基于路径的路由功能.009.jpeg]

好,我们刚才创建了images和about两个目标组,并将server1实例注册到了images目标组,将server2实例注册到了about目标组,
接下来我们要做的,就是在应用程序负载均衡器的监听器编辑相应的规则,来实现应用程序负载均衡器的基于路径的路由功能。

[image:061292F5-2DC2-4B69-81CB-D8FFB3E4D81A-13494-00001D6C49167CAD/23-配置ALB基于路径的路由功能.010.jpeg]

切换到负载均衡器控制台,然后选择刚创建的应用程序负载均衡器,选择监听器,然后点击“查看/编辑规则”

[image:4297058F-51E1-4292-9620-C55CB46B4EEB-13494-00001D6D448AE373/23-配置ALB基于路径的路由功能.011.jpeg]

可以看到当前有一个规则,这个规则就是前面讨论的默认规则。

我们开始添加一个规则,点击“+”,然后“插入规则” ,添加条件选择“路径”,然后值输入“images” ,然后添加操作为“转发”,选择转发至images目标组。这个规则的意思是如果负载均衡器收到url请求包括images时,将请求转发至images目标组。

同样,我们在添加一个规则,点击“+”,然后“插入规则” ,添加条件选择“路径”,然后值输入“about” ,然后添加操作为“转发”,选择转发至about目标组。这个规则的意思是如果负载均衡器收到url请求包括about时,将请求转发至about目标组。

如果未满足侦听器的以上的两个任一规则条件,则将执行默认规则的操作。

好,我们现在就已经将应用程序负载均衡器的基于路径的路由功能全部配置完成了。

[image:DA10D63A-5F1A-4295-9CBF-4487CFF0408B-13494-00001D6E39E9587B/23-配置ALB基于路径的路由功能.012.jpeg]

接下来我们测试一下,复制应用程序负载均衡器的dns至浏览器,回车,可以正常访问页面。直接访问负载均衡器的域名后,监听器的默认规则生效,并将请求转发至alb-test目标组,打开了server1的nginx默认的index.html页面。

我们修改下url,在负载均衡器的域名后添加/images/view.jpg ,然后回车,监听器将收到的URL中包含images的请求后成功转发到了images目标组,并成功显示了图片。

我们再次修改下url,为http://alb-test-627093616.ap-northeast-1.elb.amazonaws.com/about/about.txt,可以看到监听器将收到的URL中包含about的请求,成功转发到了about目标组,并成功显示了server2的about.txt的文字信息。

[image:8ABF3001-61EA-47F2-88FC-BC57BB61F3AC-13494-00001D6F362521F6/23-配置ALB基于路径的路由功能.013.jpeg]

好,通过上面的三步测试可以确认我们的应用程序负载均衡器的基于路径的路由功能配置正确,且可正常提供服务。
以上就是我们今天的课程内容,希望能够给大家带来帮助。

希望此系列教程能为您通过 AWS解决方案架构师认证 Professional 认证考试带来帮助,如您有任何疑问

关注公众号:AWS爱好者(iloveaws)
文 | 沉默恶魔(禁止转载,转载请先经过作者同意)
网站:www.iloveaws.cn
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ALB、NLB和CLB是阿里云负载均衡服务中的三种不同类型的负载均衡ALB代表应用型负载均衡(Application Load Balancer),NLB代表网络型负载均衡(Network Load Balancer),CLB代表传统型负载均衡(Classic Load Balancer)。这些负载均衡功能和适用场景上有所不同。 ALB适用于基于HTTP/HTTPS/Websocket的业务。它能够处理7层的流量,但不会解析7层的协议。默认的负载均衡算法是哈希算法。 NLB也能够处理7层的流量,但不会对协议进行解析和处理。NLB适用于需要高性能和支持大规模并发请求的场景。NLB的IP地址不会改变,并且可以分配固定的弹性IP。 CLB是传统的负载均衡,适用于处理4层的流量。CLB的流量分发算法可以通过用户自定义来选择。 总结来说,ALB适用于处理基于HTTP/HTTPS/Websocket的业务,NLB适用于需要高性能和大规模并发请求的场景,CLB适用于处理4层的流量。根据具体的业务需求,可以选择适合的负载均衡类型。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [aws 负载均衡clb/nlb/alb](https://blog.csdn.net/mocas_wang/article/details/127561279)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [阿里云SLB负载均衡ALB、CLB和NLB有什么区别?](https://blog.csdn.net/yunweifun/article/details/127317655)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值