Gateway Load Balancer

AWS Gateway Load Balancer (GWLB) 是专门用于部署第三方虚拟网络设备 (防火墙、IDS/IPS、流量检测) 的负载均衡器,透明地将流量引导到这些设备进行检查。

传统防火墙方式和 GWLB对比:

image-20260308211054352

核心组件

组件 作用
Gateway Load Balancer 负载均衡器本身,分发流量
GWLB Endpoint VPC 端点,流量入口/出口
Target Group 注册虚拟设备 (防火墙等)

工作原理

流量流向详解

1. 入站流量:
   Internet → IGW → 路由到 GWLB Endpoint 
           → GWLB → 防火墙检查 
           → GWLB → 返回 GWLB Endpoint 
           → 路由到应用

2. 出站流量:
   应用 → 路由到 GWLB Endpoint 
       → GWLB → 防火墙检查 
       → GWLB → 返回 GWLB Endpoint 
       → IGW → Internet

GWLB如何将流量发送到正确的设备

GWLB将基于五元组哈希选择目标,这意味着GWLB根据每个IP数据包中包含的以下五个组件来选择后端目标:

  • IP协议(例如TCP)
  • 源IP地址(例如54.11.48.21)
  • 源端口(例如54001)
  • 目标IP地址(例如10.1.2.113)
  • 目标端口(例如HTTP的80)

通过确保双向流量的粘性,GWLB也会将返回流量的数据包发送到相同的目标。

请注意,如果相同的两台主机在两组不同的端口上进行通信,流量可能会通过两个不同的设备进行路由。

GENEVE 协议

GWLB 使用 GENEVE 封装 (端口 6081):

原始数据包:
┌──────────────────────────┐
│ IP Header │ TCP │ Data   │
└──────────────────────────┘
            ↓
GENEVE 封装后:
┌─────────────────────────────────────────────┐
│ GENEVE Header │ 原始 IP │ 原始 TCP │ Data     │
│ (保留源信息)   │                              │
└─────────────────────────────────────────────┘

这样做的优点是防火墙能看到原始源/目标 IP,而不是 GWLB 的 IP

常见的GWLB架构:

image-20260308211634716

与其他 LB 对比

特性 ALB NLB GWLB
OSI 层 L7 L4 L3

和NFW的对比

GWLB 和NFW功能非常类似,都是在专门一个VPC里清洗流量,但又稍有不同:

Gateway Load Balancer Network Firewall
本质 负载均衡器 (流量分发) 防火墙服务 (流量检查)
规则引擎 第三方 (Palo Alto, Fortinet等) AWS (基于 Suricata)
管理负担 高 (需维护设备) 低 (托管服务)

架构对比:

image-20260308211955041

相似点:

相似点 说明
路由配置 都需要修改路由表引导流量
透明检查 对应用透明,无需改应用代码
入站/出站 都可检查双向流量
高可用 都支持多 AZ 部署

选择指南

场景 推荐
简单防火墙需求 Network Firewall
需要 AWS 原生托管 Network Firewall
预算有限 Network Firewall
需要特定厂商功能 GWLB + 第三方
已有防火墙授权 GWLB
需要高级威胁防护 GWLB + Palo Alto等
合规要求指定厂商 GWLB

功能对比

功能 Network Firewall GWLB + 第三方
基础包过滤
有状态检查
IDS/IPS ✓ (Suricata) ✓ (厂商专有)
域名过滤
TLS 检查
URL 过滤 有限 更强
威胁情报 基础 丰富 (订阅)
应用识别 有限 深度 (App-ID等)
管理界面 AWS Console 厂商专有界面
日志分析 CloudWatch 厂商 SIEM

成本对比

项目 Network Firewall GWLB + 第三方
固定费用 $0.395/端点/小时 $0.0125/小时 + 设备费
数据处理 $0.065/GB $0.0035/GB + 设备处理
授权费 第三方订阅费 ($$$$)
运维成本

和Network Firewall一样,GWLB也是分为南北流量和东西流量控制:

南北流量

东西流量