15

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

然后你可以从 mongo shell 连接:

mongo --sslAllowInvalidHostnames --ssl --sslCAFile rds-combined-ca-bundle.pem --username <yourUsername> --password <yourPassword> 

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

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

4

1 回答 1

23

我只使用 MongoDB Compass (Community, v. 1.16.4) 完成了这项工作,而没有通过外部工具创建隧道。

首先,从https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem下载 AWS 的证书 。我从以下网址获得此链接: https ://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html

还要确保您可以从 EC2 实例访问您的 DocDB 集群。为此,请查看为您的 DocDB 集群指定的安全组设置。鉴于您能够使用 mongo shell 获得访问权限,您应该拥有它。

然后在 MongoDB Compass 的连接屏幕上指定以下内容(以您的凭据为例):

  • 主机名:sample-cluster.cluster-cu52jq5kfddg.us-east-1.docdb.amazonaws.com
  • 端口:27017
  • 身份验证:用户名/密码
  • 用户名:YourDocDBUsername
  • 密码:YourDocDBUserPassword
  • SSL:服务器验证
  • 证书颁发机构:(选择下载的 rds-combined-ca-bundle.pem)
  • SSH 隧道:使用身份文件
  • SSH 主机名:ec2-34-229-221-164.compute-1.amazonaws.com
  • SSH 隧道端口:22
  • SSH 用户名:ubuntu
  • SSH 身份文件:ec2Access.pem
于 2019-02-25T10:05:23.627 回答