Как подключиться к Amazon DocumentDB из Node.js
Как подключиться к новой базе данных Amazon DocumentBD из node.js (в этом случае используется готовая настройка Elastic Beanstalk).
Это мой код, скопированный из документации (с некоторыми значениями, измененными для конфиденциальности). Это просто время ожидания, и конечное значение 'err' равно 'true'. Что я упустил? Как я могу получить лучшую ошибку?
var MongoClient = require('mongodb').MongoClient,fs = require('fs');
var ca = [fs.readFileSync("rds-combined-ca-bundle.pem")];
var connection_string = "mongodb://USERNAME:PASSWORD@docdb-2019-04-23-12-55-44.cluster-abcdefghij.eu-west-1.docdb.amazonaws.com:27017/?ssl=true&&replicaSet=rs0&readPreference=secondaryPreferred";
MongoClient.connect(
connection_string, {
sslValidate: true,
sslCA: ca,
useNewUrlParser: true
},
function (err,client) {
console.log(err+" , "+ client);
});
Надеюсь, кто-нибудь знает.
4 ответа
Тайм-аут часто указывает на то, что группы безопасности не настроены должным образом. Проверьте конфигурацию входящей группы безопасности DocumentDB, чтобы убедиться, что трафик из источника разрешен для вашего экземпляра DocumentDB.
Отличное предложение от hephalump@. Хотел указать вам на точную документацию. Вы можете обратиться к пункту 7.d этой документации, в котором говорится о настройке правил для групп безопасности.
В mongo uri нам нужно заменитьssl
кtls
и добавитьtlsCAFile
в вариантах подключения
var MongoClient = require('mongodb').MongoClient;
var connection_string = "mongodb://USERNAME:PASSWORD@docdb-2019-04-23-12-55-44.cluster-abcdefghij.eu-west-1.docdb.amazonaws.com:27017/?tls=true&&replicaSet=rs0&readPreference=secondaryPreferred";
MongoClient.connect(
connection_string, {
tlsCAFile: `rds-combined-ca-bundle.pem`
},
function (err,client) {
console.log(err+" , "+ client);
});
Ссылка: https://docs.aws.amazon.com/documentdb/latest/developerguide/connect_programmatically.html .