Duoyun Cloud
返回博客
tutorials2026-04-18

阿里云SLB负载均衡配置详解

阿里云SLB负载均衡配置

阿里云SLB负载均衡配置详解

负载均衡是分布式系统的流量入口,直接影响服务的可用性和性能。阿里云SLB(Server Load Balancer)提供四层和七层负载均衡能力,是构建高可用架构的核心组件。本文将深入讲解SLB的配置方法和最佳实践。

一、SLB产品体系

阿里云SLB已升级为ALB(Application Load Balancer)和NLB(Network Load Balancer)双产品体系:

| 产品 | 协议层 | 特点 | 适用场景 | |------|--------|------|---------| | ALB | 七层(HTTP/HTTPS) | 智能路由、内容缓存、WAF集成 | Web应用、API网关 | | NLB | 四层(TCP/UDP) | 超高性能、百万级并发、超低延迟 | 游戏、IoT、金融交易 | | CLB | 四层+七层 | 经典版,兼容旧架构 | 存量用户迁移 |

新项目推荐:

  • Web/HTTP流量 → ALB
  • TCP/UDP流量 → NLB
  • 旧架构兼容 → CLB

与其他云厂商对比

| 特性 | 阿里云ALB | 腾讯云 CLB | AWS ALB | |------|----------|-----------|------| | 最大QPS | 100万+ | 50万+ | 100万+ | | 路由规则 | 域名+URL+Header+Cookie | 域名+URL | 域名+URL+Header | | HTTPS卸载 | 支持 | 支持 | 支持 | | WAF集成 | 原生集成 | 需额外配置 | AWS WAF | | gRPC支持 | 支持 | 部分 | 支持 | | 按量计费 | LCU单位 | 带宽/连接数 | LCU单位 |

二、ALB配置详解

2.1 创建ALB实例

  1. 登录 阿里云控制台
  2. 选择「应用型负载均衡ALB」→「创建实例」
  3. 关键配置:

| 配置项 | 推荐设置 | 说明 | |-------|---------|------| | 地域 | 与ECS同地域 | 负载均衡与后端必须同地域 | | 可用区 | 至少选择2个 | 实现跨可用区高可用 | | 网络类型 | 公网 | 面向互联网的服务 | | IP模式 | 固定IP | 便于DNS解析和安全组配置 | | 功能版本 | 标准 | 满足大部分需求 |

2.2 ALB计费模式

ALB采用LCU(Load Balancer Capacity Unit)按量计费:

| 计费项 | 单价 | 说明 | |-------|------|------| | 实例费 | ¥0.24/小时 | 基础实例保有费 | | LCU费 | ¥0.028/LCU/小时 | 按实际处理能力 | | 公网流量费 | ¥0.48/GB | 仅公网实例 |

LCU按以下四个维度取最大值计算:

| 维度 | 1 LCU对应 | |------|----------| | 新建连接数 | 25个/秒 | | 并发连接数 | 3000个 | | 处理数据量 | 1GB/小时 | | 规则评估数 | 1000次/秒 |

费用估算: 一个日PV 50万的Web应用,月费用约¥500-800。

2.3 配置监听

监听定义了ALB如何接收和转发请求:

HTTP监听

| 参数 | 推荐值 | 说明 | |------|-------|------| | 监听端口 | 80 | 接收HTTP请求 | | 调度算法 | 加权轮询(WRR) | 默认推荐 | | 会话保持 | 按需开启 | 有状态应用需要 | | 连接空闲超时 | 60秒 | 防止连接堆积 | | 请求超时 | 60秒 | 上游响应超时保护 |

HTTPS监听

| 参数 | 推荐值 | 说明 | |------|-------|------| | 监听端口 | 443 | 接收HTTPS请求 | | 证书 | 上传或选择免费证书 | 建议使用云盾证书 | | TLS策略 | tls_cipher_policy_1_2 | 最低TLS 1.2 | | HTTP2 | 开启 | 提升性能 | | 强制HTTPS | 开启重定向 | HTTP→HTTPS自动跳转 |

2.4 配置服务器组

服务器组是后端ECS实例的集合:

# 使用CLI创建服务器组
aliyun alidns CreateServerGroup \
  --LoadBalancerId lb-xxx \
  --ServerGroupName web-servers \
  --Protocol HTTP

| 配置项 | 说明 | 推荐值 | |-------|------|-------| | 后端协议 | 与监听一致 | HTTP | | 后端端口 | 应用监听端口 | 8080 | | 健康检查路径 | 应用健康端点 | /health | | 健康检查间隔 | 检测频率 | 2秒 | | 不健康阈值 | 连续失败次数 | 3次 | | 健康阈值 | 连续成功恢复 | 3次 |

三、健康检查配置

健康检查是负载均衡自动故障摘除的核心机制:

3.1 HTTP健康检查

