【问题标题】:Jump box to MongoDB Atlas with VPC Peering使用 VPC 对等连接跳转到 MongoDB Atlas
【发布时间】:2021-06-06 16:35:24
【问题描述】:

我有一个 Mongodb Atlas 数据库,它设置有 VPC 与 AWS 中的 VPC 对等。这有效,我可以从 VPC 内部访问它。不过,我希望提供一个 jumpbox,以便开发人员可以使用 SSH 隧道从 VPC 外部的工作站连接到 Atlas 数据库。

Developer workstation --> SSH Tunnel to box in VPC --> Atlas

我遇到了麻烦,但是因为我不确定我需要设置什么隧道。在我看来,Mongo 是通过在 DNS 种子列表 (mongodb+srv://) 中查找副本信息来连接的。所以不是那么简单

ssh user@jumpbox -L 27017:env.somehost.mongodb.net:27017

有没有办法在 Atlas 上启用直接连接,以便开发人员能够通过 SSH 隧道访问此数据库?

【问题讨论】:

    标签: mongodb amazon-web-services mongodb-atlas


    【解决方案1】:

    对于副本集连接,这不仅仅适用于 MongoDB 和驱动程序,但您可以尝试在 jumpbox 上运行类似 https://github.com/coinbase/mongobetween 的代理。

    对于独立部署,您可以通过隧道连接,因为驱动程序使用您提供的地址,仅此而已。使用directConnection URI 选项强制独立连接到任何部署的节点。虽然这允许您连接到任何节点,但您必须为副本集连接到正确的节点(您不能写入辅助节点),因此这种方法对于副本集部署的实用性有限。

    对于不在 Atlas 上的 mongos 部署,适用独立行为。使用 Atlas 发布了驱动程序 follows 的 SRV 记录,因此出于隧道目的,Atlas 分片集群的行为类似于副本集,您不能简单地代理到它的连接。 mongobetween 也可以在这种情况下工作。

    【讨论】:

      猜你喜欢
      • 2021-12-20
      • 2020-12-07
      • 2020-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多