Application Load Balancer-ALB

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
应用型负载均衡 ALB,每月750个小时 15LCU
简介: 简要介绍ALB由来及基础配置操作

什么是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资源包页面之后直接点击【立即购买】跳转到确认订单页面,否选协议点击【去支付】

image.png

确认支付后完成ALB资源包购买。

实现IPv4服务的负载均衡

下述操作即创建一个IPv4版本的ALB实例,并将来自IPv4客户端的访问请求转发至后端服务器。

创建ALB实例

负载均衡控制台地址:https://slb.console.aliyun.com/alb/cn-zhangjiakou/albs 点击【实例】菜单,随后点击【创建应用型负载均衡】

image.png

在创建ALB实例页面,由于我的云服务器ECS地域是【张家口】,这里默认选中的就是云服务器ECS的地域,另外需要勾选2个可用区,而我实际上只能完整配置一个可用区B,这时我点击可用区A的【添加vSwitch】跳转到专有网络控制台的创建交换机页面

image.png

输入交换机名称,选择专有网络、可用区后点击【确定创建】,创建完成之后跳转到交换机列表页

image.png

可以看到我们创建成功的交换机【test2023】。

这时回到创建ALB实例页面继续向下进行,提示【创建关联角色】

image.png

点击【创建】,3秒后提示创建关联角色成功,此时【立即购买】按钮可点击,点击【立即购买】跳转到【确认订单】页面,勾选协议,点击【立即开通】

image.png

提示开通成功。创建ALB实例成功之后,就可以继续创建后端服务器组了

创建服务器组

点击左侧菜单栏【服务器组】后点击【创建服务器组】

image.png

在打开的创建服务器组页面选择  服务器类型,输入 服务器组名称,选择VPC、资源组,剩下的保持默认,

image.png

点击【创建】可以看到提示

image.png

此时服务器组创建成功。

添加后端服务器

在服务器组列表页面,点击【编辑后端服务器】

image.png

打开后端服务器列表页面,点击【添加后端服务器】,在弹层页面中选择已经有的云服务器ECS,

image.png

点击【下一步】,为设置的后端服务器配置端口和权重

image.png

点击【确定】之后完成后端服务器的配置。

配置监听

完成了后端服务器组的配置,下面开始配置监听,打开【实例】菜单

image.png

点击实例右侧【创建监听】,打开页面,选择负载均衡协议,输入监听端口80,点击【下一步】

image.png

选择服务器类型,下拉框选择我们创建的后端服务器组,点击【下一步】

image.png

确认一下监听配置信息,如需修改点击右侧修改,无需修改点击【提交】

image.png

提示监听配置成功

image.png

设置域名解析(可选)

首先需要复制应用型负载均衡ALB的实例DNS名称,点击菜单【实例】,点击打开实例详情,复制DNS名称

image.png

打开云解析DNS控制台:https://dns.console.aliyun.com/?spm=a2c4g.11186623.0.0.5e4c680dCGLb2P#/dns/domainList 点击【添加域名】

image.png

在弹出窗口添加请求域名,

image.png

这里需要进行txt授权校验,也就是域名身份校验,我这里没有可用的域名,

image.png

因此后面的步骤就不再继续操作下去,需要操作的可以参考官方文档给出的设置域名解析的步骤。

那么到此创建ALB实例的操作就算完成了。如果不再需要ALB实例的话可以参考下面操作释放ALB实例。

释放ALB实例

释放ALB实例后,便无需为ALB实例付费,但绑定的后端服务器仍会照常计费。

实例开启删除保护功能时,则不能对该实例执行释放操作。如果需要释放该实例,请先至实例详情页面关闭删除保护开关,否则系统会报错。

警告 如果您已经将一个自定义域名解析至ALB实例的DNS域名或IP地址,在释放该ALB实例之前,需要先将该自定义域名解析至另外一个负载均衡实例,避免业务中断。

点击实例列表右侧【释放】

image.png

在弹出框点击【确定】

