为什么我应该在 AWS EC2 集群中封装 MongoDB Atlas,而不是通过 URL 从我的应用程序连接?

Why Should I Encapsulate MongoDB Atlas in a AWS EC2 Cluster Instead of Connecting From My App via URL?

我正在从头开始构建我的第一个应用程序,我决定使用 MongoDB 作为主数据库。 我已经在 AWS ElasticBeanstalk 和 Docker 中设置了一个 MongoDBAtlas 实例以及我的 Python 应用程序。现在我正在尝试将应用程序连接到 MongoDBAtlas,因此查阅了一些教程,找到了一个实际上在 MongoDBAtlas 实例上设置对等连接,然后将该实例部署到新的 AWS ElasticBeanstalk 通过 VPC/Security 组规则访问的 EC2 集群。

当我可以在我的 Python 应用程序中添加以下 URL 访问时,为什么教程要教授 MongoDBAtlas 的所有 AWS 内容?

client = MongoClient("mongodb+srv://<username>:<password>@trialcluster.mongodb.net")

我可以为每个环境制作不同的数据库,并使用环境变量相应地更改连接 URL,不是吗?

您可以直接连接,这样就可以了。通过 VPC(虚拟专用连接)作为您的应用程序和数据库进行连接更安全,并且免受外部干扰。对于第一个应用程序,它并不是真正必要的(就此而言,Beanstalk 或 Docker 也不是)。

只要您 [white list your IP][1] 在 Atlas 中找到地址,您也可以从桌面 运行 这个应用程序。