配置AWS IAM角色与Atlas权限后Lambda仍报MongoServerSelectionError超时错误
排查AWS Lambda连接MongoDB Atlas时出现的
MongoServerSelectionError 以下是针对该超时错误的常见配置问题排查方向:
Atlas IP白名单未正确配置
Atlas集群默认仅允许白名单内的IP访问,即使IAM权限配置正确,也会因网络拦截导致超时:- 若Lambda运行在VPC公有子网,需将对应子网的CIDR段或NAT网关的公网IP加入Atlas白名单;
- 若使用VPC对等连接访问Atlas私有端点,需确认Atlas侧已添加Lambda所在VPC的CIDR,且对等连接状态正常;
- 可临时开启Atlas的
Allow access from anywhere(0.0.0.0/0)验证是否为白名单问题,但生产环境需严格限制IP范围。
Lambda VPC网络配置异常
- 若Lambda关联了VPC,需确保子网路由表包含指向公网的NAT网关(访问公网Atlas集群时),或包含Atlas私有端点的CIDR路由(使用私有连接时);
- 检查Lambda的安全组是否允许出站TCP 27017端口(Atlas默认端口)的流量;
- 若Lambda未关联VPC(运行在AWS公有网络),需确认AWS的出站IP段未被Atlas的安全策略拦截。
MongoDB连接字符串配置错误
使用IAM认证连接Atlas时,连接字符串必须包含正确的认证参数:mongodb+srv://<your-cluster-endpoint>/<db-name>?authSource=$external&authMechanism=MONGODB-AWS需确保:
- 集群端点直接复制自Atlas控制台,无手动修改错误;
- 未硬编码用户名密码(IAM认证无需这些字段);
- Lambda的IAM角色已配置
mongodbAtlas.clusterReadWrite等必要权限。
Lambda执行超时设置不足
确保Lambda的执行超时时间大于30秒(Atlas默认的服务器选择超时时间),避免Lambda提前终止连接尝试。Atlas集群状态异常
登录MongoDB Atlas控制台检查集群是否处于正常运行状态,排除集群维护、节点宕机等异常情况。
内容的提问来源于stack exchange,提问作者Shatya Kesarwani
相关产品推荐
相关产品推荐

