首页 > 解决方案 > 如何使用 AWSlambda 函数连接到物理 mongo 数据库(即非云 mongo db 服务器)

问题描述

从 AWS lambda 函数连接物理 mongo DB 时出现类似“MongoServerSelectionError: getaddrinfo ENOTFOUND”的错误。您能否指导我如何使用 AWS lambda 函数连接 mongo DB。非常感谢。

标签: mongodbaws-lambda

解决方案


有关您的设置的更多信息会很有用:

  • MongoDB 服务器是否位于您的 AWS VPC 或本地?
  • 如果它驻留在 AWS 中,您的 Lambda 函数是否也是该 VPC 的一部分?
    • VPC 中是否启用了 DNS 解析?
    • 您是否检查过是否附加了正确的安全组?
  • 您的 MongoDB 的 DNS 名称是否可公开解析(如果 Lambda 函数位于 VPC 内,则可以私下解析)?- 尝试nslookup my-mongo-server.com

没有这些信息,我可以冒险猜测:

您可能希望连接到位于某个数据中心的私有网络中的 MongoDB 的本地(即不在 AWS 中)实例。

您已经获得了类似的 DNS 名称,db.mycompany.internal并且正在尝试连接到该名称。问题是,此 DNS 名称不可公开解析,即公共 DNS 系统不知道您的域。

您的代码正在尝试获取要连接的数据库服务器的 IP 地址,但不能这样做。


推荐阅读