Cloudflare で画像を配信するベストプラクティス
Cloudflare #Cloudflare Images#Cloudflare R2
Cloudflare で画像を配信するベストプラクティス
Cloudflare を活用した画像の配信方法は以下のような方法があります。
- Cloudflare R2 に画像を置く
- Cloudflare R2 に画像を置いて、Cloudflare Images でリサイズして配信する
- Amazon S3 に画像を置いて、Cloudflare Images でリサイズして配信する
- Cloudflare Images で配信する
| 構成 | 向いているユースケース | 損益分岐点の目安(概算) | 主なコストが乗る場所 | おすすめ度 |
|---|---|---|---|---|
| 1) R2 に置いてそのまま配信(変換なし) | 事前に最適化(WebP/AVIF・複数サイズ)をビルドで作る/静的サイト・CDN配信中心/運用をシンプルにしたい | 画像加工をしない前提なら最安になりやすい。大量配信でも R2 のエグレスは常に $0、課金は保管($0.015/GB‑月)とClass B 読取中心(キャッシュで低減)。(Cloudflare Docs) | R2:保管、Class A/B(無料枠:保管10GB、A 100万、B 1,000万/月)。エグレス $0。(Cloudflare Docs) | ★★★☆☆ |
| 2) R2 に置き、Images でリサイズして配信 | よく閲覧される同一サイズがある(商品一覧のサムネ等)/R2 をそのまま使いたいがオンザフライ変換は欲しい | 同一サイズ×画像ごとのユニーク変換 = 月1回カウント。1変換 = $0.0005($0.50/1,000)。配信回数に依存しないため、そのサイズが月50回以上見られるなら、④(Images配信)の Delivered 料($1/100k=$0.00001/回)より安くなりやすい($0.0005 ÷ $0.00001 = 50回)。(Cloudflare Docs) | Images:Transformedのみ(最初の5,000回/月は無料)。R2:保管・操作。Delivered 課金なし。(Cloudflare Docs) | ★★★★★ |
| 3) S3 に置き、Images でリサイズして配信 | 既存が S3 固定で移行しづらい/一時的な併用 | S3 のインターネット向けエグレスは月100GBまでは無料だが、超えるとリージョン単価が発生(例:EU(Ireland)で$0.09/GB)。このため 100GB/月を越える常時配信なら、**エグレス$0のR2(②)**がコスト優位になりやすい。(Amazon Web Services, Inc.) | Images:Transformed。S3:保管・エグレス課金(CloudFront向けのみ無料、Cloudflare向けはインターネット扱い)。(Amazon Web Services, Inc.) | ★★☆☆☆ |
| 4) Cloudflare Images に保存して配信 | 運用を最も簡単にしたい/閲覧回数が少ないサイズが多い(ブログの埋め込み等)/大きめ画像を多数持つ | 配信課金 vs 変換課金の分岐:1サイズあたりの月間表示が50回未満なら、②より**Delivered課金($0.00001/回)**のほうが安いことが多い。保管コストの分岐:R2(GB課金)と比べ、平均 ≈3.41MB/枚を境に Images($5/10万枚) が有利になりやすい(100k枚での概算)。(Cloudflare Docs) | Images:Stored($5/100k枚・月)+ Delivered($1/100k配信)。変換は Delivered に内包(Transformedは対象外)。Browser TTL で再リクエスト抑制可。(Cloudflare Docs) | ★★★★☆ |