繁体   English   中英

连接超时 MongoDB、AWS lambda 和 Nodejs

[英]Connection Timeout MongoDB, AWS lambda and Nodejs

我正面临一个奇怪的问题。 我在 EC2 实例上安装了 MongoDB 并正在处理一个项目。 我试图从本地访问数据库它工作正常。 但是,当我尝试执行我的 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]

我在Nodejs 中使用MONGODB-NATIVE

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);
  });
});

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

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

单独的第一个答案对我不起作用,我仍然必须转发到我的 mongo 副本

这是您要运行的命令。

"ssh -i aws-ssh-key.pem -g -N -f -L 8000:127.0.0.1:27017 ec2-user@10.0.8.10"

查看此链接以获取有关命令的详细信息。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM