从亚马逊外部连接到亚马逊文档数据库集群 VPC - Amazon DocumentDB

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

从亚马逊外部连接到亚马逊文档数据库集群 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>