标签: aws-documentdb-mongoapi

AWS DynamoDB与AWS DocumentDB(新推出的服务)之间的区别?

AWS最近启动了类似于MongoDB接口的新服务DocumentDB。
AWS DynamoDB服务与DocumentDB服务之间有什么区别?

amazon-web-services amazon-dynamodb aws-documentdb-mongoapi

11
推荐指数
1
解决办法
1万
查看次数

无法使用带有服务器 CA 验证的 TLS 连接到 AWS 数据库

AWS 文档指出,要连接到我的 DocumentDB 集群,我需要使用以 so 结尾的查询字符串?ssl_ca_certs=rds-combined-ca-bundle.pem&replicaSet=rs0这是我的客户应该验证的根证书链。我不应该需要客户证书

使用 MongoDB C# 驱动程序和此特定查询,.pem文件位于同一目录中,我无法建立连接。如果我使用.pem来自 Mongo Shell的相同文件和查询字符串,我可以正确连接到我的数据库。它仅在我的 .net 核心应用程序中不起作用,该应用程序也在 AWS 上运行。

通过从集群中删除 TLS 并ssl_ca_certs从查询中删除选项,我可以正确连接到我的集群。

我以为我可以将我的.pem文件转换为.pfxusing openssl,但我必须提供.pfx密码并且MongoDB 文档指出

加载带有密码的证书时,PrivateKey 属性必须不为空。如果该属性为空,则表示您的证书不包含私钥,不会传递给服务器。

如何使用Amazon AWS 提供.pem文件通过C# MongoDB 驱动程序连接到我的数据库?

ssl mongodb amazon-web-services asp.net-core aws-documentdb-mongoapi

8
推荐指数
2
解决办法
4277
查看次数

使用SSL与MongoDB C#驱动程序连接到DocumentDB

我有一个使用TLS的AWS DocumentDB集群。我想从我的连接到它.net core的应用程序中C#使用C# MongoDB Driver

AWS提供的连接字符串包括这一部分?ssl_ca_certs=rds-combined-ca-bundle.pem,这是Amazon提供的证书链。我可以使用此证书通过MongoDB Shell正确连接到数据库。

我的问题是MongoDB C# Driver不支持.pem文件。似乎仅支持.pfx文件。我尝试转换.pem,但缺少私钥。我可以通过生成.cer所需.pfx.pem,但不能生成私钥。即使这样,这种解决方案似乎还是粗略的和非正式的。

是否有一种简单的方法通过MongoDB C#驱动程序使用SSL连接到DocumentDB?如果是,我应该使用什么解决方案?

c# ssl mongodb amazon-web-services aws-documentdb-mongoapi

6
推荐指数
1
解决办法
1029
查看次数

带有Robo 3T的AWS DocumentDB(Robomongo)

我想将Mac笔记本电脑中的Robo 3T(以前称为robomongo)与AWS的DocumentDB连接起来。我遵循了许多教程,但是找不到特定于DocumentDB的任何教程。

在测试阶段,它会通过步骤1“连接到我的EC2实例”,但是在步骤2失败,并显示消息“无法通过SSH隧道连接到... docdb.amazonaws.com:27017”。有人能使它正常工作吗?

amazon-web-services aws-documentdb-mongoapi

5
推荐指数
2
解决办法
2290
查看次数

使用Amazon DocumentDB更改流

我正在设置一个微服务,该服务需要对Amazon DocumentDB的更改做出反应。在使用MongoDB时,我将为此使用响应式变更流。如果使用DocumentDB进行此操作,则在注册更改侦听器时会收到异常消息,说明当前不支持更改流。

2019-02-12T11:46:15.513+0100 E QUERY    [js] Error: command failed: {
    "ok" : 0,
    "errmsg" : "The $changeStream stage is currently not supported",
    "code" : 303
} : aggregate failed :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
doassert@src/mongo/shell/assert.js:18:14
_assertCommandWorked@src/mongo/shell/assert.js:534:17
assert.commandWorked@src/mongo/shell/assert.js:618:16
DB.prototype._runAggregate@src/mongo/shell/db.js:260:9
DBCollection.prototype.aggregate@src/mongo/shell/collection.js:1062:12
DBCollection.prototype.watch@src/mongo/shell/collection.js:1589:12
@(shell):1:1
Run Code Online (Sandbox Code Playgroud)

