本文是《阿里云专项运维实战》系列第 6 篇。建议先收藏,跟着练手效果更好。

阿里云负载均衡 SLB,就是把这套"反代+高可用"整个托管掉。但它不是一个产品,而是 CLB / ALB / NLB 三兄弟,长得像、定位差很多。这一篇把三者掰开讲清楚。

一、SLB 到底替你扛了什么

自建 Nginx 反代,你要操心四件事:转发规则、后端存活、证书、进程本身的高可用。SLB 把后三件全接管了:

  • 实例本身就是高可用的,多台底层设备集群化,你看到的是一个虚拟 IP,不用再搭 Keepalived 抢 VIP。
  • 健康检查内建,后端 ECS 停了自动移除,恢复了自动加回,不用你写探活脚本。
  • 证书统一托管,在数字证书服务里传一次,监听上就完事,到期还能提醒。

你要做的只剩下:选对类型、配好监听、把后端服务器编进组运维重心从"维护一个进程"变成"设计一套转发策略"。

二、三兄弟怎么分:一张表看懂定位

类型

全称

工作层

最适合

CLB

传统型负载均衡

四层 + 七层

老架构、简单 TCP/HTTP 转发

ALB

应用型负载均衡

七层

HTTP/HTTPS、按域名/路径分流、云原生

NLB

网络型负载均衡

四层

超高并发 TCP/UDP、游戏、金融交易

记忆抓手很简单:要按域名和 URL 路径做复杂转发,选 ALB要四层裸性能、千万级并发,选 NLB只是把老 Nginx 平迁、逻辑简单,CLB 够用且便宜

CLB 是最早的产品,四七层都能干但都不极致;ALB 和 NLB 是新一代,分别把七层和四层做到专精。新项目优先考虑 ALB / NLB,CLB 更多用于存量平滑迁移。

打开网易新闻 查看精彩图片

三、控制台三个必配项,缺一个就不通

不管哪种类型,跑起来都绕不开这三块,顺序也别乱:

1)监听(Listener):定义"从哪个端口、用什么协议进来"。七层选 HTTP/HTTPS,HTTPS 在这里绑证书;四层选 TCP/UDP。ALB 还能在监听下挂转发规则,实现 /api 走一组、/static 走另一组。

2)后端服务器组(Server Group):把提供服务的 ECS 编成一组,设好权重。ALB/NLB 用的是独立的服务器组概念,一个组能被多个监听复用,比 CLB 的"虚拟服务器组"更灵活。

3)健康检查(Health Check):这是最关键的一项。配好检查端口、路径(七层建议指向一个轻量 /healthz)、间隔和阈值。检查不过,流量就永远不会打到那台机器上。

四、两个进阶配置,决定体验和容灾

会话保持(Session Persistence):让同一个客户端的请求始终落到同一台后端。传统有状态应用(session 存在本机内存)离不开它。但更推荐的做法是把 session 外置到 Redis,让后端无状态化,这样才能真正随意扩缩容——这也是上云该顺手做的改造。

跨可用区容灾:这是 SLB 相比自建 Nginx 的核心价值。创建实例时勾选两个及以上可用区,后端 ECS 也分散部署在不同 AZ。这样单个机房级故障时,流量自动切到健康可用区。只买单可用区的 SLB,等于把高可用又丢了,这一步千万别省。

五、常见坑与排错思路

  • 健康检查全红,服务却是好的:九成是安全组没放行检查来源。SLB 用固定网段探活,后端 ECS 安全组要放行该网段的检查端口,别只放了业务端口。
  • 配了会话保持还是乱跳:确认后端服务器组权重一致,且客户端没走多出口 IP;七层会话保持基于 Cookie,客户端禁 Cookie 也会失效。
  • HTTPS 访问报证书错误:证书传成了链不完整的单证书,要传包含中间证书的完整证书链
  • 平迁 CLB 后想按路径分流发现做不到:CLB 的转发规则能力弱,复杂路径路由是 ALB 的活,别硬拗 CLB。
  • 删了 SLB 公网 IP 还在计费:EIP 和实例是分开的,实例释放后记得确认关联的公网 IP 也释放。

排错口诀:先看健康检查状态,再查安全组,最后看监听与证书,八成问题在前两步。

六、一句话练手目标

开两台按量 ECS,各装一个能返回自身主机名的小页面,创建一个跨两可用区的 ALB,挂上这两台机器配好健康检查,然后反复刷新验证流量在两台之间轮询——练完立刻释放实例

#Linux运维 #阿里云 #运维工程师 #程序员 #负载均衡