本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
從 Amazon VPC 外部連線至 Amazon DocumentDB 叢集
Amazon DocumentDB (具有 MongoDB 相容性) 叢集部署在 Amazon Virtual Private Cloud (Amazon VPC) 中。Amazon EC2 執行個體或其他部署在相同 Amazon VPC 中的 AWS 服務可以直接存取這些執行個體。此外,Amazon DocumentDB 可以透過 VPCs 對等互連,由相同或其他區域中不同 VPC 中的 EC2 執行個體 AWS 區域 或其他 AWS 服務存取。
不過,假設您的使用案例要求您 (或您的應用程式) 從叢集的 VPC 外部存取 Amazon DocumentDB 資源。在這種情況下,您可以使用 SSH 通道 (也稱為連接埠轉送) 來存取 Amazon DocumentDB 資源。
不過,深入討論 SSH 通道超出本主題的範圍。如需 SSH 通道的詳細資訊,請參閱以下內容:
-
SSH 連接埠轉送範例
,具體來說是本機轉送 一節
若要建立 SSH 通道,您需要在與 Amazon DocumentDB 叢集相同的 Amazon VPC 中執行的 Amazon EC2 執行個體。 Amazon DocumentDB 您可以使用相同 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 通道後,您向 發出的任何命令localhost:27017
都會轉送至在 Amazon VPC 中執行的 Amazon DocumentDB 叢集。 sample-cluster
如果您的 Amazon DocumentDB 叢集上已啟用 Transport Layer Security (TLS),您需要從 下載 Amazon DocumentDB https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem
wget https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem
注意
新的 Amazon DocumentDB 叢集預設會啟用 TLS。不過,您可以停用它。如需詳細資訊,請參閱管理 Amazon DocumentDB 叢集 TLS 設定。
若要從 Amazon VPC 外部連線至 Amazon DocumentDB 叢集,請使用下列命令。
mongo --sslAllowInvalidHostnames --ssl --sslCAFile global-bundle.pem --username <yourUsername> --password <yourPassword>