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

AWS Lambda连接DocumentDB且保留外部请求功能的最佳方案

解决Lambda连接DocumentDB同时访问外部资源的超时问题

问题根源:当Lambda部署到VPC的公有子网时,默认没有出站公网访问能力(Lambda在VPC内没有弹性IP,无法直接访问公网),所以访问SQS这类需要公网的服务会超时。以下是两种简单可行的解决方案,都能保持Lambda与DocumentDB的VPC内连接,同时恢复外部服务访问:

方案一:给SQS创建VPC端点(推荐,更安全且低成本)

这是最适合的方案,因为SQS支持VPC端点,Lambda可以直接在VPC内访问SQS,无需走公网:

  • 进入VPC控制台,打开「端点」页面,点击「创建端点」
  • 服务类型选择Interface,搜索并选择com.amazonaws.<你的区域>.sqs
  • 选择Lambda所在的VPC及子网(即DocumentDB集群所在的子网)
  • 配置安全组:确保该安全组允许Lambda所在安全组访问端点的443端口(HTTPS)
  • 创建完成后,Lambda无需修改代码,就能直接访问SQS,同时保持与DocumentDB的VPC内连接

方案二:配置NAT网关(适合需要访问多个外部服务的场景)

如果你的Lambda还需要访问其他没有VPC端点的公网服务,可以用这个方案:

  • 在VPC的公有子网中创建NAT网关,并分配一个弹性IP
  • 找到Lambda所在子网关联的路由表,添加一条路由规则:目标0.0.0.0/0,下一跳指向刚创建的NAT网关
  • 确保NAT网关的安全组允许所有出站流量(或按需限制)
  • 配置完成后,Lambda就能通过NAT网关访问公网资源,同时保持与DocumentDB的VPC内连接

额外注意事项

  • 确保Lambda的安全组与DocumentDB的安全组之间存在双向访问规则:Lambda安全组允许出站访问DocumentDB的27017端口,DocumentDB安全组允许来自Lambda安全组的27017端口入站流量
  • 若使用VPC端点,无需修改Lambda代码,AWS会自动将SQS请求路由到VPC内的端点

内容的提问来源于stack exchange,提问作者Gervasius Twinklewinkleson

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 10:10:40