企业运维训练营之云上网络原理与实践课程
第四讲 负载均衡ALB(上)
视频地址:
https://developer.aliyun.com/learning/course/991/detail/14982
课程目标
- 了解应用型负载均衡ALB的产品功能
- 了解应用型负载均衡ALB底层架构与相关技术
- 掌握应用型负载均衡ALB的产品优势
- 熟悉应用型负载均衡ALB的使用场景
课程目录
- 概述
- 相关概念与产品功能
- 技术架构
- 产品优势
- 场景与案例
- 实验
一、概述
1. 用户核心痛点与诉求
随着网络的发展,从2000年初的web应用、音视频应用,发展今天的短视频、直播等应用。
- 从业务和用户角度而言,这些应用的特点在于流量大,交互快,同时在线人数多,用户要求延时性能更高,响应更快;
- 从技术角度而言,之前是将所有业务都打包到一个APP中,现在则是可分布式,提供高可用,容量更大,从单体扩展到微服务或者云上的架构。为了安全和容灾,甚至会部署到多云或者混合云上,有故障时,可以快速切换。对架构和网络的要求都更加的高。
a. 超高可用:Always Online对业务高可用提出更高要求
- 健康检查
- 可用区容灾
- 地域级容灾
b. 超强弹性:5G/IOT时代的来临互联网将迎来更大的流量洪峰
- 更大的并发连接
- 更大的带宽
- 系统有着更好的弹性
c. 安全可靠:复杂的网络环境对安全和运维便利性提出更高要求
- 抵御DDoS攻击
- WAF应用层防御
- HTTPS安全加密
d. 面向应用:业务复杂度的攀升需要应用更快速的交付
- 面向应用的负载均衡
- 高级路由、流量镜像等功能支持
- 面向云原生的快速交付模式
二、相关概念与产品功能
1. 负载均衡SLB产品家族
a. 什么是SLB
负载均衡SLB ( Server Load Balancer )是阿里云负载均衡产品的统称,一种对流量进行按需分发的服务,通过将流量分发到不同的后端服务来扩展应用系统的服务吞吐能力,并且可以消除系统中的单点故障, 提升应用系统的可用性。
b. SLB的特点
SLB负载均衡具有即开即用,超大容量,稳定可靠,弹性伸缩,按需付费等特点。
c. SLB的分类
根据不同应用场景分为:主要基于7层(HTTP/HTTPS)的应用型负载均衡ALB、主要基于4层(TCP/UDP)的传统型负载均衡CLB。
2. 什么是应用型负载均衡ALB
应用型负载均衡ALB (Application Load Balancer) 是阿里云推出的专门面向HTTP、HTTPS和QUIC等应用层负载场景的负载均衡服务,具备超强弹性及大规模七层流量处理能力。ALB具备处理复杂业务路由的能力,与云原生相关服务深度集成,是阿里云官方提供的云原生Ingress网关。
- 即开即用,超大性能,稳定可靠,弹性伸缩,按需付费等特点,更加适合7层应用交付场景。
- 面向7层,支持HTTP/HTTPS/HTTP2/WSS/QUIC/GRPC等众多协议,单实例可支持高达100万QPS,业界性能遥遥领先。
3. ALB VS CLB
应用型负载均衡ALB和传统型负载均衡CLB相比,应用型负载均衡ALB在产品定位、性能、功能特性、运维方式、云原生支持和典型应用场景方面是优于传统型负载均衡CLB的,具体内容如下图所示:
a. 应用型负载均衡(ALB)
- 产品定位
- 强大的7层处理能力与丰富的高级路由功能
- 聚焦HTTP、HTTPS和QUIC应用层协议
- 面向应用交付
- 性能
- 基于NFV虚拟化平台,支持弹性伸缩
- 单实例支持100万QPS
- 功能特性
- 丰富7层特性,基于内容的路由
- HTTP标头改写、重定向、重写、限速等
- 运维方式
- 处理能力随业务规模自动弹性伸缩
- 无需进行峰值与规格预估
- 云原生支持
- 云原生Ingress网关
- 支持流量拆分、镜像、灰度发布和蓝绿测试
- 典型应用场景
- 场景1:互联网应用7层高性能自动弹性场景
- 场景2:音视频应用大流量低时延场景
- 场景3:云原生应用金丝雀蓝绿发布场景
b. 传统型负载均衡(ALB)
- 产品定位
- 强大的4层处理能力
- 支持TCP/UTP/HTTP/HTTPS等协议
- 主要面向网络交付
- 性能
- 基于物理机架构
- 单实例最大连接数可达500万
- 功能特性
- 7层基础能力
- 仅支持域名/URL转发
- 运维方式
- 按规格售卖
- 需要根据业务规模预估带宽峰值
- 云原生支持
- 支持较弱
- 典型应用场景
- 场景1:网站/系统同地域业务高可靠场景
- 场景2:四层流量大并发业务场景
- 场景3:同城双活/跨地域容灾场景
4. ALB与自建应用负载均衡对比
a. 自建应用负载均衡
- 协议:主要支持基础协议,如HTTP、HTTPS等,受限于版本关系;
- 性能:性能受限于自建Ngnix的ECS能力,或者第三方镜像,性能不足;
- 安全:没有默认的主动安全保障;需要自己部署和维护安全方案;
- 弹性:无弹性能力;扩容,缩容涉及资源评估及购买,操作繁琐;
- 可靠性:单点部署,最多时双机部署,可靠性依赖ECS部署关系;通过四七层分离,多-一个故障点;
- 运维:需要经常性升级软件;故障处理繁琐复杂;
b. 应用型负载均衡ALB
- 协议:支持丰富协议,如HTTP、HTTPS、HTTP2、WSS. QUIC、GRPC等,迭代更快;
- 性能:基于弹性架构的高性能;单实例支持100万QPS;
- 安全:默认5G的DDoS防护能力;支持一键集成WAF能力,应用层更安全;
- 弹性:随业务而动的自动弹性,无需干预;
- 可靠性:基于集群的可靠性能力,单实例本质是在集群承载,完全避免了可靠性问题,客户也无需关注可可靠性部署,集群故障自动恢复,无需人工介入;一个实例一个节点更简单;
- 运维:完全无此操作,无需主动升级,新功能自动在控制台呈现;
- 业务类型:音视频延迟敏感型业务;7层高并发弹性业务;替代自建3三方负载均衡。
应用型负载均衡ALB为新型业务量身定制,面向容器和运维自动化的新一代负载均衡。
5. ALB应用型负载均衡关键特性
- 多级调度实现超高弹性
- ALB同时向客户交付域名与VIP:
DNS域名调度确保流量在可用区间均衡分配;
VIP调度确保流量在后端服务器间均衡分发,并且支持一致性哈希与会话保持;
- 多级调度确保流量均衡,单实例支持高达100万QPS;
- 丰富且强大的基于内容路由
- 支持多种内容匹配策略,并支持重定向、重写、标头改写等转发策略;
- 业界最先进的协议支持
- 从应用层到传输层,ALB支持最先进的协议,让应用更快更安全。
三、技术架构
1. 概览
ALB整体大图
注:红色虚线内所有组件构成一个ALB实例
- ALB面向应用层,提供域名与VIP,多级分发承载海量请求;
- ALB可在可用区间弹性缩放,避免单可用区资源瓶颈;
- ALB通过EIP+共享带宽提供公网能力,实现灵活公网计费;
- ALB允许用户自定义可用区组合,适应原有计算资源的分布;
ALB工作示意图
2. 监听
- 监听是ALB最小业务单元,监听上需要配置协议与端口以告知ALB需要处理什么流量,如HTTP协议80端口/HTTPS协议443端口;
- 每个负载均衡至少有一个监听,才能开始流量处理与分发;
- 每个ALB可以配置多达50个监听,用于处理不同的业务流量;
3. 服务器
ECS:虚拟服务器;ECI:弹性容器实例,K8s中使用较多;ENI:弹性网卡
- 服务器组是一个逻辑组,包含多个后端用于处理ALB分发的业务请求;
- ALB中服务器组独立于ALB存在,可以将同一服务器组挂载于不同ALB后端;
- 服务器组最大可以包含1000个后端;
- ALB服务器组支持云ECS、ECI、 ENI等多种类型后端;
4. 健康检查
- 健康检查是ALB至关重要的工作机制,可以探测业务是否健康,分为“TCP健康检查”和“HTTP健康检查”;
- ALB探测服务器组中不健康的后端,并避免将流量分发给不健康的后端;
- ALB支持丰富灵活的健康检查配置,如协议、端口、以及各种健康检查阈值;
- ALB提供健康检查模板,可将健康检查模板快速的应用到不同的服务器组;
5. 转发规则
- ALB具备强大丰富的基于内容路由的能力;
- ALB路由转发规则可基于域名(host) 、路径(url) 、查询字符串、HTTP标头、Cookie、Http Method等条件进行匹配;
- 可支持转发(Forward) 、重定向(Redirect)、 重写 (Rewrite)、 返回固定响应、插入HTTP标头等动作;
- 每个监听可以支持多达100条转发规则;
6. 丰富的自定义规则属性
匹配规则及示例:
- 域名:www.aliyun.com
- 路径:/test123
- http标头(header):键: user-agent 值: Mozilla/4.0
- 查询字符串:username: 123
- http请求方法:post
- Cookie:key: value
- Sources IP:172.16.0.0/16
指定请求:
- 转发:网站A
- 镜像:数据分析平台
- 重定向:网站A跳转网站B(客户端重发请求)
- 重写:网站A跳转网站B(客户端不重发请求)
- 写入标头:在http header中新增XX属性
- QPS限速:限制每秒最大请求数
- 自定义响应:自定义响应状态码和内容
示例:curl -v www.baidu.com
7. 支持全链路https加密
ALB支持全链路https加密,可以实现与客户端/后端服务器的https交互,面向加密敏感型业务,满足Zero-Trust新一代安全技术架构需求。
8. 率先支持更高效安全的TLS1.3加密协议
传输层安全性协议TLS: Transport Layer Security
TLS1.3特性:
- 简化握手交互流程,降低RTT;
- 单次https交互节省约100ms;
- 握手协议加密,安全性更高;
9. 支持多证书灵活配置
ALB的HTTPS/SSL类型监听器中增加对SNI协议的支持,从而保证一个HTTPS监听可配置多个域名证书,在收到来自不同客户端的域名请求时,返回不同的服务器证书,建立正确的HTTPS会话链接,避免出现https访问浏览器频繁提示告警的情况。
10. 控制台丰富易用性功能
- 控制台自助配额管理:自助申请,自动审批,符合要求,审核通过,达到上限,不予通过;
控制台自助配额管理
- 实例修改/删除保护:防止意外的删除或者意外的修改;
实例修改/删除保护
- 自定义tls安全策略:不仅支持TLS1.1版本,还支持套件,可进行勾选;
自定义tls安全策略
- 黑白名单自定义:可将恶意请求加入黑名单,对公业务的话,可将对应的IP提供给特定企业用户,达到保护业务的效果;
黑白名单自定义
11. ALB丰富产品功能汇总
- 协议支持:HTTP、HTTPS、HTTP2、WebSocket(S)、QUIC、gRPC;
- 七层路由:基于host/path、基于header/cookie、基于http method、重定向/重写、插入Header、金丝雀发布;
- 安全特性:全链路HTTPS、TLS1.3、ECC证书支持、自定TLS策略、DDoS防护、WAF防护;
- 运维监控:并发连接、新建链接、QPS、监控告警、访问日志、秒级监控;
- 计费能力:后付费、预付费、按流量计费、按带宽计费、按95带宽计费;