本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
从亚马逊外部连接到亚马逊文档数据库集群 VPC
亚马逊 DocumentDB(兼容 MongoDB)集群部署在亚马逊虚拟私有云(亚马逊)中。VPCAmazon EC2 实例或其他部署在同一 Amazon 中的 AWS 服务可以直接访问它们VPC。此外,同一 AWS 区域 区域或其他区域中不同VPCs地区的EC2实例或其他 AWS 服务可以通过对等互连访问 Amazon Docu VPC mentDB。
但是,假设您的用例要求您(或您的应用程序)从集群外部访问您的 Amazon DocumentDB 资源。VPC在这种情况下,您可以使用SSH隧道(也称为端口转发)来访问您的 Amazon DocumentDB 资源。
深入讨论SSH隧道挖掘超出了本主题的范围。有关SSH隧道的更多信息,请参阅以下内容:
要创建SSH隧道,您需要一个与您的亚马逊文档数据库集群在同一个亚马逊VPC上运行的亚马逊EC2实例。您可以使用与集群VPC相同的现有EC2实例,也可以创建一个。有关更多信息,请参阅适合您的操作系统的主题:
通常,您可以使用以下命令连接到EC2实例。
ssh -i "ec2Access.pem" ubuntu@ec2-34-229-221-164.compute-1.amazonaws.com
如果是,您可以sample-cluster.node.us-east-1.docdb.amazonaws.com
通过在本地计算机上运行以下命令来设置通往 Amazon DocumentDB 集群的SSH隧道。-L
标志用于转发本地端口。使用SSH隧道时,我们建议您使用集群终端节点连接到集群,不要尝试以副本集模式(即在连接字符串replicaSet=rs0
中指定)进行连接,因为这会导致错误。
ssh -i "ec2Access.pem" -L 27017:sample-cluster.node.us-east-1.docdb.amazonaws.com:27017 ubuntu@ec2-34-229-221-164.compute-1.amazonaws.com -N
创建SSH隧道后,您向其发出的任何命令都将转发到在亚马逊中sample-cluster
运行localhost:27017
的 Amazon DocumentDB 集群。VPC如果您的 Amazon DocumentDB 集群启用了传输层安全 (TLS),则需要从中下载亚马逊文档数据库的公钥。https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem
wget https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem
注意
TLS默认情况下,新的 Amazon DocumentDB 集群处于启用状态。但是,您可以将其禁用。有关更多信息,请参阅 管理亚马逊 DocumentDB 集群设置 TLS。
要从亚马逊外部连接到您的亚马逊文档数据库集群VPC,请使用以下命令。
mongo --sslAllowInvalidHostnames --ssl --sslCAFile global-bundle.pem --username <yourUsername> --password <yourPassword>