weekerp blog logo
AWS S3とCloudFront(CDN)の速度と料金を徹底比較 Post Thumbnail

AWS S3とCloudFront(CDN)の速度と料金を徹底比較

S3で画像を直接配信すると、CDNと比べてどのくらい遅くなるのでしょうか? また、どのタイミングでCDNを導入するのが最も効率的なのでしょうか? 本記事では、**AWS CloudFront**と**S3**の実際の速度およびコスト差を比較し、最適な構成方法について解説します。

Q1. AWS S3とCloudFrontとは何ですか?
S3は、画像や動画などの大容量ファイルを保存するためのストレージサービスです。
一方、CloudFrontはAWSが提供するCDN(Content Delivery Network)で、ユーザーに近いエッジサーバーからコンテンツを高速に配信するサービスです。


Q2. S3だけで画像や静的ファイルを配信できますか?
はい、可能です。
しかし、S3は特定のリージョンにしか存在しないため、他の国のユーザーがアクセスする場合、平均で10〜20倍遅くなることがあります。


Q3. AWS S3とCloudFrontの転送速度の違いはどのくらいですか?
同じリージョン内では、CloudFrontはS3より約2〜3倍高速です。
一方、異なる国・地域間では差がさらに大きくなり、平均で15倍以上、小さいファイルでは最大20倍も速い結果が確認されています。


Q4. S3とCloudFrontの料金体系はどう違いますか?
同じデータ転送量で比較した場合、CloudFrontの方がS3よりおおよそ5〜15%安く運用できます。


Q5. 画像が多いサービスではどの構成が効率的ですか?
S3をオリジンストレージとして使用し、CloudFrontでキャッシュ配信する構成が最も効率的です。
さらにWebPやAVIFなどの自動フォーマット変換を組み合わせることで、パフォーマンスとコストの両方を最適化できます。


Q6. CDNはいつ導入すべきですか?
画像を多く扱うサービスでは、月間データ転送量が100GBを超えた時点がCDN導入の目安です。
また、動画やPDFのようなファイルを扱う場合は、初期段階からCDNを利用することが推奨されます。


AWS CloudFrontとは?

CDN(Content Delivery Network)という言葉を聞いたことがありますか?
CDNは、画像や動画などの大きなファイルをユーザーに物理的に近いサーバーから配信し、応答速度を大幅に向上させる仕組みです。
CloudFrontは、このCDN機能を提供するAWSのサービスで、世界中に分散したエッジサーバーを通じてコンテンツを効率的に届けます。

一方、**S3(Simple Storage Service)**はGoogleドライブのようなストレージサービスで、ユーザー生成コンテンツ(UGC)や動画など、ウェブサーバーに直接保存するには大きすぎるファイルを保管するために使われます。


S3はコンテンツ配信向けに設計されていません

S3はデータを保存するためのオブジェクトストレージサービスであり、高速な配信を目的としたものではありません。

AWSはインターネット経由でファイルのアップロードやダウンロードを可能にしていますが、これはあくまで「アクセス経路」を提供するための機能であり、最適化された配信構造ではありません。
それでも、多くのサービスがCDNを利用せず、S3バケットのアクセス設定を**Public Access(公開)**にして画像や動画を直接配信しています。

この方法は、追加のCDN設定をせずに主要機能を素早く実装できるという利点があるため、スタートアップの初期開発段階でよく採用されます。


では、

  • S3で画像を直接配信すると、CDNと比べてどれくらい遅くなるのでしょうか?

  • また、どのタイミングでCDNを導入するのが効率的なのでしょうか?



テストデータの保存環境

テストで使用したファイルは、すべて**Standard S3(US-East-1、バージニア北部)**に保存しました。

バージニア北部リージョンのS3に保存されたテストデータ
バージニア北部リージョンのS3に保存されたテストデータ


リクエスト環境

  • USインスタンス: バージニア北部(Cloud9、AWS US-EAST-1)

  • KOインスタンス: ソウル(Cloud9、AWS ap-northeast-2)

このテスト環境の詳細は、記事の最後に記載しています。


同一リージョン(US ↔ US)での速度比較

USインスタンスからS3およびCloudFrontにリクエストを送信した際の応答時間は以下の通りです。(オリジナルデータおよび詳細なテスト環境は記事の末尾に記載しています。)


File S3 CDN - Cache Miss CDN - Cache Hit
dog.jpg (0.3 MB) 48.526 ms 69.573 ms 23.640 ms
test-image (1.9 MB) 90.697 ms 111.911 ms 21.760 ms
test-video (40.2 MB) 551.142 ms 865.960 ms 364.774 ms

同じリージョン内でも、CloudFrontはS3よりも高速かつ安定した結果を示しました。
異なるリージョン間では、この差がさらに大きくなります。


Cache-Missとは?
CloudFrontがオリジン(S3など)からファイルを初めて取得し、内部に保存する際の状態を指します。

Cache-Hitとは?
CloudFrontがエッジサーバーにキャッシュされたファイルを直接配信する状態で、最も高速な応答を実現します。


異なるリージョン(US ↔ ソウル)での速度比較

ソウルインスタンスからS3およびCloudFrontにリクエストを送信した際の応答時間は以下の通りです。


File S3 CDN - Cache Miss CDN - Cache Hit
dog.jpg (0.3 MB) 1299.255 ms 1228.085 ms 107.917 ms
test-image (1.9 MB) 90.697 ms 111.911 ms 119.212 ms
test-video (40.2 MB) 551.142 ms 865.960 ms 237.627 ms

ファイルサイズが大きくなるほど、S3では応答に数秒単位の時間がかかることが確認されました。これは、Weekerpの**LCP(Largest Contentful Paint)**に関する記事でも述べたように、ユーザー離脱を引き起こす要因となります。

