3

さまざまなソーシャル メディア サービスからバックアップを取得し、データをサーバーに保存して、それを自分の Web サイトに表示する Web サイトがあります。コンテンツには、ビデオ、画像、およびテキスト データが含まれます。

現在、RDS と EBS で EC2 インスタンスを使用しています。データは EBS ボリュームに保存されますが、データの量が 1 TB を超えるほど大きく、それが増加しています。EBS ボリュームがいっぱいになるたびに、別のボリュームをアタッチします。

次に、セットアップに S3 を追加しました。Cron ジョブは S3 でデータを実行および保存し、EC2 インスタンスは S3 からのデータを表示します。この目的で PHP SDK を使用しています。

私が直面している問題は、現在のセットアップで S3 が非常に遅いことです。私の設定が良いのか、それとも設定を変更する必要があるのか​​、またどうすれば S3 を高速化できるのかを提案してください。または、セットアップに別の方法を選択する必要があります。EC2 インスタンスは、CentOS を実行する大規模な予約済みインスタンスです。

S3 バケットをボリュームとして Ec2 にマウントするS3fsについていくつか聞いたことがあります。S3バケットをEc2インスタンスにマウントしたとき、転送速度が非常に遅かったので、これは良い選択ですか。

AWS は初めてです。ユーザーは S3 から直接ファイルにアクセスするのではなく、EC2 インスタンスで実行されている私の Web サイトからアクセスします。

4

2 に答える 2

4

RDSは、タグ、コメント、その他のマルチメディアファイルに関する関連情報などのメタデータを保存するのに適しています。S3は、ビデオ、オーディオ、画像などの静的コンテンツの保存に適しています。RDSとS3を使用したアプローチで十分だと思います。

EBSでバックアップされたインスタンスは、永続性に適しています。メタデータをRDSに保存し、静的コンテンツをS3に保存する場合、EBSでバックアップされたEC2インスタンスを使用する必要がある唯一の理由は、現在バージョン管理されていない構成ファイルがあることです。そうでない場合は、構成がバージョン管理にチェックインされ、毎回新しいインスタンスのためにオンデマンドでプルできると仮定すると、エフェメラルストレージを優先してEBSボリュームを破棄することをお勧めします。それはあなたにいくらかのパフォーマンスの向上を与えるかもしれませんが、重要なことは何もありません。

S3のレイテンシーに関する懸念については、はい、S3は遅いです。すべての書き込みがS3に直接行われる可能性がありますが、S3バケット用にAmazon CloudFrontをセットアップし、WebサイトにCloudFrontのマルチメディアコンテンツを消費させることを強くお勧めします。CloudFrontは、S3だけでなくディスクボリューム(EBSバッキングまたはエフェメラル)でも機能するコンテンツ配信ネットワーク(CDN)です。セットアップには数分もかかりません。CloudFrontは、 RTMPを介したストリーミングメディアファイルもサポートしています。GPACのようなライブラリが必要になる場合がありますマルチメディアファイルをヒントとして、まだ実行されていない場合にストリーミング可能にするため。次に、ストリーミング用のビデオ/オーディオファイル用に1つのディストリビューションを作成し、画像、Javascript、スタイルシート、およびその他のテキストファイル用に別のディストリビューションを作成することを検討することをお勧めします。

お役に立てれば。

于 2013-01-23T09:58:54.463 に答える
1

Amazon S3 からのファイルの取得とアップロードを高速化するために、 find batch() hereを使用します。

また、ファイルをより高速に取得するためにクラウドフロントを使用することもできます。9gagもクラウドフロントを使っていると思います..

于 2013-01-23T08:12:42.760 に答える