AWS + Elastic Beanstalk + MongoDB

Posted

技术标签:

【中文标题】AWS + Elastic Beanstalk + MongoDB【英文标题】: 【发布时间】:2017-08-05 15:16:18 【问题描述】:

我正在尝试使用 AWS Elastic Beanstalk 和 Docker 设置我的微服务架构。这很容易做到,但是当我启动环境时,它会启动到默认 VPC,从而为实例提供公共 IP。目前,这不是太大的问题。

我遇到的问题是如何设置 MongoDB 架构。我已阅读:recommended way to install mongodb on elastic beanstalk 但仍不确定如何设置。

到目前为止我已经尝试过:

在此处使用来自 AWS 的 CloudFormation 模板:http://docs.aws.amazon.com/quickstart/latest/mongodb/step2b.html 在默认 VPC 中启动具有 2 个副本节点设置的主节点,但这会授予并分配对 Mongo 节点的公共访问权限。我也不确定如何连接我的应用程序,因为这不会添加 NAT 实例 - 我只是直接连接到主节点吗?万一这个节点出现故障,从节点的IP会和主节点的IP一样,这样所有的连接都保持一致吗?还是我需要添加自己的 NAT 实例? 我还尝试将 MongoDB 启动到它自己的 VPC (https://docs.aws.amazon.com/quickstart/latest/mongodb/step2a.html) 并通过 NAT 提供访问权限,但这意味着有两个不同的 VPC(一个用于我的 EB 实例,一个用于 MongoDB)。在这种情况下,我是否可以从我的 EB VPC 连接到 NAT,以便将请求路由到数据库? 我还尝试先为 MongoDB 架构启动一个新的 VPC,然后尝试将 EB 启动到这个 VPC 中。出于某种原因,负载平衡设置不允许我添加到子网中,给我一个错误:“VPC 环境不支持自定义可用区选项”。

我正在尝试在 us-west-1 中启动所有这些。现在已经两天了,我不知道去哪里或解决这个问题的正确方法是什么。我希望数据库是私有的(没有公共访问),带有 NAT 网关,所以理想情况下,我的第三种方法似乎是我想要的,但我似乎无法将新的 EB 实例/负载均衡器添加到新创建的 MongoDB VPC 中。这是我要进行的设置:http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/images/default-vpc-diagram.png 但我正在尝试使用模板来执行此操作。

我在这里做错了什么?任何帮助将不胜感激。我已经阅读了很多关于这方面的内容,但仍然不确定从这里去哪里。

提前非常感谢!

【问题讨论】:

【参考方案1】:

我也有同样的问题。似乎完全缺乏关于如何将 Elastic Beanstalk node.js / express 应用程序与 aws Quickstart mongodb 集群设置文档连接起来的文档。 当我运行 aws mongo 快速入门时,虽然它启动了一个 NAT,它是公共的,也是一个私有主节点......也许这是你问题的一部分?

【讨论】:

以上是关于AWS + Elastic Beanstalk + MongoDB的主要内容,如果未能解决你的问题,请参考以下文章

AWS Elastic Beanstalk CLI 安装错误

text AWS Elastic Beanstalk

HTTPS Elastic Beanstalk (AWS) 到 Android

AWS Elastic Beanstalk 无法担任角色

AWS Elastic Beanstalk

AWS Elastic Beanstalk chown PythonPath 错误