web-dev-qa-db-ja.com

MogileFS / GlusterFS / etc + Amazon EBS + Amazon EC2

バイナリファイル(画像など)を提供するWebアプリケーションがあります。私たちのアプリケーションは Amazon EC2 で実行されます。当初は Amazon S ​​を使用してこれらのファイルを保存および提供する予定でしたが、これはオプションではなくなりました。

これらのファイルを [〜#〜] https [〜#〜] を使用して [〜#〜] cname [〜#〜] を使用して転送する必要があります。これは、多くの技術的な理由から、 Amazon S ​​では明らかに不可能です。 Amazonは Elastic Block Storage(EBS) を提供しています。これにより、最大1TBのサイズのブロックをoneインスタンスにマウントできます。このデータに並行してアクセスする複数のインスタンスがあります。

私が考えていたのは、 MogileFS / GluserFS /[insert-more-here]のような分散ファイルシステムを使用することです- Elastic Block Storage(EBS)

だから私の質問は:スケーラブルな(数100TB)ファイルストレージシステムを作成するために現在他に何をしているのか Amazon EC2 使用せずに Amazon S ​​それは冗長ですか?データは引き続き Amazon S ​​にバックアップされますが、すべての読み取りはファイルシステムから行われます。

よろしくお願いします。何か説明が必要な場合は、お気軽にお問い合わせください。

6
William

に Azouk (以前はリンクされたドメイン休止/パーク)Amazon EC2は使用しませんが、PDF、ユーザーファイル、サムネイルなどのすべてのコンテンツの提供とオフラインデータ分析にGlusterFS(1.4.0qa92)を使用します。私見では、Amazonのクラウドに同じアーキテクチャをデプロイすることに問題はないはずです。すでに仮想化(特にOpenVZ)を多用しています。唯一の潜在的な制約は、Fuseを介したGFSのマウントです(仮想化はこれを禁止する可能性があります)が、Amazonでは可能です。

だから、私はGlusterをお勧めします、そして申し訳ありませんが私はAmazonで特に助けることができません:)

2
Piotr Findeisen

再びフロントページに突然泡立ったひどく古い質問... :-)

だから私の質問は:冗長なAmazon S3を使用せずにAmazonEC2上にスケーラブルな(数100TB)ファイルストレージシステムを作成するために現在他に何をしていますか?

何もありません。AWSでは100TBのBLOBストレージにS3を使用しますが、それ以外は無意味です。

これらのファイルは、CNAMEを使用してHTTPS経由で転送する必要があります。これは、多くの技術的な理由から、AmazonS3では明らかに不可能です。

本当ですが、他の方法で可能です。

独自のドメイン名でHTTPSアクセスが必要なため、インターネットとS3間のSSL暗号化/復号化ゲートウェイとして機能するように、EC2ノードにいくつかのHTTPSサーバー(またはプロキシ)をセットアップします。

Apache Traffic Server (以前のInktomi)を使用したことはありませんが、これに最適のようです。それ以外の場合は、キャッシュが必要な場合は、nginxまたはApacheをSquidまたはVarnishとともにSSL処理に使用できます。

大まかに言うと、要求と応答は次のようになります。

Internet request via https -->
(optional) Elastic Load Balancing -->
EC2 instance with SSL capable HTTP proxy (fx nginx) -->
plain unencrypted http to S3

さらに、URLの書き換えを処理するための決定論的な方法が必要になります。 FX。 https://secure.yourdomain.com/<id>http://<bucket>.s3.amazonaws.com/<id>に書き換えられます

1
Jesper M

AcquiaはEBSでGlusterを実行します EC2で。したがって、技術的には機能しているように見えます。

0
3dinfluence

私は現在、Gluster 3.1とEBSに基づいて、Fuseクライアント経由でアクセスできるレプリケートされたクラスター化ファイルシステムの構築に取り組んでいます。

大量のファイル呼び出しが組み込まれているWebアプリに多額の投資をしていて、複数の負荷分散されたアプリサーバーからのアクセスにアップグレードし、すべてのファイルアクセスコードを書き直さずにスケーラブルな複製ストレージを作成したい場合は、これがほとんどあなたの唯一の単純なオプションのようです。

私はプロジェクトを完了していないので、完成した結果について多くのフィードバックがありません。簡単なチュートリアルがあります ここ

0
gart davis