连接超时MongoDB,AWS lambda和Nodejs

时间:2018-02-13 02:26:29

标签: node.js mongodb amazon-web-services amazon-ec2 aws-lambda

我面临一个奇怪的问题。我安装了MongoDB并在EC2实例上处理项目。我试图从本地访问数据库它工作正常。但是,当我尝试执行我的AWS lambda函数时,我得到一个超时错误。因此将lambda函数超时增加到50秒。我正在运行一个简单的查询来查找10条记录的一条记录。我收到以下错误。任何人都可以帮我这个吗?

MongoNetworkError: failed to connect to server [EC2_PUBLIC_IP:PORT_NUMBER] on first connect [MongoNetworkError: connection 0 to EC2_PUBLIC_IP:PORT_NUMBER timed out]

我正在使用MONGODB-NATIVE与Nodejs。

const MongoClient = require('mongodb').MongoClient;

MongoClient.connect(DB_URL, (err, conn) => {
  if(err) return console.error(err);

  let db = conn.db('DB_NAME');

  db.collection('COLLECTION_NAME').findOne({ value: 1232131 }, (error,results) => {
    if(error) return console.error(error);

    conn.close();
    return console.log(results);
  });
});

2 个答案:

答案 0 :(得分:2)

我不认为这是您的代码的问题。这是一个偏离主题的问题,因为它是您的防火墙设置的问题。

在EC2安全组中,请在入站端口添加默认为27017的MongoDB端口,然后尝试访问数据库。

答案 1 :(得分:0)

仅靠第一个答案对我来说不起作用,我仍然必须移植到我的mongo副本

https://stackoverflow.com/a/64890853/9206157