Невозможно подключиться к Mon go Atlas из GCP App Engine - PullRequest
2 голосов
/ 06 мая 2020

Я пытаюсь подключить приложение nodejs, работающее на GCP App Engine, к Mon go Atlas, но получаю сетевые ошибки. Я настроил VP C Peering и включил бессерверный соединитель VP C, добавил свойство vpc_access_connector в приложение yaml и внес в белый список диапазон 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");
    })
});
.

Ответы [ 2 ]

2 голосов
/ 09 мая 2020

К сожалению, вы не можете настроить пиринговое соединение для M0 / M2 / M5 в Atlas .

Сетевые пиринговые соединения Невозможно настроить Установить сетевое пиринговое соединение на уровне бесплатного пользования M0 или общих кластерах M2 / M5.

Более того, поскольку вы используете App Engine, ваше приложение находится за балансировщиками нагрузки GCP, и вы не сможете внести в белый список стабильный c IP-адрес.

Возможные решения на этом этапе:

  • Обновите свой кластер Atlas до M10, чтобы получить доступ к функции пиринга. Это может стоить вам ~ 60 долларов США в месяц
  • Если это не для производства, и вы не хотите вкладывать в это деньги, я бы посоветовал вам использовать экземпляр бесплатного уровня для развертывания вашего app, затем занесите его IP-адрес в белый список для кластерного уровня Atlas
0 голосов
/ 15 мая 2020

Хотя вы не можете использовать GCP VP C Сетевой пиринг для кластеров Mo / M2 / M5 в Atlas.

Вы можете настроить Cloud NAT со статусом c IP который подключается к сети VP C. Вы можете добавить статический c IP-адрес вашего Cloud NAT в белый список IP-адресов Atlas.

...