バイナリファイル(画像など)を提供する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 にバックアップされますが、すべての読み取りはファイルシステムから行われます。
よろしくお願いします。何か説明が必要な場合は、お気軽にお問い合わせください。
に Azouk (以前はリンクされたドメイン休止/パーク)Amazon EC2は使用しませんが、PDF、ユーザーファイル、サムネイルなどのすべてのコンテンツの提供とオフラインデータ分析にGlusterFS(1.4.0qa92)を使用します。私見では、Amazonのクラウドに同じアーキテクチャをデプロイすることに問題はないはずです。すでに仮想化(特にOpenVZ)を多用しています。唯一の潜在的な制約は、Fuseを介したGFSのマウントです(仮想化はこれを禁止する可能性があります)が、Amazonでは可能です。
だから、私はGlusterをお勧めします、そして申し訳ありませんが私はAmazonで特に助けることができません:)
再びフロントページに突然泡立ったひどく古い質問... :-)
だから私の質問は:冗長な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>
に書き換えられます
AcquiaはEBSでGlusterを実行します EC2で。したがって、技術的には機能しているように見えます。
私は現在、Gluster 3.1とEBSに基づいて、Fuseクライアント経由でアクセスできるレプリケートされたクラスター化ファイルシステムの構築に取り組んでいます。
大量のファイル呼び出しが組み込まれているWebアプリに多額の投資をしていて、複数の負荷分散されたアプリサーバーからのアクセスにアップグレードし、すべてのファイルアクセスコードを書き直さずにスケーラブルな複製ストレージを作成したい場合は、これがほとんどあなたの唯一の単純なオプションのようです。
私はプロジェクトを完了していないので、完成した結果について多くのフィードバックがありません。簡単なチュートリアルがあります ここ