11

AWS Opsworks で Rails スタックをセットアップしようとしていますが、データベースとして mongodb を使用したいと考えています。

新しいカスタムレイヤーを作成し、シェフの領収書を関連するライフサイクルフックに追加することでこれを設定したと思いますが、どの領収書をどこに置くべきかわかりません。

シェフを介して AWS Opsworks に mongodb を追加する方法を手伝ってくれる人はいますか?

コミュニティ mongodb のクックブックがあることを確認しましたが、Opsworks と互換性がないことがわかります。

誰もこれを設定した経験がありますか?

誰でもこれを手伝ってください。

どうもありがとう リック

4

2 に答える 2

5

数か月前に、OpsWorks で MongoDB の 3 ノード レプリカ セットをセットアップしようとしました。私の経験を少し共有します。

1) 単一の MongoDB をインストールする方法: EDelight Chef MongoDB Cookbook を使用して、単一の mongodb を簡単にインストールできます。カスタム opsworks シェフ リポジトリにサブモジュールとして追加するだけです。

それを機能させるには、カスタムレイヤーを作成してMongoDBと呼び、次のレシピを実行します

  • セットアップ: mongodb:10gen_repo
  • 構成: mongodb :デフォルト

これにより、MongoDB の最新バージョンがインストールされます。

注: Ubuntu インスタンスを使用しました。

2) MongoDB のベスト プラクティス MongoDB のエンジニアやカスタマー サービス担当者と話すと、MongoDB の推奨セットアップは 3 ノードのレプリカ セットであることがわかります。これは、1 つのマスターと 2 つのリード レプリカが異なるアベイラビリティ ゾーンにあることを意味します。また、例を挙げると、理想的なセットアップには大量の RAM があります。AWS マーケットプレイスで見つけることができる MongoDB によって提供される最小のインスタンスは、標準的な大規模です。

AWS マーケットプレイスの MongoDB インスタンス

また、RAID10 で EBS を使用することを検討する必要があります。おそらく予約済み IOPS です...

詳細については、ホワイト ペーパーMongoDB on AWSを参照してください。

3) セキュリティに関する考慮事項 理想的には、アプリケーション インスタンスのみが DB インスタンスにアクセスできるようにします。AWS では、カスタム ルールを使用してセキュリティ グループを作成し、作成したばかりのグループに EC2 インスタンスを割り当てることができます... OpsWorks に関しては、非常に緩い制限を持つデフォルトのセキュリティ グループを使用する必要があるため、これとは異なります。AWS は常に、厳格なものよりも緩い権限を採用します。

4) 時間と費用に関する考慮事項 推奨される設定が、大規模なインスタンスを使用する 3 ノードのレプリカ セットである場合、DB に少なくとも 600 ドル (オンデマンド) が必要であり、これにより予約済み IOPS や EBS などが追加されることはありません。このセットアップを自動化することは可能ですが、単純ではありません。あなたを動かすには、時間か、その分野の専門家が必要です。これに対処するリソースと人員がいる場合は、それを選択してください。あなたが小さな開発チームの一員であり、より多くのコーディングを行い、操作を減らしたい場合は、読み進めてください。

5) 信頼できるマネージド ソリューションを見つける 最初は、MongoDB をサービスとして提供するサード パーティの会社を利用するという考えに消極的でした。さまざまなオプション (マネージド、AWS Marketplace、OpsWorks、EC2 の直接インストール) を十分に評価した結果、私たちの小さなチームにとって最善の方法は MongoLab または MongoHQ のいずれかを使用することであると結論付けました。すべてのサイズと価格の MongoDB インスタンスをホストおよび管理します。ホスティング (AWS、Rackspace など)、リージョン、および AZ を選択することもできます。価格的にはハードウェアだけで考えると割高になりますが、前述したように価格だけでなくMongoDBの運用時間も考慮する必要があります。

私はそこに行って、それを行い、MongodDB をホストするために OpsWorks を使用しなくなりました。うまくいけば、これで時間と頭痛の種を節約できます。

于 2013-11-25T18:42:03.247 に答える
1

このリポジトリを github でテストしたところ、MongoDB / OpsWorks で動作します。OpsWorks に移動 > レイヤー > 「カスタム Chef レシピ」セクションで、この github リンク「https://github.com/Cyclic/cookbooks」を参照し、セットアップ ライフサイクル イベントに「yum::default」を追加します。次に、「mongodb::10gen_repo」「mongodb::default」および「mongodb::10gen_remrepo」を Setup ライフサイクル イベントに追加します。

于 2013-09-23T21:19:06.803 に答える