当前位置: 首页 > news >正文

Amazon Elastic Load Balancing详细介绍

一、什么是 Load Balancer(负载均衡)

一句话定义:

Load Balancer 位于客户端和后端服务器之间,负责把请求分发到多个后端资源上。

  • 请求(task):浏览器发来的 HTTP / HTTPS 请求

  • 资源(resource):运行应用的 EC2 实例

请求路径

Client Browser → Load Balancer → EC2 Instance → Load Balancer → Client Browser

== 负载均衡器在“请求和响应的路径中”==

二、为什么用 ELB,而不是自己装 Nginx / HAProxy?

Elastic Load Balancing(ELB)的核心优势:

能力ELB
运维✅ 无需维护
高可用✅ 默认多 AZ
自动扩缩✅ 自动适配流量
支持目标EC2 / IP / Lambda / 容器
混合架构✅ 可负载到本地 IP

“不需要你管理、自动高可用、自动扩展”

三、ELB 的三大核心能力

1️⃣ 高可用(High Availability)

  • 必须部署在多个 Availability Zones

  • AWS 自动在多个 AZ 创建负载节点

  • 单 AZ 故障 ≠ 服务不可用

2️⃣ 自动伸缩(Scalability)

自动应对流量突增

不需要你设置实例数量

对客户端是透明的

3️⃣ 健康检查(Health Checks)

健康检查 = ELB 是否继续给某台实例发流量的依据

❌ 错误做法

  • 只检查端口是否打开

  • 只访问 / 首页

✅ 正确做法(强考点)

为应用创建一个:

/monitor

该页面应检查:

  • 是否能访问数据库(如 DynamoDB)

  • 是否能访问 S3

  • 核心依赖是否可用

== 只有通过健康检查的实例,才会接收流量==

四、ELB + Auto Scaling 的协作机制

扩容(Scale Out)

  • Auto Scaling 启动新 EC2

  • ELB 进行健康检查

  • 通过后 → 开始接收流量

故障处理

  • ELB 发现实例不健康

  • 停止向其发送流量

  • 通知 Auto Scaling

  • Auto Scaling 替换实例

缩容(Scale In)& Connection Draining

  • Connection Draining(连接耗尽)

  • 不再接收新连接

  • 等待已有连接结束

  • 再终止实例

防止:用户请求中途被断开

五、ELB 的 3 个核心组件

1️⃣ Listener(监听器)

  • 客户端连接点

定义:

  • 协议(HTTP / HTTPS / TCP / TLS)

  • 端口(80 / 443 / 8080 等)

== 一个 Load Balancer 可以有多个 Listener==

2️⃣ Target Group(目标组)

后端资源集合

可以是:

  • EC2

  • IP 地址

  • Lambda

每个 Target Group 都要定义健康检查

3️⃣ Rules(规则)

把 Listener 的流量路由到 Target Group

基于条件:

  • Path(/upload)

  • Host(api.example.com)

  • Header

  • Source IP

  • Method

六、Application Load Balancer(ALB)

定位:L7(应用层)负载均衡

ALB 的核心能力

1️⃣ 基于 HTTP 内容路由

  • URL path

  • Host

  • Headers

  • Method

  • Query String

  • Source IP

== 非常适合 微服务 / API 网关===

2️⃣ TLS / HTTPS 卸载

  • SSL 证书来自:

    • ACM(推荐,免费)

    • IAM 导入

  • 客户端 ↔ ALB 加密

  • 后端无需处理 TLS

3️⃣ 直接响应客户端

  • Fixed Response(返回 HTML)

  • Redirect(HTTP → HTTPS)

4️⃣ 用户认证

  • OpenID Connect

  • SAML / LDAP / Microsoft AD

  • 在进入后端前完成认证

5️⃣ 路由算法

  • Round Robin(默认)

  • Least Outstanding Requests(重点)

当:

实例性能不同

请求复杂度不一致

使用 Least Outstanding Requests

6️⃣ Sticky Sessions

  • 基于 HTTP Cookie

  • 适用于 有状态应用

7️⃣ 安全

  • 使用 Security Group

  • 控制允许的 IP / 端口

⚠️ ALB 适用范围

