robo3t - 如何使用 Robo 3T 连接到 AWS Documentdb?
问题描述
使用最新的 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
解决方案
我怀疑正在发生的事情是,要么您在与 DocumentDB 集群相同的 VPC 中没有 EC2 实例,要么您的笔记本电脑无法访问 EC2 实例。我首先使用 SSH 连接到 EC2 实例以建立连接,然后使用该 EC2 实例从 Robo3T 连接到 SSH 代理。
就上下文而言,部署在 VPC 中的 Amazon DocumentDB 集群可以由部署在同一 VPC 中的 EC2 实例或其他 AWS 服务直接访问。此外,同一区域或其他区域的不同 VPC 中的 EC2 实例或其他 AWS 服务可以通过 VPC 对等访问 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 分钟时自动关闭它,以帮助节省成本。
推荐阅读
- html - 在css中如何在一个div之间居中一个div而不触及父div的属性,只改变子div的属性
- recommendation-engine - 什么时候使用用户-用户协同过滤,什么时候使用Item-Item协同过滤?
- woocommerce - 如何编写一个 foreach 循环来检查用户在 Woocommerce 中购买特定商品的次数?
- ssl-certificate - 如何使用 Selenium ChromeDriver 解决无效证书错误?
- javascript - Jquery mouseover 重新排列 div 中的类,然后用 mouseleave 重置
- google-apps-script - 谷歌脚本循环问题
- excel - 如何将数据移动到另一个工作表
- ruby-on-rails - ActionController::RoutingError(没有路由匹配 [POST]
- json - Angular 7 - 无法从资产中读取 JSON 文件
- java - 解析颜色不再使用十六进制值