什么是ALB
在介绍ALB之前首先介绍一下负载均衡SLB,可以说SLB是负载均衡家族之首
其中,应用型负载均衡ALB(Application Load Balancer):专门面向七层,提供超强的业务处理性能,例如HTTPS卸载能力。单实例每秒查询数QPS(Query Per Second)可达100万次。同时ALB提供基于内容的高级路由特性,例如基于HTTP报头、Cookie和查询字符串进行转发、重定向和重写等,是阿里云官方云原生Ingress网关。
网络型负载均衡NLB(Network Load Balancer):面向万物互联时代推出的新一代四层负载均衡,支持超高性能和自动弹性能力,单实例可以达到1亿并发连接,帮您轻松应对高并发业务。NLB面向海量终端连接、高并发消息服务、音视频传输等业务场景针对性地推出了TCPSSL卸载、新建连接限速、全端口监听等高级特性,在物联网MQTTS加密卸载等场景为用户提供多种辅助手段,是适合IoT业务的新一代负载均衡。
传统型负载均衡CLB(Classic Load Balancer):支持TCP、UDP、HTTP和HTTPS协议,具备良好的四层处理能力,以及基础的七层处理能力。
这样对于负载均衡家族及ALB也就有了初步的认识,下面我们开始操作。
开通ALB服务
官方测评提供了一个体验通道,可以 一分钱领取ALB资源包,下面先来领取资源包吧,进入一分钱领取ALB资源包页面之后直接点击【立即购买】跳转到确认订单页面,否选协议点击【去支付】
确认支付后完成ALB资源包购买。
实现IPv4服务的负载均衡
下述操作即创建一个IPv4版本的ALB实例,并将来自IPv4客户端的访问请求转发至后端服务器。
创建ALB实例
负载均衡控制台地址:https://slb.console.aliyun.com/alb/cn-zhangjiakou/albs 点击【实例】菜单,随后点击【创建应用型负载均衡】
在创建ALB实例页面,由于我的云服务器ECS地域是【张家口】,这里默认选中的就是云服务器ECS的地域,另外需要勾选2个可用区,而我实际上只能完整配置一个可用区B,这时我点击可用区A的【添加vSwitch】跳转到专有网络控制台的创建交换机页面
输入交换机名称,选择专有网络、可用区后点击【确定创建】,创建完成之后跳转到交换机列表页
可以看到我们创建成功的交换机【test2023】。
这时回到创建ALB实例页面继续向下进行,提示【创建关联角色】
点击【创建】,3秒后提示创建关联角色成功,此时【立即购买】按钮可点击,点击【立即购买】跳转到【确认订单】页面,勾选协议,点击【立即开通】
提示开通成功。创建ALB实例成功之后,就可以继续创建后端服务器组了
创建服务器组
点击左侧菜单栏【服务器组】后点击【创建服务器组】
在打开的创建服务器组页面选择 服务器类型,输入 服务器组名称,选择VPC、资源组,剩下的保持默认,
点击【创建】可以看到提示
此时服务器组创建成功。
添加后端服务器
在服务器组列表页面,点击【编辑后端服务器】
打开后端服务器列表页面,点击【添加后端服务器】,在弹层页面中选择已经有的云服务器ECS,
点击【下一步】,为设置的后端服务器配置端口和权重
点击【确定】之后完成后端服务器的配置。
配置监听
完成了后端服务器组的配置,下面开始配置监听,打开【实例】菜单
点击实例右侧【创建监听】,打开页面,选择负载均衡协议,输入监听端口80,点击【下一步】
选择服务器类型,下拉框选择我们创建的后端服务器组,点击【下一步】
确认一下监听配置信息,如需修改点击右侧修改,无需修改点击【提交】
提示监听配置成功
设置域名解析(可选)
首先需要复制应用型负载均衡ALB的实例DNS名称,点击菜单【实例】,点击打开实例详情,复制DNS名称
打开云解析DNS控制台:https://dns.console.aliyun.com/?spm=a2c4g.11186623.0.0.5e4c680dCGLb2P#/dns/domainList 点击【添加域名】
在弹出窗口添加请求域名,
这里需要进行txt授权校验,也就是域名身份校验,我这里没有可用的域名,
因此后面的步骤就不再继续操作下去,需要操作的可以参考官方文档给出的设置域名解析的步骤。
那么到此创建ALB实例的操作就算完成了。如果不再需要ALB实例的话可以参考下面操作释放ALB实例。
释放ALB实例
释放ALB实例后,便无需为ALB实例付费,但绑定的后端服务器仍会照常计费。
实例开启删除保护功能时,则不能对该实例执行释放操作。如果需要释放该实例,请先至实例详情页面关闭删除保护开关,否则系统会报错。
警告 如果您已经将一个自定义域名解析至ALB实例的DNS域名或IP地址,在释放该ALB实例之前,需要先将该自定义域名解析至另外一个负载均衡实例,避免业务中断。
点击实例列表右侧【释放】
在弹出框点击【确定】
释放成功,到此整体的应用型负载均衡ALB操作从创建ALB实例到最后的释放ALB实例就算全部完成。
体验感受
这次实验通过对应用型负载均衡ALB的上手实践,对于ALB提供基于内容的高级路由特性比如TTP报头、Cookie和查询字符串进行转发、重定向和重写等有了基本的认识,在实际操作中从创建ALB实例到创建后端服务器组以及添加后端服务器,后续的配置监听,最后释放ALB实例,整体操作按照文档进行一气呵成,操作过程中对于文档也没有什么看不明白或者操作不通过的情况;在添加过程中对于一些必要控件(vSwitch)或者必要参数的校验也比较准确,整体体验感不错。
后续希望官方可以出一个应用型负载均衡ALB的实验室体验项目,这样的话可以不用购买资源先体验一下整体实验的效果,比较有利于不清楚产品的同学对产品有一个更深入的认识,也更有利于产品的推广,不是吗?
另外就是在实验过程中,添加后端服务器只能添加阿里云服务器ECS,而不能添加本地的服务器或者说是其他内网的服务器地址,这样的话对于应用型负载均衡ALB的应用场景就会有较大的局限了,对于公司来说,如果将整体业务全部上云,那么公司整体业务迁移量是巨大的,另外整体业务全部上云过程中的风险也是很大的,会导致一部分的业务不可用,另外对于迁移产生的成本也是不得不考虑的问题。那么应用型负载均衡ALB是否可以本地化部署ALB服务,相当于目前的nginx,但是却比nginx功能强大N倍,同时关于配置操作方便度,以及支持并发度等。
总之是个好产品,目前不能支持内网后端服务器的局限也有点明显,希望后期可以支持。