我有一个 MongoDB,它只允许从本地主机连接,运行在我的 ec2 上。目前,只有在同一 ec2 实例上运行的 nodejs 应用程序使用此命令连接到 mongodbmongoose.connect('mongodb://user:pass@localhost:27017/mydb', {})
现在我正在将代码迁移到 lambda。由于我的 mongodb 仅允许 localhost 连接,因此我的 lambda 目前无法连接到我的 mongodb,因此我需要打开我的 MongoDB 连接以允许来自外部 IP 的连接,对吗?但有人告诉我(但他对此并不确定)我可以使用 VPC 允许 lambda 连接到我的 MongoDB,而无需我打开我的 MongoDB 连接或对我的 MongoDB 配置进行任何更改。他在这一点上是对的吗?
我刚刚开始阅读有关此 VPC 的信息,因为我以前从未使用过它,但我只是在这里询问确认或任何其他替代方案。
谢谢
答案1
简单的答案是“不”,如果不启用远程连接,您就无法从外部连接到 MongoDB。首先,您需要设置 MongoDB,编辑“网络接口”下的 /etc/mongod.conf 文件以将 bindIp 值更新为 0.0.0.0。现在您需要创建一个 VPC(如果您没有),将 lambda 和 EC2 分配给同一个 VPC,创建一个安全组并将 lambda 和 EC2 分配给该组。在您的 Nodejs 连接字符串中,确保您引用了 EC2 私有 IP。