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

AWS Lambda无法连接MongoDB Atlas Serverless,求助排查

问题分析与解决建议

错误提示No address associated with hostname表明Lambda所在VPC无法解析MongoDB私有端点的域名,导致无法建立连接。结合你已有的配置,以下是可能遗漏的关键配置项:

1. AWS VPC端点未启用私有DNS名称

创建AWS VPC端点时,必须勾选启用私有DNS名称选项。只有开启此功能,VPC内的资源(如Lambda)才能通过MongoDB提供的私有端点域名(dev-pe-0.vvwclmg.mongodb.net)解析到对应的私有IP地址。

检查方式:在AWS控制台的VPC端点详情中,查看“私有DNS名称”是否为已启用状态。若未启用,需重新创建或修改VPC端点开启该选项。

2. VPC的DNS配置未开启必要参数

Lambda所在的VPC必须同时开启以下两个DNS相关参数:

  • enableDnsSupport:允许VPC内的资源使用AWS提供的DNS服务
  • enableDnsHostnames:允许VPC内的实例获取私有DNS名称

检查方式:在VPC控制台的VPC详情中,查看“DNS支持”和“DNS主机名”是否均为启用状态。若未开启,需修改VPC属性开启这两项。

3. MongoDB私有端点的网络访问控制未放行Lambda流量

尽管Lambda的安全组允许所有出站流量,但MongoDB端的网络配置(安全组或网络ACL)需要明确允许来自Lambda所在私有子网IP段或Lambda安全组的27017端口入站流量。

检查方式:登录MongoDB Atlas控制台,进入私有端点的网络配置页面,确认已将Lambda的安全组ID或私有子网CIDR添加到允许访问的列表中。

4. AWS VPC端点的子网与安全组配置不匹配

创建AWS VPC端点时,需确保:

  • 选择的子网是Lambda所在的两个私有子网
  • 关联的安全组允许Lambda所在安全组发起的27017端口连接请求

检查方式:在AWS VPC端点详情中,查看“子网”和“安全组”配置是否与Lambda的部署环境一致。

额外验证项

  • 确认连接字符串是否显式指定端口:将连接字符串修改为mongodb://dev-pe-0.vvwclmg.mongodb.net:27017/?authMechanism=MONGODB-AWS,显式声明27017端口
  • 在Lambda中添加DNS解析测试:临时加入import socket; socket.gethostbyname("dev-pe-0.vvwclmg.mongodb.net")代码,验证是否能解析到私有IP,帮助定位是解析问题还是连接问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 19:35:20