You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Lambda接入私有RDS后无法调用子Lambda及外部服务问题咨询

解决方案:VPC内Lambda访问私有RDS+公网服务/其他Lambda的配置方案

核心矛盾拆解

你碰到的问题本质是:Lambda加入VPC后默认失去公网访问能力,导致既无法调用外部Lambda,也没法访问AWS托管服务(Textract/Bedrock),但又必须保证它能访问私有RDS。以下是分场景的落地解决办法:


1. 让VPC内的Master Lambda能调用子Lambda

子Lambda完全不需要加入VPC,只要给Master Lambda所在的VPC配置NAT网关即可:

  • 在VPC的公有子网创建NAT网关(绑定弹性IP)
  • 给Master Lambda所在的私有子网的路由表添加一条路由:0.0.0.0/0 指向NAT网关
  • 配置完成后,Master Lambda既能通过VPC内部路由访问RDS,又能通过NAT网关访问公网,正常调用子Lambda

如果想节省NAT网关的成本,也可以给Lambda服务配置Interface类型的VPC端点,直接在VPC内部调用Lambda API,无需走公网。


2. 子Lambda调用Bedrock/Textract的可行性

如果硬要把子Lambda也放进VPC,必须满足以下任一条件,否则调用会直接超时:

  • 给子Lambda所在子网配置NAT网关,让它通过NAT访问公网的Bedrock/Textract端点
  • 给Textract和Bedrock配置对应的VPC端点:
    • Textract支持Interface类型的VPC端点(需确认当前AWS区域是否支持)
    • Bedrock也提供VPC端点能力,创建后子Lambda可直接在VPC内部调用

但更简洁的方案是让子Lambda保持默认无VPC配置(即运行在AWS托管的网络中),直接调用托管服务,完全不需要额外配置VPC相关资源。


3. 彻底确保RDS私有性

  • 关闭RDS实例的「公网访问」选项,移除绑定的弹性IP
  • 配置RDS的安全组,仅允许Master Lambda所在的安全组发起入站流量(端口3306)
  • 无需依赖密码防护,从网络层面彻底切断RDS的公网访问路径

内容的提问来源于stack exchange,提问作者MaxS.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 07:18:19