✅ HTTP / HTTPS

❌ 不支持 TCP / UDP

七、Network Load Balancer(NLB)

定位:L4(连接层)负载均衡

NLB 的核心能力

1️⃣ 支持协议

  • TCP

  • UDP

  • TLS

不理解 HTTP 内容

2️⃣ 路由算法:Flow Hash

基于:

  • 协议

  • 源 IP / 端口

  • 目标 IP / 端口

  • TCP sequence

条件相同 → 一直发给同一个目标

3️⃣ Sticky Sessions

基于 Source IP

不用 Cookie

4️⃣ TLS 卸载

支持 TLS 终止

但不做 HTTP 层处理

5️⃣ 极高性能

瞬间支持百万级请求

无需预热扩容

6️⃣ IP 地址支持

Static IP

Elastic IP

👉 适用于:

客户端不能用 DNS

防火墙基于 IP 白名单

7️⃣ 保留客户端真实 IP

  • 后端看到的是真实 Client IP

  • ALB 看到的是 Load Balancer IP

八、ALB vs NLB 对比(考试必背)

特性ALBNLB
工作层级L7L4
协议HTTP / HTTPSTCP / UDP / TLS
内容路由
Path / Host 路由
用户认证
Fixed / Redirect
Sticky SessionCookieSource IP
TLS 卸载
静态 IP
保留客户端 IP
极端高吞吐⚠️

九、一句话选型总结(非常重要)

Web / API / 微服务 → ✅ ALB

TCP / UDP / 游戏 / 金融系统 → ✅ NLB

需要静态 IP / 客户端 IP → ✅ NLB

需要 URL / Header 路由 → ✅ ALB

http://www.jsqmd.com/news/209894/

相关文章:

  • 万物识别模型主动学习:让标注效率提升10倍
  • 中国DevOps平台选型全景:技术适配与安全合规的双重考验
  • 为什么顶尖IT专家都在用PowerShell?,揭开MCP脚本编写的5大秘密
  • 最新流出6款AI论文工具:附真实参考文献,查重低原创高再不看晚了!
  • ELB(Elastic Load Balancing)的三大核心组件,以及它们之间的关系
  • Qwen3Guard-Gen-8B可集成至DevOps流水线实现自动化安全测试
  • Qwen3Guard-Gen-8B模型可用于检测恶意代码生成尝试
  • DIFY MCP在金融风控中的落地实践
  • 最新流出!8款AI论文工具实测:20分钟生成5万字文献综述,真实文献全文引用
  • 科沃斯窗宝W3参数测评
  • Qwen3Guard-Gen-8B支持与Elasticsearch结合实现全文检索过滤
  • 24小时开发一个轻量级杀毒软件原型:技术方案分享
  • 多目标优化算法公共自行车调度应用【附代码】
  • Qwen3Guard-Gen-8B模型可通过VSCode插件进行调试
  • 揭秘MCP在MLOps中的核心作用:如何提升模型交付效率300%
  • 西门子调节型电源6EP4137-3AB00-1AY0
  • 实例控制台点击即用:Hunyuan-MT-7B降低AI使用门槛
  • java+vue+SpringBoot工作流程管理系统(程序+数据库+报告+部署教程+答辩指导)
  • 零基础入门:DIFY本地部署简明教程
  • ABAP Cloud 里的高性能日志:CL_BALI_LOG、XCO_CP_BAL 与 AML 的性能对比与选型指南
  • 深度测评9个一键生成论文工具,本科生轻松搞定毕业论文!
  • 学霸同款2026 AI论文工具TOP8:专科生毕业论文神器测评
  • 零基础教程:5分钟学会M4S转MP4最简单方法
  • 用MATLAB在线网页版快速验证你的科学计算想法
  • 零基础学JIEBA:中文分词入门指南
  • 快速理解Proteus模拟元器件参数设置技巧
  • MINICOM vs 传统串口工具:AI开发效率提升300%
  • AI vs 人工:解决连接问题效率大比拼
  • Jupyter中运行Hunyuan-MT-7B:数据科学家的翻译工作流优化
  • 网络空间安全学什么?网络空间安全入门到精通,收藏这一篇就够了