GET /health HTTP/1.1
Host: backend-service

| 参数 | 默认值 | 生产建议 | |------|-------|---------| | 检查间隔 | 2秒 | 2-5秒 | | 超时时间 | 5秒 | 3-5秒 | | 不健康阈值 | 3次 | 2-3次 | | 健康阈值 | 3次 | 2-3次 | | 检查路径 | / | /health(专用端点) | | HTTP状态码 | http_2xx,http_3xx | http_2xx |

3.2 TCP健康检查

适用于非HTTP服务(数据库、缓存等):

  • 使用TCP SYN探测
  • 无需应用层端点
  • 检测更快,但无法判断应用层健康

3.3 健康检查端点设计

# Flask示例
@app.route('/health')
def health():
    # 检查数据库连接
    db_ok = check_db_connection()
    # 检查缓存连接
    cache_ok = check_redis_connection()
    if db_ok and cache_ok:
        return 'OK', 200
    return 'Unhealthy', 503

四、高级路由配置

4.1 基于域名的路由

一个ALB实例可托管多个域名:

| 域名 | 转发到 | 优先级 | |------|--------|-------| | api.example.com | api-server-group | 1 | | www.example.com | web-server-group | 2 | | admin.example.com | admin-server-group | 3 |

4.2 基于URL路径的路由

| 路径 | 转发到 | 说明 | |------|--------|------| | /api/* | api-server-group | API服务 | | /static/* | oss-server-group | 静态资源→OSS | | /* | web-server-group | 默认路由 |

4.3 基于Header的路由

实现灰度发布、A/B测试:

| 条件 | 转发到 | 说明 | |------|--------|------| | Header: X-Version=v2 | v2-server-group | 新版本 | | 其他 | v1-server-group | 当前版本 |

五、NLB配置详解

5.1 创建NLB

aliyun nlb CreateLoadBalancer \
  --LoadBalancerName game-nlb \
  --AddressType Internet \
  --ZoneMappings.1.ZoneId cn-beijing-a \
  --ZoneMappings.1.VSwitchId vsw-xxx \
  --ZoneMappings.2.ZoneId cn-beijing-b \
  --ZoneMappings.2.VSwitchId vsw-yyy

5.2 NLB性能指标

| 指标 | NLB | |------|-----| | 最大并发连接数 | 1亿 | | 新建连接数/CPS | 100万 | | 转发延迟 | 微秒级 | | 支持协议 | TCP/UDP/TLS | | 客户端IP保留 | 是(Proxy Protocol) |

NLB特别适合游戏服务器、金融交易系统等对延迟和并发有极高要求的场景。与 GCP 的Network Load Balancer相比,NLB在并发连接数上具有数量级优势。

六、安全配置

| 安全措施 | ALB | NLB | |---------|-----|------| | 访问控制(ACL) | 支持 | 支持 | | WAF集成 | 原生 | 不支持 | | DDoS防护 | 云盾DDoS | 云盾DDoS | | HTTPS证书管理 | 支持 | TLS监听支持 | | 安全组 | 支持 | 支持 |

WAF配置

ALB与云盾WAF原生集成,无需额外部署:

  1. 在ALB监听中开启「WAF防护」
  2. 选择防护策略(基础防护/自定义规则)
  3. 开启「日志分析」记录攻击事件

七、监控与告警

| 监控指标 | 说明 | 告警阈值建议 | |---------|------|-----------| | QPS | 每秒请求数 | >预期峰值80% | | 后端响应时间 | 平均RT | >500ms | | 健康检查失败数 | 异常后端数 | >0 | | 4xx/5xx比例 | 错误率 | >1% | | 连接数使用率 | 当前/最大 | >70% |

八、成本优化

  1. 合理选择ALB/NLB:七层需求用ALB,四层需求用NLB(NLB更便宜)
  2. 多域名复用:一个ALB实例通过路由规则服务多个域名
  3. 内网SLB:内部服务使用内网类型,节省公网带宽费
  4. 预留LCU:稳定负载可购买LCU资源包降低单位成本

总结

阿里云SLB/ALB/NLB提供从七层智能路由到四层超高性能的完整负载均衡方案。合理配置健康检查和路由规则,可以构建高可用、高性能的流量分发架构。

多云(Duoyun Cloud) 作为阿里云合作伙伴,提供SLB/ALB/NLB的配置咨询和资源代购。通过多云下单,负载均衡实例可享受5%-10%的专属折扣,并获得免费架构评审和中文技术支持。欢迎访问 duoyun.io 了解更多优惠。

需要专业云服务咨询?

我们的云架构师团队免费为你定制最优方案

免费咨询

相关文章

news

2026年中国云市场份额与趋势

2026-04-23
news

阿里云2026年新区域扩张动态

2026-04-22
optimization

阿里云低频与归档存储成本优化

2026-04-22