AWS + Elastic Beanstalk + MongoDB

时间:2017-03-15 02:58:52

标签: mongodb amazon-web-services amazon-ec2 elastic-beanstalk amazon-vpc

我正在尝试使用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将具有2个副本节点设置的主节点启动到默认VPC中,但这会为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 个答案:

答案 0 :(得分:0)

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