Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 通过AWS opsworks设置mongodb_Ruby On Rails_Mongodb_Amazon Web Services_Chef Infra_Aws Opsworks - Fatal编程技术网

Ruby on rails 通过AWS opsworks设置mongodb

Ruby on rails 通过AWS opsworks设置mongodb,ruby-on-rails,mongodb,amazon-web-services,chef-infra,aws-opsworks,Ruby On Rails,Mongodb,Amazon Web Services,Chef Infra,Aws Opsworks,我正在尝试在AWS Opsworks上设置rails堆栈,并希望使用mongodb作为数据库 我认为您可以通过创建一个新的自定义层并将您的chef Receipt添加到相关的生命周期挂钩中来设置它,但我不确定要将哪些收据放在哪里 有人能帮助我们通过厨师将mongodb添加到AWS Opsworks吗 我看到有一本社区mongodb食谱,但从我看到它与Opsworks不兼容 有没有人有过设置这个的经验 请任何人帮忙 非常感谢 Rick我刚刚在github上测试了这个回购协议,它适用于MongoDB

我正在尝试在AWS Opsworks上设置rails堆栈,并希望使用mongodb作为数据库

我认为您可以通过创建一个新的自定义层并将您的chef Receipt添加到相关的生命周期挂钩中来设置它,但我不确定要将哪些收据放在哪里

有人能帮助我们通过厨师将mongodb添加到AWS Opsworks吗

我看到有一本社区mongodb食谱,但从我看到它与Opsworks不兼容

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

请任何人帮忙

非常感谢
Rick

我刚刚在github上测试了这个回购协议,它适用于MongoDB/OpsWorks。转到“自定义厨师配方”部分中的OpsWorks>Layers>,引用此github链接“”,然后将“yum::default”添加到安装生命周期事件中。然后将“mongodb::10gen_repo”、“mongodb::default”和“mongodb::10gen_remrepo”添加到设置生命周期事件中

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

1)如何安装单个MongoDB: 使用安装工具安装单个mongodb是可能且容易的。只需将其作为子模块添加到自定义opsworks chef存储库中即可

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

  • 设置:mongodb:10gen\u repo
  • 配置:mongodb:默认值
这将安装最新版本的MongoDB

注意:我使用了Ubuntu实例

2)MongoDB最佳实践 如果您与MongoDB工程师或客户服务代表交谈,他们都会告诉您,MongoDB的建议设置为3节点副本集。这意味着一个主副本和两个读取副本可能位于不同的可用性区域。另外,一个理想的设置会有大量RAM,举个例子:在AWS市场上,MongoDB提供的最小实例是一个标准的大型:

<>你也必须考虑使用EBS在RAID10上,也许保留IOPS…

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

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

4)时间和金钱考量 如果建议的设置是使用大型实例的3节点副本集,则DB的成本至少为600美元(按需),这不会添加保留IOPS、EBS等。自动化此设置是可能的,但并不简单。这将需要时间或专家在这个问题上让你去。如果你有足够的资源和人员来处理这件事,那就去做吧。如果您是一个小型开发团队的一员,希望更多地编写代码,更少地执行操作,请继续阅读

5)找到可靠的托管解决方案 起初,我不愿意使用提供MongoDB服务的第三方公司。在对不同选项(托管、AWS Marketplace、OpsWorks、直接EC2安装)进行了大量评估后,我得出结论,对于我们的小团队来说,最好使用MongoLab或MongoHQ。它们托管和管理各种大小和价格的MongoDB实例。它们甚至允许您选择主机(AWS、机架空间等)、区域和AZ。如果你只看硬件,价格就更贵了,但是就像我之前提到的,你必须考虑的不仅仅是价格,还有MunGDB需要的运行时间。p>
我去过那里,做到了这一点,最终没有使用OpsWorks来主持MongodDB。希望这能为你节省一些时间和头痛

你最后做了什么?