web-dev-qa-db-ja.com

EC2-共有ストレージ-S3FSまたはEBS?

今すぐEC2にWebサービスを構築し、ロードバランサーの背後に単一のインスタンスを配置します。もちろん、複数のインスタンスに対応します。

私の最初のアイデアは、すべてのインスタンスをダムスレーブで実行し、S3をローカルストレージとして使用することでした。このために、私はS3FSを使い始めましたが、私が見たところ、Webサービス環境での実稼働での使用にはまだ準備ができていません。ログの書き込みは、決してないにしても、非常に遅く表示されるようです。キャッシュフラグなどがなくても、奇妙なキャッシュに関する多くの問題。開発するのは一般的に悪夢です。

しかし、選択肢はほとんどありません。 1つは明らかにEBSボリュームであり、単一のインスタンスに接続できます。これを共有するためのいくつかの解決策:-

  • 他のインスタンスへのSMB共有。 1つのマスターと残りのスレーブがあります-obvには、おそらく複数のEBSボリュームを備えた冗長性がここに組み込まれている必要がありますか?
  • 他のボックスへのRsync共有。これは永続的ではなく、定期的に更新されることを考えると、苦痛に思えます。大きな変更が発生したときにスクリプトを強制的に更新する場合は、問題ない可能性があります。

質問は...人々は何をしますか?これは完全に一般的な使用例のようですが、フォーラムやここSFでさえ見られるさまざまな回答は、簡潔な回答がないことを示唆しているようです...助けが必要です!

9
waxical

これは、オプションに精通していること、快適なこと、共有していること、同期される頻度、必要な「同期」、方法に応じて、多くの回答があるためです。利用されます(ハートビート用にスペア?読み取り専用と書き込みインスタンス?バランスの取れたインスタンス?)、セットアップをどの程度複雑にするか、使用するアプリケーション(自分自身を同期できるデータベース?共有ストレージ用に構築されたアプリケーション) ?...)

Rsyncを使用して、同期、ファイルサーバー、NFSサーバー、DRBD「ソフトウェアRAID 1」などからの共有をスケジュールできます。これは、特定のユースケースとデータのバックアップ方法によって異なります。

簡単な答えは、ユースケースに依存するため、あなたの質問に対する答えはありません。

0

S3/CloudFrontにプッシュするEBSボリュームは、特に画像、CSS、JavaScript、そのような種類のものが心配な場合は、ここでの最善の策のようです。

EBSは、特にサーバーのファイルシステムの場合、S3よりもスナップショット/バックアップが簡単です。

たとえば、あるサーバーを「マスター」として指定し、別のサーバーを「スレーブ」として指定して、「マスター」に対してのみ変更を加えることもできます。

ロギングについては、 http://loggly.com/ または https://papertrailapp.com/ のようなクラウドロギングサービスのいくつかを見てください。

HTH

2
Alex W