Cloudflare Images についてまとめた

Cloudflare Images についてまとめた

Cloudflare #Cloudflare Images#作業中

Cloudflare Images についてまとめた

Cloudflare Images は画像の保存、配信に適した Cloudflare のサービスとなります。

主な機能

  • Cloudflare のサーバーに画像を保存して配信する
  • 外部のサーバーに画像を保存して Cloudflare で配信する 
  • 加工方法を事前に定義して、自動で配信 (Variants)

Cloudflare Images の料金

プラン含まれる機能上限/料金の概要
Images Free外部に置いた画像(例: R2, 自社オリジン等)の 変換(トランスフォーム) のみユニーク変換 5,000回/月まで無料。超過時は新しい変換がエラー(9422)になり、課金は発生しない(キャッシュ済みは配信継続)。より多く使う場合は有料へ
Images Paid変換に加え、Cloudflare Images への保存・配信が可能下表の従量課金(Images Transformed / Stored / Delivered)

Images Paid プランによる従量課金は以下の表の通りです。

指標料金適用対象補足
Images Transformed5,000回/月まで無料 + 以降 $0.50 / 1,000 ユニーク変換外部にある画像を最適化する場合のみユニーク=変換パラメータの組合せごと30日スライディングで同一変換は1回だけカウント。Images に保存した画像の最適化はここに計上しない。
Images Stored$5 / 100,000枚・月(前払いブロック)Cloudflare Images に保存した画像枚数10万枚単位で購入。バリアント定義は枚数に含まれない(アップロード実体のみカウント)。
Images Delivered$1 / 100,000配信・月Images に保存した画像の配信回数1画像リクエスト=1配信外部ソースの変換配信は含まれない(外部は Transformed のみ課金)。

Q. Images Paid プランの場合、変換に料金はかからないの? A. 画像を外部ストレージに保存する場合は Images Transformed の料金がかかります。画像を Cloudflare Images に保存する場合は Images Transformed の料金はかからず、Images Delivered の料金が発生します。

Q. 10万枚に満たない時 Images Stored の料金はどうなるの? A. $5 かかります。10万枚ごとのブロック課金なので、1〜100,000枚を保管する月は $5 が目安です。

Q. Images Delivered は、キャッシュからの読み込みでも料金が発生するの? A. ローカルキャッシュから読み直しした場合はリクエストが発生しないでの、料金がかかりません。Cloudflare のエッジサーバーに読み込みが発生した場合は、キャッシュであっても料金が発生します。

Cloudflare Images の料金を減らすコツ

  1. 配信回数が多い場合、外部保存(R2/S3/自前オリジン) + 変換の方がコストが安い
  2. フロント側で使う画像のサイズを数種類に決めておく
  3. クライアント側のキャッシュ TTL を長くして、リクエストを減らす
  4. 画像に対するリクエストを出さないようにする
  5. 画像のサイズを抑える
  6. Cloudflare Images 側の変換サイズを決めておく

外部保存(Cloudflare R2) + Images と Images のみの比較表

項目R2 + Images(外部保存+変換)Images 単体(保存+配信)
保存場所画像は R2(または外部オリジン)に保存画像は Cloudflare Images バケットに保存
最適化/変換の課金Images Transformed:月 5,000 ユニーク変換まで無料、超過は $0.50/1,000(30日スライディング)変換は課金対象外(保存画像の最適化は Images Delivered に計上)
配信の課金なし(外部ソース最適化は Transformed のみ課金)Images Delivered$1 / 100,000配信ブラウザのリクエスト1回=1配信
ストレージの課金R2$0.015/GB-month、Class A $4.50/100万、Class B $0.36/100万10GB/月・A100万・B1,000万無料枠あり、エグレス無料Images Stored$5 / 100,000枚・月10万枚単位の前払いブロック
キャッシュの影響配信の従量なし。ユニーク変換は同一パラメータの組合せにつき30日で1回だけカウントエッジヒットでも配信は配信として計上Browser TTL を長くするとブラウザが再リクエストしにくくなり Delivered を抑制
向いているケース同じサイズがよく閲覧される(1サイズ/月50回以上が目安)/画像が小さめ多数(サイズ課金が得)少閲覧のサイズが多い/1枚あたり大きい画像が多い(≈3.4MB/枚より大きい平均なら Images の“枚数課金”が有利になりやすい)
実装のコツsrcset を段階幅に固定(ユニーク変換の乱立防止)Named Variants で許可サイズを固定/Browser TTL を適切に引き上げ