首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过AWS opsworks设置mongodb

通过AWS opsworks设置mongodb
EN

Stack Overflow用户
提问于 2013-09-05 21:30:52
回答 2查看 2.2K关注 0票数 11

我正在尝试在AWS Opsworks上设置一个rails堆栈,我想使用mongodb作为数据库。

我想你可以通过创建一个新的定制层并将你的厨师收据添加到相关的生命周期钩子中来设置它,但我不确定应该把什么收据放在哪里。

如何通过厨师将mongodb添加到AWS Opsworks,有人能帮上忙吗?

我看到有一个社区的mongodb食谱,但从我看来,它与Opsworks不兼容。

有没有人有设置这个的经验?

有没有人能帮上忙。

谢谢你,瑞克

EN

回答 2

Stack Overflow用户

发布于 2013-11-26 02:42:03

几个月前,我尝试在OpsWorks中设置一个MongoDB 3节点副本集。我将分享一些我的经验:

1)如何安装单个MongoDB:可以使用EDelight Chef MongoDB Cookbook轻松安装单个mongodb。只需将其作为子模块添加到您的自定义opsworks chef存储库中。

要使其正常工作,请创建一个自定义图层并将其命名为MongoDB,然后执行以下步骤

  • SETUP:mongodb:10gen_repo
  • CONFIGURE:mongodb:default

这将安装最新版本的MongoDB。

注意:我使用的是Ubuntu实例。

2) MongoDB最佳实践如果您与MongoDB工程师或客户服务代表交谈,他们都会告诉您MongoDB的推荐设置是3节点副本集。这意味着希望在不同的可用区中有一个主副本和两个读副本。此外,理想的设置应该有很多内存,举个例子:你可以在亚马逊网络服务市场上找到的MongoDB提供的最小实例是一个标准的大型:

您还必须考虑在RAID10上使用EBS,也许是预留IOPS...

有关更多信息,请参阅白皮书MongoDB on AWS

3)安全注意事项理想情况下,您只希望应用程序实例访问数据库实例。在亚马逊网络服务中,您可以创建一个具有自定义规则的安全组,并将EC2实例分配给您刚刚创建的组...当涉及到OpsWorks时,它并不完全像这样,因为它迫使您拥有具有非常宽松限制的默认安全组。AWS将始终采用宽松的权限,而不是更严格的权限。

4)时间和金钱考虑如果推荐的设置是使用大型实例的3节点副本集,则数据库至少需要600美元(按需),这不包括保留的IOPS、EBS等。自动化这个设置是可能的,但并不简单。这将需要时间或该主题的专家来帮助您。如果你有足够的资源和人员来处理这个问题,那就去做吧。如果你是一个小型开发团队的一员,想要更多的代码和更少的操作,请继续往下读。

5)找到可靠的托管解决方案一开始,我不太愿意使用提供MongoDB作为服务的第三方公司。在对不同的选项(托管、AWS Marketplace、OpsWorks、直接EC2安装)进行了大量评估之后,我得出结论,对于我们的小团队来说,最好的选择是使用MongoLab或MongoHQ。它们托管和管理各种大小和价格的MongoDB实例。他们甚至让你选择托管(AWS,Rackspace等),区域和AZ。如果你只看硬件,价格会更贵,但就像我之前提到的,你不仅要考虑价格,还要考虑MongoDB需要的运行时间。

我去过那里,做过这样的事情,最终没有使用OpsWorks来托管MongodDB。希望这能帮你节省一些时间和烦恼。

票数 5
EN

Stack Overflow用户

发布于 2013-09-24 05:19:07

我刚刚在github上测试了这个存储库,它适用于MongoDB / OpsWorks。转到OpsWorks > Layers >在"Custom Chef Recipes“部分引用这个github链接"https://github.com/Cyclic/cookbooks”,然后将"yum::default“添加到设置生命周期事件中。然后将"mongodb::10gen_repo“、"mongodb::default”和"mongodb::10gen_remrepo“添加到安装生命周期事件中

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18637735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档