如何使用Robo 3T连接到AWS Documentdb?

时间:2019-08-09 21:31:24

标签: robo3t aws-documentdb

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

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

我收到此错误:

  

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

我也尝试过THIS演练,但没有任何乐趣。

我已经阅读到可以在同一VPC上SSH到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 个答案:

答案 0 :(得分:0)

我怀疑正在发生的情况是,您在与DocumentDB群集相同的VPC中没有EC2实例,或者您的笔记本电脑无法访问EC2实例。我先使用SSH连接到EC2实例以建立连接,然后使用该EC2实例从Robo3T到SSH代理。

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

在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 Cloud9:https://docs.aws.amazon.com/documentdb/latest/developerguide/connect-with-cloud9.html。此解决方案仍然需要与您的Amazon Document在同一VPC中的EC2实例。此解决方案的有用之处在于,Cloud9提供了一种机制,可以在EC2实例空闲30分钟后自动关闭它,例如,以帮助节省成本。