image.png

释放成功,到此整体的应用型负载均衡ALB操作从创建ALB实例到最后的释放ALB实例就算全部完成。

体验感受

这次实验通过对应用型负载均衡ALB的上手实践,对于ALB提供基于内容的高级路由特性比如TTP报头、Cookie和查询字符串进行转发、重定向和重写等有了基本的认识,在实际操作中从创建ALB实例到创建后端服务器组以及添加后端服务器,后续的配置监听,最后释放ALB实例,整体操作按照文档进行一气呵成,操作过程中对于文档也没有什么看不明白或者操作不通过的情况;在添加过程中对于一些必要控件(vSwitch)或者必要参数的校验也比较准确,整体体验感不错。

后续希望官方可以出一个应用型负载均衡ALB的实验室体验项目,这样的话可以不用购买资源先体验一下整体实验的效果,比较有利于不清楚产品的同学对产品有一个更深入的认识,也更有利于产品的推广,不是吗?

另外就是在实验过程中,添加后端服务器只能添加阿里云服务器ECS,而不能添加本地的服务器或者说是其他内网的服务器地址,这样的话对于应用型负载均衡ALB的应用场景就会有较大的局限了,对于公司来说,如果将整体业务全部上云,那么公司整体业务迁移量是巨大的,另外整体业务全部上云过程中的风险也是很大的,会导致一部分的业务不可用,另外对于迁移产生的成本也是不得不考虑的问题。那么应用型负载均衡ALB是否可以本地化部署ALB服务,相当于目前的nginx,但是却比nginx功能强大N倍,同时关于配置操作方便度,以及支持并发度等。

总之是个好产品,目前不能支持内网后端服务器的局限也有点明显,希望后期可以支持。

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
1月前
|
负载均衡 算法 网络协议
gRPC Load Balancing
gRPC Load Balancing
33 5
|
4月前
|
负载均衡 算法 前端开发
什么是 Load balancer?
什么是 Load balancer?
|
4月前
|
负载均衡 算法 前端开发
SLB-负载均衡器(Load Balancer)
SLB-负载均衡器(Load Balancer)
114 0
|
4月前
queryCoord的balancer分析
queryCoord的balancer分析
1020 0
|
缓存 负载均衡 算法
【Spring Cloud系列】-负载均衡(Load Balancer,LB)
【Spring Cloud系列】-负载均衡(Load Balancer,LB)
421 1
|
域名解析 弹性计算 负载均衡
SLB Server Load Balancer
阿里云负载均衡(Server Load Balancer,简称SLB)是一种可水平扩展的高可用网络负载均衡服务。它可以将流量自动分配到多个ECS实例上,从而提高应用程序的可用性和可扩展性,同时减少了单个实例的负载压力。
151 1
|
缓存 Kubernetes 负载均衡
Kubernetes MetalLB 作为 Load Balancer 上
Kubernetes MetalLB 作为 Load Balancer 上
485 1
Kubernetes MetalLB 作为 Load Balancer 上
|
Kubernetes 网络协议 前端开发
Kubernetes MetalLB 作为 Load Balancer 下
Kubernetes MetalLB 作为 Load Balancer 下
381 1
Kubernetes MetalLB 作为 Load Balancer 下
|
负载均衡 算法 安全
Envoy源码分析之Load balancing基础
# 什么是Load balancing? > Load balancing is a way of distributing traffic between multiple hosts within a single upstream cluster in order to effectively make use of available resources. There are man
1331 0
|
负载均衡 算法 API
Envoy源码分析之Load balancing Priority
# Priority Level 在上一篇文章中我提到`Priority`,一个集群可以包含多个`Priority`,每一个`Priority`下可以有很多主机,默认的`Priority`是0,也是最高的优先级,如果一个集群同时存在多个`Priority`,Envoy是如何来进行处理呢? Envoy默认只从`Priority`为0的的主机中进行负载均衡,直到`Priority`为0的主机其健
1395 0