

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 從 Amazon VPC 外部連線至 Amazon DocumentDB 叢集
<a name="connect-from-outside-a-vpc"></a>

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 通道](https://www.ssh.com/ssh/tunneling/) 
+ [SSH 連接埠轉送範例](https://www.ssh.com/ssh/tunneling/example)，具體來說是[本機轉送](https://www.ssh.com/ssh/tunneling/example#sec-Local-Forwarding)一節

若要建立 SSH 通道，您需要在與 Amazon DocumentDB 叢集相同的 Amazon VPC 中執行的 Amazon EC2 執行個體。 Amazon DocumentDB 您可以使用相同 VPC 中現有的 EC2 執行個體做為您的叢集，或建立一個叢集。如需詳細資訊，請參閱適用您作業系統的主題：
+ [ Amazon EC2 Linux 執行個體入門](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html)
+ [ Amazon EC2 Windows 執行個體入門](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html)

通常您可能會使用下列命令連接到 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](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 設定](security.encryption.ssl.md#security.encryption.ssl.managing)。

若要從 Amazon VPC 外部連線至 Amazon DocumentDB 叢集，請使用下列命令。

```
mongo --sslAllowInvalidHostnames --ssl --sslCAFile global-bundle.pem --username <yourUsername> --password <yourPassword> 
```