Тайм-аут при попытке подключиться к AWS DocumentDB из локального приложения NodeJS

Я пытаюсь подключиться к DynamoDB из локального приложения NodeJS. Моя конфигурация следующая:

connect-database.js

const mongoose = require('mongoose')
const fs = require('fs')
const path = require("path")

const connectDatabase = (mongoDbUrl) => {
    mongoose.connect(mongoDbUrl, {
        useNewUrlParser: true,
        useUnifiedTopology: true,
        ssl: true,
        sslValidate: false,
        sslCA: fs.readFileSync(path.resolve(__dirname, '../../config/rds-combined-ca-bundle.pem'))
    })
}

index.js

connectDatabase('mongodb://<username>:<password>@<connection-string>/?ssl=true&ssl_ca_certs=rds-combined-ca-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false')

Я чувствовал, что это как-то связано с правилами для входящего трафика группы безопасности, поэтому я добавил его, чтобы разрешить входящий трафик со всех протоколов и всех портов в моей группе безопасности, но он по-прежнему не работает. Это еще более сбивает с толку, поскольку я могу подключиться к нему из своего экземпляра AWS Cloud9.

Я получаю сообщение об ошибке MongooseServerSelectionError: getaddrinfo ENOTFOUND. Это означает, что он вообще не может подключиться к базе данных.


person philosopher    schedule 05.12.2020    source источник


Ответы (1)


Из соображений безопасности нет возможности открыть доступ к кластеру documentsdb извне, кроме как через туннель ssh. См. документ AWS.

person Yakim    schedule 05.12.2020
comment
Спасибо! Отметил вас как ответ. :) - person philosopher; 05.12.2020