2011-02-23 8 views
8

mongodbが、(最も多分に)最もインテリジェントで、安全で、安価なバックアップ戦略である(幾分)書き込まれているEC2インスタンスで実行している場合。AWSのMongoDBバックアップ戦略

私の関心は... EC2インスタンスがダウンした場合、あなたがディスクに書き込まれたすべてのデータを失うこと

答えて

1

である私たちは、EBSに格納されたデータとレプリカセットと(少なくとも2)Linuxインスタンスを使用します(http:/ /www.mongodb.org/display/DOCS/Replica+Sets)。

+1

あなたはEBSスナップショットにはどうすればよいことが多いですか? – ComputationalSocialScience

+6

レプリケーション!=バックアップ – Qualcuno

3

10gen(MongoDB開発者)よりも優れたユーザーがあなたに応答します。

EC2インスタンスのMongoDBバックアップに関する公式のドキュメントは、folloginサイトで確認できます。 http://docs.mongodb.org/ecosystem/platforms/amazon-ec2/

これらは、EBSスナップショットを示唆しています。このソリューションでは、データベースの「写真」を使用して数秒で開始インスタンスを作成できます。

+0

彼らはそこでそれを行うための自動スクリプト/ラムダを提供しませんが、EC2のバックアップのための特別なチュートリアルを持っています:[EC2バックアップ](https://docs.mongodb.com/ecosystem/tutorial/backup -and-restore-mongodb-on-amazon-ec2 /) –

6

古い質問ですが、私は実際の成功事例に関する詳細や情報を提供することができます。

私は、3つのT2.microインスタンスで実行される3つのMongodbを持っています.1つのインスタンスがプライマリです.1つのインスタンスがセカンダリで、1つのインスタンスが永続的なEBSと遅延します(4時間ごとに同期します)。再起動後に削除されません)。 4.5時間ごと私は遅延インスタンスのEBSスナップショットを作成し、S3バケットに送信するラムダプロセスを開始します。 これはかなりうまくいきます。

助けることができるいくつかのリンク:

+0

各マシンで単一のEBSボリュームを使用していますか?/data:フォルダを構成するEBSボリューム(RAID)が複数ある場合、スナップショットに問題がある可能性があります。スナップショットが同期中に発生することがあります。あなたの「遅れた」ものがここでどのように役立つのか、私は本当に理解していません。 [MongoDB Docs on EC2](https://docs.mongodb.com/ecosystem/tutorial/backup-and-restore-mongodb-on-amazon-ec2/)もDBのロックを提案していますが、これはあなたのリンクでカバーされています。 –

+0

私のシナリオでは、遅延はずっと便利です。とにかく、あなたが言ったように、EBSスナップショットの前にrs.fsyncLock()を実行する必要があります。私の環境では、EBSスナップショットの前にラムダからリモートでrs.fsyncLock()を実行します。私はそのようなことを解決するために何をしたのかを説明するミディアムポストを書くことを考えています。例えば、HTTPコマンドを受信して​​Mongodbで実行するNode.jsを作成し、ラムダから呼び出して、 rs.fsyncLock()。 – danilodeveloper

+0

...各EC2に1つのEBSボリュームが添付されています – danilodeveloper