无法从 ec2 中的 mongo shell 连接到启用了 aws documentdb ssl 的集群,该集群与集群位于同一 vpc

问题描述

我使用以下命令作为 aws 建议下载 rds-combined-ca-bundle.pem 文件并连接到集群。

wget https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem

mongo --ssl --host docdb-2021-03-29-09-23-57.cluster-cqwdgjnpay32.ap-south-1.docdb.amazonaws.com:27017 --sslCAFile rds-combined-ca- bundle.pem --username docudbadmin --password *****

得到以下内容

错误:无法连接到服务器 docdb-2021-03-29-09-23-57.cluster-cqwdgjnpay32.ap-south-1.docdb.amazonaws.com:27017,连接尝试失败:HostUnreachable:连接对等重置: connect@src/mongo/shell/mongo.js:353:17 @(连接):2:6 异常:连接失败

但是,如果没有在集群组中启用 tls 和 tls_monitor 参数,我可以通过 mongo shell 从 ec2 连接。

解决方法

在 Amazon DocumentDB 中,修改 tls 参数需要重新启动才能使更改生效。因此,可以修改参数,在集群上仍然有待处理的更改,并且仍然能够在没有 TLS 的情况下进行连接。建议重启集群中的所有实例,以使待定更改在集群中生效,然后再次尝试使用 TLS 连接。