在AWS ECS上部署MEAN webapp的最佳方式

时间:2018-03-31 05:08:32

标签: mongodb amazon-web-services docker amazon-ec2 amazon-ecs

我有一个非常简单的节点应用程序和mongo数据库,并且想知道使用AWS部署它的最佳方式。

我一直试图将前端和mongo放在两个单独的任务定义上,并将它们部署到同一个集群(前面是ELB的前端),但我很难连接容器因为你不能只是链接容器,如果它们在单独的任务定义中。

这是一款非常简单的HTML5游戏,因此它经常对数据库进行更新,但更新基本上只是点数更改。这个游戏可能只适用于节点应用程序的一个小型实例和mongo的另一个实例,但我希望为更大的未来项目学习“最佳实践”(或更可能是体面的实践)。

我正在考虑部署的其他一些方法(总是将前端放在ELB后面并自动调整mongo和前端):

  • 对节点应用进行Docker化,然后将mongo部分作为非容器化的EC2实例启动
    • 关注缩放 - >如果我需要另一个实例,如何将我的前端连接到两个实例并在它们之间保留数据(ELB?)?

  • 对节点应用和mongo进行Docker化并放入相同的群集
    • 如果我把它们放在相同的任务定义中,那么我相信它们都必须一起扩展,这似乎很奇怪
    • 我尝试将它们放在单独的任务定义中然后放在同一个集群中但是我无法将我的前端容器连接到我的mongo容器 - 你不能在单独的任务定义中链接容器而我已经尝试了我能找到的每个URL / IP连接它们并且它不起作用(我有一个问题讨论这个问题here
      • 我是否应该将mongo放在ELB后面并使用ELB DNS连接我的节点应用程序?

  • 对节点应用和mongo进行Docker化,并将它们放在不同的群集中
    • 还没有尝试过,但我想我会遇到尝试连接容器的同样问题

感谢您的帮助!

0 个答案:

没有答案