对于“旧式”解决方案(op-log-tailing),我没有发现有关如何实现这一点的任何提示。

建议使用什么设置在Amazon DocumentDB上注册数据库更改?

amazon-web-services aws-documentdb-mongoapi

5
推荐指数
1
解决办法
790
查看次数

无法确定与 DocumentDB 的 Mongoose SSL 连接错误

我在 AWS Elastic Beanstalk (EB) 中有 2 个环境,运行 Node.js 应用程序,使用 Mongoose 框架连接到 DocumentDB。其中一个环境莫名其妙地停止工作,而另一个环境工作正常。两者都是从 CI/CD 构建服务器部署的,该服务器使用 EB CLI 来部署应用程序代码。

有问题的环境在nodejs.log中产生如下错误:

  name: 'MongooseTimeoutError',
  reason:
   { Error: unable to get local issuer certificate
       at TLSSocket.onConnectSecure (_tls_wrap.js:1058:34)
       at TLSSocket.emit (events.js:198:13)
       at TLSSocket._finishInit (_tls_wrap.js:636:8)
     name: 'MongoNetworkError',
     [Symbol(mongoErrorContextSymbol)]: {} },
  [Symbol(mongoErrorContextSymbol)]: {} }
Run Code Online (Sandbox Code Playgroud)

两者都使用相同的连接字符串,因为它们连接到同一个实例 mongodb://*****:*****@docdb-2019-08-**-**-**-**.cluster-**********.us-east-2.docdb.amazonaws.com:27017/db_name?ssl=true&ssl_ca_certs=/etc/ssl/certs/rds-combined-ca-bundle.pem&replicaSet=rs0

证书 pem 文件是用于两者的相同文件,并通过 EB .ebextensions 脚本部署到实例。

我尝试过的事情:

  • 连接到问题环境的 EC2 实例,安装了 mongodb shell,并且能够使用 Mongo 连接字符串中指定的证书成功连接到 DocumentDB 实例。
  • 通过 Elastic Beanstalk Web 管理控制台重建 EB 环境。

目前有点卡住了想法。

mongoose node.js amazon-elastic-beanstalk aws-documentdb-mongoapi aws-documentdb

5
推荐指数
1
解决办法
1870
查看次数

AWS DocumentDB 中架构验证的替代方案

我正在将 MongoDB 中的数据库移动到 AWS DocumentDB。我正在 Java 中使用mongodb-driver(版本 3.6.4)来写入和读取数据,以及配置我使用的集合。特别是,我有一个架构验证(编写为 JSON 架构),它似乎与 AWS DocumentDB 不兼容。

这里的文档说不$jsonSchema支持,但我一般没有看到任何关于文档验证的明确断言。

真的不支持吗?有没有其他选择(除了在Java代码中这样做)?

mongodb aws-documentdb-mongoapi aws-documentdb

5
推荐指数
1
解决办法
1808
查看次数

AWS OpenSearch Service 与 MongoDB 的连接

有什么方法可以在不使用 DocumentDb 的情况下将 AWS OpenSearch 与 MongoDB 连接起来?我有一个基于 Nest.js 和 ReactJs 的应用程序,我想在其中使用 OpenSearch 服务

mongodb amazon-web-services aws-elasticsearch nestjs aws-documentdb-mongoapi

5
推荐指数
0
解决办法
978
查看次数

将AWS documentDB附加到Spring Boot应用程序

我最近尝试在Spring应用程序中将新的AWS DocumentDB服务用作数据库。

群集已在与我在其上部署应用程序的EKS相同的VPC中创建。安全组允许VPC中所有节点之间的连接。

AWS为我的数据库集群公开了这样的mongo URI:

