如何在AWS WAF中添加允许Lambda访问的规则?
解决Lambda访问受WAF保护的ALB的方案
针对Lambda无法访问受WAF IP白名单限制的ALB问题,以下是几种可行的解决方法:
1. 固定公网IP方案(最可靠)
如果Lambda需要通过公网访问ALB:
- 把Lambda部署到VPC的私有子网,为该子网配置绑定了固定弹性IP的NAT网关,让Lambda的出站流量全部通过NAT网关转发。
- 将NAT网关的弹性IP添加到WAF的允许IPSet中,这样Lambda的请求源IP就是这个固定IP,会被WAF放行。
2. 私有子网CIDR方案(同VPC场景)
如果Lambda和目标ALB处于同一个AWS VPC内:
- Lambda访问ALB时会使用所在私有子网的私有IP,直接把Lambda所在的私有子网CIDR段添加到WAF的允许IPSet即可。
- 这种方式无需额外配置NAT网关,适合同VPC内的服务互访场景。
3. 请求特征匹配方案(备选)
如果无法使用IP白名单方式,可以尝试通过请求特征识别Lambda请求:
- Lambda发起的HTTP请求默认会携带
X-Amzn-Trace-Id头部(格式为Root=1-xxxx-xxxx),可以在WAF中创建自定义规则,匹配包含该头部的请求并放行。 - 注意:该头部存在被伪造的风险,仅作为IP方案的备选。
内容的提问来源于stack exchange,提问作者whitebear
相关产品推荐
相关产品推荐

