Amazon Simple Storage Service
開発者ガイド (API バージョン 2006-03-01)

ベストプラクティスの設計パターン: Amazon S3 パフォーマンスの最適化

アプリケーションは、Amazon S3 からストレージをアップロードおよび取得する際にリクエストパフォーマンスで 1 秒あたり何千ものトランザクションを簡単に達成できます。たとえば、Amazon S3 の一部のデータレイクアプリケーションは、ペタバイトを超えるデータを実行するクエリに対して何百万または何十億ものオブジェクトをスキャンします。これらのデータレイクアプリケーションは、単一インスタンスで最大 100 Gb/s であるそれらの Amazon EC2 インスタンスでのネットワークインターフェイス使用を最大化するの単一インスタンス の転送速度を達成します。その後、これらのアプリケーションは、複数のインスタンスにわたってスループットを集約して 1 秒あたり複数テラバイトを確保します。

別の例は、ソーシャルメディアメッセージングアプリケーションなどのレイテンシーの影響を受けやすいアプリケーションです。これらのアプリケーションは、約 100 ~ 200 ミリ秒の一定の小さいオブジェクトレイテンシー (大きいオブジェクトの場合は、最初のバイトアウトのレイテンシー) を達成できます。

他の AWS サービスもさまざまなアプリケーションアーキテクチャのパフォーマンスの高速化に役立ちます。たとえば、1 つの HTTP 接続または 1 桁のミリ秒のレイテンシーで転送速度を早くする場合は、Amazon S3 によるキャッシュに Amazon CloudFront または Amazon ElastiCache を使用します。

さらに、クライアントと S3 バケット間の長距離でデータ転送を速くする場合は、Amazon S3 Transfer Acceleration を使用します。Transfer Acceleration では、CloudFront の世界中に分散したエッジロケーションを使用して、地理的距離でのデータ転送を高速化します。

以下のトピックでは、Amazon S3 を使用するアプリケーションのパフォーマンスを最適化するためのベストプラクティスガイドラインと設計パターンについて説明します。このガイドラインは、Amazon S3 のパフォーマンスの最適化に関する前のガイドラインより優先されます。