Cloudflare で画像を配信するベストプラクティス

Cloudflare で画像を配信するベストプラクティス

Cloudflare #Cloudflare Images#Cloudflare R2

Cloudflare で画像を配信するベストプラクティス

Cloudflare を活用した画像の配信方法は以下のような方法があります。

  1. Cloudflare R2 に画像を置く
  2. Cloudflare R2 に画像を置いて、Cloudflare Images でリサイズして配信する
  3. Amazon S3 に画像を置いて、Cloudflare Images でリサイズして配信する
  4. 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)★★★★☆