まとめると、次のようになります。


グローバル環境におけるS3の応答遅延

📊 KOインスタンス(ソウル)

ソウルからバージニア北部リージョンのS3バケットへ画像や動画をリクエストした結果は以下の通りです。


File S3 CDN - Cache Hit Speed Gain
dog.jpg (0.3 MB) 1299.255 ms 107.917 ms 約12倍高速
test-image (1.9 MB) 90.697 ms 119.212 ms 約15倍高速
test-video (40.2 MB) 551.142 ms 237.627 ms 約17倍高速

この結果から、CDNを利用することで国内だけでなく、海外ユーザーにもより良い体験を提供できることが分かります。



コスト比較(S3 vs CloudFront)

現在S3から直接画像を配信している場合、どのタイミングでCloudFrontに切り替えるとコストメリットが出るのでしょうか?

S3とCloudFrontはいずれもリージョンごとに料金が異なり、最も安いのは米国バージニア北部です。一方、日本や韓国ではおよそ20〜30%高い料金が設定されています。


リージョン S3 ($/GB) Cloudfront ($/GB)
米国(バージニア) 0.09 0.085
日本(東京) 0.126 0.114
韓国(ソウル) 0.114 0.120

どちらのサービスも使用量が増えるほど単価が下がるため、小規模なプロジェクトでは大きな差を感じにくいかもしれません。
しかし、CloudFrontはやや安価でグローバル配信効率が高いため、長期的にはより有利な選択肢となります。

ただし、料金だけでなく無料枠と管理効率も重要な要素です。

  • S3: 月100GBまで無料

  • CloudFront: 月1TBまで無料

CloudFrontはキャッシュポリシー、ログ分析、課金設定などやや複雑な構成を要しますが、月間トラフィックが100GBを超える、または海外配信が必要になる段階では、
CDNを導入してパフォーマンスと運用効率の両方を最適化するのが最も合理的です。


CDN導入の判断基準 ― S3からCDNへ切り替えるタイミング


Weekerp Imageダッシュボード。画像リクエスト数、転送量(GB)、変換回数に基づく日次トラフィック推移と、韓国・日本・米国のリクエスト分布を示すグラフ。
Weekerp Imageダッシュボード。画像リクエスト数、転送量(GB)、変換回数に基づく日次トラフィック推移と、韓国・日本・米国のリクエスト分布を示すグラフ。


動画やPDFのようなファイルを扱う場合は、ユーザー数に関係なく早い段階でCDNを導入する方がコスト面で有利です。
一方で、画像を多く扱うECサイトやプラットフォーム型サービスでは、
おおよそ月間アクティブユーザー(MAU)が700〜1000人に達した時点がCDN導入の目安となります。

この数値は、Weekerp Imageダッシュボードのデータを基に、
1ユーザーあたり月3〜5MBの画像データ利用量を仮定して算出しています。


Weekerp ImageでCDNの使用状況をモニタリング


CDNに付属するWeekerp Imageダッシュボード。時間ごとの使用量と国別リクエスト分布を表示する画面。
CDNに付属するWeekerp Imageダッシュボード。時間ごとの使用量と国別リクエスト分布を表示する画面。


上記のMAUベースの使用量データは、Weekerp Imageダッシュボードを基にしています。
Weekerpは、ユーザー体験を最適化するために設計されたフルマネージド型CDNを提供しています。

時間単位で使用量を詳細にトラッキングでき、
国別のリクエスト分布を可視化して一目で確認することが可能です。
また、既存の外部ストレージ(S3など)をそのまま接続し、データ移行なしでAWS CloudFront CDN環境に直接統合できます。


テスト環境

テストデータ

リクエスト環境

  • (USインスタンス)バージニア北部(Cloud9、AWS US-EAST-1)

  • (KOインスタンス)ソウル(Cloud9、AWS ap-northeast-2)

データ保存環境

  • バケットの場所:Standard S3(US-East-1、バージニア北部)

テストファイル

  • dog.jpg / 294.4 KB

  • test-image.jpg / 1.9 MB

  • test-video.mp4 / 40.2 MB

テストコマンド

$ curl -o /dev/null -s -w "\n\n== %{url_effective} ==\nDNS: %{time_namelookup}s\nConnect: %{time_connect}s\nTTFB: %{time_starttransfer}s\nTotal: %{time_total}s\n" "https://weekerp-speed-test.s3.us-east-1.amazonaws.com/dog.jpg"

詳細メトリクス

  • DNS: 0.032748s

  • Connect: 0.033570s

  • TTFB: 0.100455s

  • Total: 0.102714s(Totalは上記の合計ではなく、最終バイト受信までの時間を示す)

テスト方法

S3とCloudFrontの応答時間を測定するため、異なるAWS Cloud9リージョンで実行したcurlテスト方法のスクリーンショット。
S3とCloudFrontの応答時間を測定するため、異なるAWS Cloud9リージョンで実行したcurlテスト方法のスクリーンショット。


  • 各AWS Cloud9リージョンでcurlを実行したテスト環境のキャプチャ

  • 5回連続でテストを実施し平均値を採用

  • キャッシュMISSテストでは、クエリストリング「?v=1」「v=2」を使用してキャッシュを分離

Weekerp Imageで画像を最適化する方法を見つけよう

クラウドとシームレスに連携できる画像CDNソリューション

今すぐ始める
M.J. Kang(カン・ミンジュン)'s profile image
M.J. Kang(カン・ミンジュン)

Weekerp代表。ITスタートアップの持続的な成長を支援し、「企業に時間を贈る」プロダクトを提供しています。