gpt4 book ai didi

mongodb - 无法从 GCP App Engine 连接到 Mongo Atlas

转载 作者:行者123 更新时间:2023-12-05 02:07:34 24 4
gpt4 key购买 nike

我正在尝试将在 GCP App Engine 上运行的 nodejs 应用程序连接到 Mongo Atlas,但我收到网络错误。我已经设置了 VPC 对等连接并启用了无服务器 VPC 连接器,并在应用程序 yaml 中添加了 vpc_access_connector 属性,并将连接器的 IP 范围列入了 Atlas 中的白名单。我看到的确切错误是

> MongoNetworkError: failed to connect to server [testcluster-shard-00-00-fbyja.gcp.mongodb.net:27017] on first connect
> [MongoNetworkError: connection 4 to testcluster-shard-00-00-fbyja.gcp.mongodb.net:27017 closed]

我的代码是

var express = require("express");
var app = express();
require('dotenv').config();
var cors = require('cors');
const BodyParser = require('body-parser');
const MongoClient = require("mongodb").MongoClient;
const ObjectId = require('mongodb').ObjectID;
const CONNECTION_URL = process.env.DB_CONNECTION;

app.use(cors());
app.use(BodyParser.json());
app.use(BodyParser.urlencoded({extended: true}));

var database, collection;

app.listen(process.env.PORT, () => {
MongoClient.connect(CONNECTION_URL, {useNewUrlParser: true}, (error, client) => {
if(error){
throw error;
}
database = client.db("test");
collection = database.collection("test");
})
});

最佳答案

很遗憾,您无法配置 peering connection for M0/M2/M5 in Atlas .

Network Peering Connections You cannot configure Set up a Network Peering Connection on M0 Free Tier or M2/M5 shared clusters.

此外,由于您使用的是 App Engine,您的应用程序位于 GCP 的负载平衡器之后,您将无法将一组稳定的静态 IP 列入白名单。

此时可能的解决方案:

  • 将您的 Atlas 集群升级到 M10,以使用对等互连功能。这可能会花费您 ~60 美元/月
  • 如果它不是用于生产并且您不想为此投入资金,我建议您使用免费层实例来部署您的应用,然后将其 IP 列入 Atlas clustier 层的白名单

关于mongodb - 无法从 GCP App Engine 连接到 Mongo Atlas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61626069/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com