负载均衡SLB是运维中心实现流量分发与高可用的关键组件,配置时只需关注监听、后端服务器组和健康检查这三项核心设置,即可让应用具备弹性扩展和故障容错能力。
负载均衡SLB配置步骤详解
在配置SLB之前,运维中心需要明确业务需求,以下流程基于简米云SLB和酷番云CLB的通用操作,其他云平台类似。
创建SLB实例前的软硬件准备
- 地域选择:选择靠近用户的机房,例如华东2(上海)或华南1(深圳),如果目标用户群集中在华东,优先选择华东地域,跨地域调用会增加延迟和流量费用,因此多地域部署时需考虑云企业网等方案。
- 规格选择:云厂商提供性能保障型(独享带宽和连接数)和共享型(共享资源池),中小型业务可选择共享型节约成本,大型电商或高并发场景建议性能保障型,据酷番云产品页,性能保障型实例最大连接数可达百万级。
- 网络类型:经典网络已逐步淘汰,建议选择专有网络(VPC),便于后续扩展和安全组管理。
配置监听和后端服务器组
这是SLB的核心操作,直接决定流量如何分发。
- 创建监听:登录控制台,进入负载均衡实例,点击“监听”标签,选择协议(HTTP/HTTPS/TCP)和端口,Web应用通常选择HTTP 80或HTTPS 443。
- 添加后端服务器组:将云服务器加入服务器组,分配权重,权重默认为100,可调整以控制流量比例,新版本上线时可临时降低旧服务器权重,实现灰度发布。
- 配置健康检查:健康检查是SLB自动剔除故障服务器的关键,建议使用HTTP健康检查,路径为“/health”,间隔通常设为5秒,超时3秒,健康阈值2,不健康阈值3,这样既能快速感知故障,又不会因频繁检查导致负载过高。
- 启用会话保持:对于需要保持用户登录状态的应用,打开会话保持(基于源IP或Cookie),购物网站建议开启Cookie保持,让用户在访问期间始终连接到同一台服务器。
验证配置是否生效
- 通过SLB的公网IP或绑定域名访问,确认流量分发正常。
- 尝试停用一台后端服务器,观察健康检查是否将其标记为异常,其他服务器是否正常接管。
- 查看监控指标:连接数、流量、响应时间等,确保在预期范围内。
这一步骤完成后,SLB已具备基本的负载均衡能力,我们考虑如何选择SLB的地域和规格,以避免不必要的成本支出。
运维中心SLB选购指南:地域与规格如何搭配
地域选择的核心原则
- 就近原则:用户访问延迟与物理距离正相关,假设用户集中在华北,应选择北京地域,如果是全球业务,则需考虑多个地域部署,并使用全球加速。
- 跨地域互通:如果后端服务器分布在多个地域,需通过云企业网或专线互联,否则SLB无法跨地域分发,可以考虑多地域SLB架构,每个地域独立SLB,再通过DNS智能解析实现流量调度。
- 成本考量:地域间的流量费用差异较大,例如华东地域内部流量相对便宜,而跨地域流量较贵,据统计,跨地域带宽费用占整体成本的比例不低,所以尽量将服务器和SLB放在同一地域。
规格推荐:性能保障型与共享型
| 对比项 | 共享型 | 性能保障型 |
|---|---|---|
| 适用场景 | 小型网站、开发测试 | 高并发、电商、游戏 |
| 最大连接数 | 较低,万级 | 高,百万级 |
| 带宽 | 共享,可能有波动 | 独享,稳定 |
| 价格 | 便宜 | 较高,但性价比高 |
- 如果你的业务日PV在10万以下,共享型可以满足需求。
- 如果业务有突发流量或需要SLB绑定WAF、DDoS高防等,建议选择性能保障型,确保基线稳定。
价格因素:按量计费与包年包月
- 按量计费:适合短期或弹性需求,例如促销活动期间临时扩容,单价因规格而异,基本在每小时几毛钱范围内。
- 包年包月:适合长期稳定的业务,通常比按量结算便宜相当一部分,全年包月可节省一定比例的费用。
- 混合使用策略:基线使用包年包月,突发流量使用按量计费,通过弹性伸缩配合SLB,实现成本和性能的平衡。
监听配置实战:HTTP与HTTPS场景差异
HTTP监听配置要点
- 转发规则:支持域名和URL路径转发,将
/api请求转发到前缀为api的服务器组,其他请求转发到web组,这在微服务架构中非常实用。 - 获取真实IP:开启X-Forwarded-For字段,后端应用通过该字段获取客户端真实IP,Nginx配置中添加
。proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for
- 超时设置:空闲连接超时通常设为60秒,请求超时设为300秒,根据业务调整。
HTTPS监听配置要点
- 证书管理:将SSL证书上传到SLB,选择HTTPS协议后绑定证书,注意证书到期前需更换,否则影响业务,云厂商提供证书管理服务,可自动续期。
- 强制跳转:在HTTP监听中配置重定向规则,将HTTP请求301跳转到HTTPS,具体操作:监听配置中选择“重定向”,目标协议为HTTPS,端口443。
- 加密套件:选择安全组策略,如支持TLS 1.2及以上版本,禁止弱加密算法。
健康检查策略对比
- TCP健康检查:通过三次握手探测端口是否存活,简单直接,但无法判断应用状态。
- HTTP健康检查:发送HEAD或GET请求,判断返回状态码是否为200,推荐使用,能更准确反映应用健康。
- 行业共识:HTTP健康检查路径应设计为轻量接口,减少对应用的影响,返回
{"status":"ok"}的简单JSON,不涉及数据库查询。
SLB与Nginx对比:哪种更适合你的运维场景
运维中心为什么需要SLB
- 原生高可用:SLB由云厂商管理,后端服务器故障自动剔除,无需人工干预,而Nginx需要自己配置健康检查脚本和故障转移,增加了运维复杂度。
- 弹性伸缩:SLB天然支持自动伸缩组,当后端服务器数量变化时,SLB自动感知并分发流量,Nginx则需要手动更新配置文件或借助Consul等服务发现工具。
- 安全防护:SLB通常集成DDoS基础和WAF能力,提供一定的安全防护,Nginx需要额外配置ModSecurity等模块。
Nginx的适用场景
- 七层精细化处理:Nginx在HTTP层有丰富的功能,如缓存、限流、重写、请求合并等,如果业务需要这些高级特性,Nginx是不错的选择。
- 成本控制:在小型业务中,使用Nginx做反向代理可以节省SLB的云服务费用,因为Nginx本身就是免费的。
- 混合架构:很多运维中心采用SLB作为第一层入口,后端再部署Nginx做反向代理,兼顾高可用和灵活性。
| 对比项 | 云SLB | Nginx |
|---|---|---|
| 运维量 | 低,由云厂商维护 | 高,需自行配置和管理 |
| 功能扩展 | 基础四七层,部分高级功能需付费 | 丰富,通过模块可扩展 |
| 价格 | 按量付费,长期成本较高 | 免费,但需服务器资源 |
| 高可用 | 原生支持,多可用区容灾 | 需结合Keepalived等实现 |
| 适用规模 | 中大型,弹性场景 | 中小型,定制化场景 |
- 决策建议:如果运维团队人数少,追求快速稳定,优先选择云SLB,如果业务有特殊需求且团队有Nginx运维能力,可以混合使用。
负载均衡SLB常见问题解答
问题1:SLB配置后访问不通,可能的原因有哪些?
- 检查后端服务器安全组是否放通了SLB的流量,SLB使用其私网IP与后端通信,需在安全组中添加入方向规则,允许SLB所在网段。
- 核实监听端口是否与后端服务端口一致,监听80端口,后端服务器服务可能运行在8080端口,需要在监听配置中指定后端端口。
- 健康检查配置是否正确,如果后端服务返回非200状态码,健康检查会判定失败,SLB不会转发流量。
问题2:SLB会话保持如何配置,有哪些注意事项?
- 在监听配置中开启会话保持,选择基于源IP或Cookie(植入或重写),源IP方式无法应对用户通过代理访问的场景,此时建议使用Cookie保持。
- 注意会话保持时长设置,一般设为5-30分钟,根据业务登录态时效调整,过长会导致服务器负载不均,过短则用户频繁登录。
- 如果后端服务器使用WebSocket,会话保持可能无法生效,需应用层自行实现。
问题3:SLB与云解析DNS如何联动实现多活或灾备?
- 在云解析DNS中配置多个A记录或CNAME指向不同地域的SLB公网IP,启用智能解析(如按运营商、地域),将电信用户解析到华东SLB,联通用户解析到华北SLB。
- 结合健康检查,DNS可以自动剔除故障SLB的IP,实现全局负载均衡。
负载均衡SLB作为运维中心基础设施的核心,只需掌握创建实例、配置监听、调整健康检查三步,就能快速搭建高可用架构,结合业务场景选择合适的地域和规格,将SLB与Nginx、DNS等工具配合使用,可以构建出既稳定又灵活的流量分发系统。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/539809.html



