Cloudflare Images についてまとめた
Cloudflare #Cloudflare Images#作業中
Cloudflare Images についてまとめた
Overview · Cloudflare Images docs
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 Transformed | 5,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 のエッジサーバーに読み込みが発生した場合は、キャッシュであっても料金が発生します。
Pricing · Cloudflare Images docss
Cloudflare Images の料金を減らすコツ
- 配信回数が多い場合、外部保存(R2/S3/自前オリジン) + 変換の方がコストが安い
- フロント側で使う画像のサイズを数種類に決めておく
- クライアント側のキャッシュ TTL を長くして、リクエストを減らす
- 画像に対するリクエストを出さないようにする
- 画像のサイズを抑える
- 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 を適切に引き上げ |