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

通过AWS Lambda连接AWS DocumentDB时出现ServerSelectionTimeoutError错误

报错原因

该pymongo.errors.ServerSelectionTimeoutError报错本质是Lambda运行环境无法在30秒超时窗口内和DocumentDB实例建立网络连接导致的服务选择失败。由于你本地shell和Robo3T可以正常连接,说明DocumentDB本身的实例配置、账号密码、访问权限均正常,问题出在Lambda的运行环境配置上。

排查解决步骤
  • 确认Lambda是否配置了和DocumentDB相同的VPC
    DocumentDB默认仅支持VPC内部访问,你本地能连接通常是通过VPN、跳板机打通了VPC网络,若Lambda未配置对应VPC,会默认运行在AWS公网环境,无法访问私有VPC内的DocumentDB实例。需在Lambda配置页的「VPC」模块,选择和DocumentDB一致的VPC、至少2个可用区的私有子网,以及对应的安全组。
  • 检查安全组规则配置
    • Lambda关联的安全组需要开放出站规则:允许TCP协议到DocumentDB安全组的27017端口的访问请求
    • DocumentDB关联的安全组需要开放入站规则:允许TCP协议27017端口的请求来自Lambda关联的安全组,不要仅绑定你本地的公网IP
  • 确认CA证书文件存在于Lambda运行环境
    你代码连接串中指定了ssl_ca_certs=rds-combined-ca-bundle.pem,需确认该证书文件已经打包在Lambda部署包根目录,或者通过Lambda层挂载到了正确路径下,证书缺失也会引发连接超时类错误,可在代码开头增加如下代码验证文件是否存在:
import os
print(os.listdir('/var/task'))
  • 调整Lambda基础配置
    将Lambda的执行超时时间调整为1分钟以上,默认Lambda执行超时为3秒,不足以完成DocumentDB的连接和查询操作。
  • 验证IAM角色权限
    确认Lambda关联的执行角色包含DocumentDB的访问权限,可直接附加AmazonDocDBFullAccess托管策略做验证,排除权限拦截导致的连接失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 15:00:04