mongodb://<my-user>:<insertYourPassword>@<my-cluster-endpoint>:27017/?ssl_ca_certs=rds-combined-ca-bundle.pem&replicaSet=rs0
Run Code Online (Sandbox Code Playgroud)

我的问题:

如何使我的Spring代码与这种连接一起工作?

我尝试将followig添加到我的application.properties文件中:

spring.data.mongodb.uri=mongodb://<my-user>:<insertYourPassword>@<my-cluster-endpoint>:27017/admin?ssl_ca_certs=rds-combined-ca-bundle.pem&replicaSet=rs00
spring.data.mongodb.database=admin
server.ssl.key-store=classpath:rds-combined-ca-bundle.pem
Run Code Online (Sandbox Code Playgroud)

并将PEM文件放入 /src/main/resources

但是,该代码仍然无法连接到数据库集群。

我收到此消息是错误消息: No server chosen by com.mongodb.client.internal.MongoClientDelegate

跟一个 Exception in monitor thread while connecting to server ...

最后是超时异常: com.mongodb.MongoSocketReadTimeoutException: Timeout while receiving message

它看起来像是一个安全组问题,但我没有问题,可以从运行Spring应用程序Pod的同一EC2中连接mongo shell。

有任何想法吗?

spring amazon-web-services aws-documentdb-mongoapi

4
推荐指数
2
解决办法
2925
查看次数

AWS DocumentDB 是否支持 MongoDB 2dshpere 索引?

我正在尝试使用新的 AWS DocumentDB 服务运行现有应用程序。从 mongo shell 我尝试运行 db.geojson.createIndex( { geoData : "2dsphere" , sessionId:1 } ) 并收到
{ "ok" : 0, "errmsg" : "Index type not supported : 2dsphere", "code" : 303 }

此代码适用于实际的 MongoDb 实例,但不适用于新的 AWS 服务,该服务应该与 MongoDB 3.6 兼容

aws-documentdb-mongoapi

4
推荐指数
1
解决办法
2349
查看次数

无法使用MongoDB Compass连接到AWS Documentdb。没有传递sslInvalidHostName的选项

AWS DocumentDB是我们要迁移到的相对较新的服务。要从VPC外部进行连接,必须创建到现有实例的隧道。

例如:

ssh -i "ec2Access.pem" -L 27017:sample-cluster.cluster-cu52jq5kfddg.us-east-1.docdb.amazonaws.com:27017 ubuntu@ec2-34-229-221-164.compute-1.amazonaws.com -N
Run Code Online (Sandbox Code Playgroud)

然后您可以从mongo shell用以下命令连接:

mongo --sslAllowInvalidHostnames --ssl --sslCAFile rds-combined-ca-bundle.pem --username <yourUsername> --password <yourPassword> 
Run Code Online (Sandbox Code Playgroud)

您可以在以下位置查看此信息:https : //docs.aws.amazon.com/documentdb/latest/developerguide/connect-from-outside-a-vpc.html

实际上,我可以按照上述说明将shell放入document db,但无法使用MongoDB指南针连接到它。我们需要能够为我们的非开发人员团队做到这一点。

amazon-ec2 amazon-web-services mongodb-compass aws-documentdb-mongoapi

3
推荐指数
2
解决办法
1830
查看次数

How to connect to Amazon DocumentDB from Node.js

How do I connect to Amazon's new DocumentBD database from node.js (In this case, using an out-of-the-box Elastic Beanstalk setup.)

This is my code, copied from the docs (with some values altered for privacy). It just times out and the eventual value of 'err' is 'true'. What did I miss? How can I get a better error?

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 …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services node.js amazon-elastic-beanstalk aws-documentdb-mongoapi aws-documentdb

3
推荐指数
1
解决办法
1万
查看次数

AWS DocumentDb 不支持 mongodb 4.0

我不知道为什么 AWS DocumentDb 不支持 3.6 以上的 MongoDB 版本?我应该使用 mongo 3.6 还是 4.0 以上?

amazon-web-services aws-documentdb-mongoapi aws-documentdb

2
推荐指数
1
解决办法
957
查看次数