尝试从本地 NodeJS 应用程序连接到 AWS DocumentDB 时超时

Time out when trying to connect to AWS DocumentDB from local NodeJS app

我正在尝试从我的本地 NodeJS 应用程序连接到 DynamoDB。我的配置如下:

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。就是根本无法连接到数据库

出于安全原因,除了通过 ssh 隧道之外,无法从外部打开对 documentdb 集群的访问。参见 AWS doc