当前位置: 首页 > 知识库问答 >
问题:

如何用Robo 3T连接AWS Documentdb?

洪知
2023-03-14

使用最新的 Robo 3T 和 AWS 提供的命令行

mongodb://<dbname>:<insertYourPassword>@example-db.cluster-c2e1234stuff0e.eu-west-2.docdb.amazonaws.com:27017

我得到这个错误:

原因:SSL隧道故障:网络无法访问或服务器拒绝SSL连接。原因:连接失败

我也尝试按照这个演练,但没有乐趣。

我了解到,可以通过SSH连接到同一VPC上的EC2实例,并以这种方式访问documentdb,但理想情况下,我希望直接访问它,而不需要额外支付EC2实例的费用。如果我有权利的话?

我也尝试过通过Mongo shell,并得到以下响应:

Error: couldn't connect to server example-db.cluster-c2eblahblaho0e.eu-west-2.docdb.amazonaws.com:27017, connection attempt failed: NetworkTimeout: Error connecting to example-db.cluster-c2eblahblaho0e.eu-west-2.docdb.amazonaws.com:27017 (<IP address>) :: caused by :: Socket operation timed out :
connect@src/mongo/shell/mongo.js:344:17
@(connect):2:6
exception: connect failed

共有1个答案

沈曜灿
2023-03-14

我怀疑正在发生的事情是,要么您的DocumentDB集群中没有EC2实例,要么您的笔记本电脑无法访问该EC2实例。我首先使用SSH连接到EC2实例以建立连接,然后使用该EC2实例从Robo3TSSH代理。

对于上下文,部署在 VPC 中的 Amazon DocumentDB 集群可由部署在同一 VPC 中的 EC2 实例或其他 AWS 服务直接访问。此外,Amazon DocumentDB 可以通过 VPC 对等互连由同一区域或其他区域中不同 VPC 中的 EC2 实例或其他 AWS 服务访问。

在VPC中部署集群的优点是VPC为Internet提供了强大的网络边界。从笔记本电脑连接到DocumentDB的一种常见方法是在与DocumentDB集群相同的VPC中创建一个EC2实例,并通过该EC2实例SSH隧道到集群:https://docs.aws.amazon.com/documentdb/latest/developerguide/connect-from-outside-a-vpc.html

为了最小化本地开发成本,请从最小的EC2实例大小开始,并在不使用集群时使用启动/停止功能

DocumentDB也可以这样做。在开发过程中,您可以通过在不再需要集群时停止集群来节省实例成本:https://docs.aws.amazon.com/documentdb/latest/developerguide/db-cluster-stop-start.html

另一种方法是使用AWS cloud 9:https://docs . AWS . amazon . com/Document db/latest/developer guide/connect-with-cloud 9 . html。这种解决方案仍然需要在Amazon文档所在的VPC中有一个EC2实例。这个解决方案的有用之处在于,Cloud9提供了一种机制,可以在EC2实例空闲30分钟时自动关闭它,以帮助节省成本。

 类似资料:
  • rank ▲ ✰ vote url 80 336 196 470 url 如何连接MySQL? 在python程序里如何链接MySQL数据库? 连接MYSQL需要3步 1 安装 你必须先安装MySQL驱动.和PHP不一样,Python只默认安装了SQLite的驱动.最常用的包是MySQLdb但是用easy_install安装很困难. 对于Window用户,你可以获取MySQLdb的exe. 对于L

  • 我正在尝试连接到LDAP以对用户进行身份验证。下面是我的代码,但是我不能使用我的C#代码设置SSL。 我从我的应用程序安全小组收到一条消息,我正在发送普通密码,所以我试图通过将身份验证类型设置为安全来保护它,通过尝试将选项设置为 但是我在连接对象中没有看到任何Sessionoption,我正在使用novel.LDAP dll进行LDAP操作。 有谁能帮帮我吗?如何在网络上以安全的方式发送密码供ld

  • 问题内容: 我有一个问题,如果mySQL Server在“睡眠时间” 500秒后终止了会话,则下一个请求不会成功。如果mySQL Server没有关闭睡眠连接,则可能在700秒后发生相同的问题。 我能做什么?遵循我的persistence.xml的属性 如果重要的话,transactiontype为RESOURCE_LOCAL。 问题答案: 您如何配置连接池?如果它是服务器数据源,则应在服务器中设

  • 如何为Kafka连接器启用jmx度量?我正在运行分布式连接。 我通过在中启用,为Kafka启用了jmx度量。 现在,尽管它已经开始为我提供很多与 Kafka 相关的指标,但我仍然看不到以下链接 http://kafka.apache.org/documentation.html#connect_monitoring 中提到的连接器特定指标。 下列域可用 JM实施 com.sun公司。管理 java

  • 下面的代码片段是从JoinedStreams的javadoc复制的 这两个流仅基于一个键(通过< code>t =计算)进行连接 我会问我如何基于多个键进行连接,例如,one.a = two.a和

  • 我有访问密钥、密钥、区域和dynamo DBendpoint,通过它们我可以连接到数据库,并且我在应用程序中保留了配置。属性文件。现在的要求是不在应用程序中保留访问密钥和密钥。属性文件并遵循AWS STS中的Web标识令牌。我已从应用程序中删除访问密钥和密码。属性文件,并具有以下配置。当我启动应用程序时,我收到以下消息 考虑定义COM类型的bean。亚马逊。服务。发电机BV2。AmazonDyna

  • 问题内容: 我这样做是为了连接cassandra。但是我的代码返回了错误。这是我的代码 这是错误日志.. 无法在项目CassandraConnection上执行目标:无法解析项目com.mycompany:CassandraConnection:jar:1.0-SNAPSHOT的依赖项:无法解析以下工件:org.specs2:scalaz- effect_2.11.0-SNAPSHOT:jar:7

  • 我正在制作一个实时多人游戏socket.io和node.js,我有一个html文件,运行一个公共脚本连接到服务器并运行命令,以及定义我需要的库