如何解决无法从我的本地 node.js 服务器连接 aws documentdb
当前状态:
我已经创建了一个 documentdb 集群。 为安全组添加了一个入站规则,以允许来自任何地方的所有流量。 为集群禁用 TLS
尝试在此之后连接到数据库 https://docs.aws.amazon.com/documentdb/latest/developerguide/connect_programmatically.html
但抛出以下错误:
(node:45892) UnhandledPromiseRejectionWarning: MongoNetworkError: failed to connect to server [aacb-c1.cluster-c3ggyumy9pd2.us-east-2.docdb.amazonaws.com:27017] on first connect [MongoNetworkTimeoutError: connection timed out
解决方法
当你说从你的“本地 node.js 服务器”连接时,你的意思是在你自己的电脑上运行的东西吗?如果是这样,我相信即使您向入站安全组添加了规则也不会起作用,因为 DocumentDB 在其自己的 VPC 中运行。
这里有一个指南(您基本上还需要在 AWS 中运行 node.js 服务器):https://docs.aws.amazon.com/documentdb/latest/developerguide/connect-from-outside-a-vpc.html
,Amazon DocumentDB 仅限 Virtual Private Cloud (VPC),目前不支持公共终端节点。因此,如果您尝试从机器本地运行的 Node 服务器进行连接,它将无法公开访问 Amazon DocumentDB。
替代选项:
-
您可以使用 SSH 隧道从本地环境进行连接。要创建 SSH 隧道,您需要一个与 Amazon DocumentDB 集群在同一 Amazon VPC 中运行的 Amazon EC2 实例。您可以参考此处的说明:https://docs.aws.amazon.com/documentdb/latest/developerguide/connect-from-outside-a-vpc.html
-
您可以尝试从在包含 Amazon DocumentDB 集群的同一 VPC 中创建的 EC2 实例(安装了 Node)运行您的应用程序。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。