Cloud Service
Cloudflare Images
画像の保存・変換・最適化配信をまとめて担うマネージド画像基盤。リサイズや形式変換のための自前のインフラや変換パイプラインが不要になる。
- 1.画像のアップロード、保存、リサイズ・形式変換、配信までを一体で提供するマネージドサービス。
- 2.URLのパラメータやバリアント設定で、端末や用途に応じたサイズ・画質を動的に配信できる。
- 3.保存枚数と配信(変換)回数に応じた課金で、オリジンサーバーでの画像処理が不要になる。
解決する課題
Webサイトやアプリで画像を扱う場合、端末やレイアウトごとに異なるサイズ・形式の画像を用意する必要があり、自前で対応しようとすると変換用のサーバーやジョブ、保存先ストレージ、配信用のCDN設定までを一通り構築・運用しなければなりません。Cloudflare Imagesは、この画像の保存・変換・配信を一体化したマネージド基盤として提供します。
- 元画像を1枚アップロードするだけで、リサイズ・形式変換・最適化をオンデマンドに行える
- 端末の画面幅や対応形式に応じて、軽量な画像を自動選択して配信できる
- 画像専用のオリジンサーバーやリサイズ用ミドルウェアを自前で運用しなくてよい
- ユーザーがアップロードした画像(アバターや商品写真など)を、直接アップロードの仕組みで安全に受け取れる
画像処理基盤の構築・スケーリング・キャッシュ設計をCloudflare側に任せられる点が中心的な価値です。
主要概念と用語
- バリアント(Variant): 幅・高さ・トリミング方法・画質などをあらかじめ定義した、画像の出力パターン。同じ元画像から用途別の複数バリアントを配信できる
- フレキシブルバリアント: バリアント名を事前定義せず、配信時にURLへ直接オプションを指定して変換する方式
- 直接アップロード(Direct Creator Upload): サーバーを経由せず、エンドユーザーのブラウザから直接Cloudflare Imagesへ画像をアップロードできる仕組み
- 画像ID: アップロードした画像を一意に識別するID。配信URLの組み立てに使う
- 配信URL: 画像ID・バリアント・アカウントハッシュなどから構成される、変換済み画像を取得するためのURL
- 署名付きURL: 非公開の画像に対して、有効期限付きの署名を付けアクセスを制限する仕組み
- Images Transformations: 既存のオリジン(R2やその他のURL)にある画像を、配信時にオンザフライで変換する機能。保存先をCloudflare Imagesに移さずに変換だけを使える
仕様・制限・クォータ
- 対応する主要な画像形式(JPEG、PNG、WebP、GIFなど)のアップロードと、配信時の自動形式変換(WebP・AVIFなど)に対応する
- リサイズ、トリミング、回転、画質調整といった基本的な変換操作をURLパラメータやバリアント設定で指定できる
- アップロードできる画像1枚あたりのファイルサイズや、アカウントあたりの保存枚数には上限があり、プランによって異なる
- バリアント数やAPIのリクエストレートにも制限があり、詳細な数値は公式ドキュメントで随時更新される
- メタデータ(EXIFなど)の取り扱いは、配信時に既定で一部が取り除かれる設定になっている
具体的な上限値やプランごとの違いは変更されうるため、最新の公式ドキュメントで確認してください。
内部の仕組み
利用者から見ると、画像をアップロードすると画像IDが払い出され、その画像IDとバリアント指定を含む配信URLへアクセスするたびに、Cloudflareのエッジ上で変換済み画像が返る仕組みです。
- 保存: アップロードされた元画像はCloudflareの分散ストレージに保管される
- 変換: 配信リクエストを受けたエッジは、指定されたバリアント(サイズ・形式・画質など)に応じて元画像から変換後の画像を生成する
- キャッシュ: 一度生成した変換済み画像はエッジにキャッシュされ、同じバリアントへの再リクエストはキャッシュから高速に返される
- 形式の自動選択: リクエストしたブラウザが対応する形式(AVIF・WebPなど)を判定し、より軽量な形式を自動的に選んで配信する
変換処理はリクエストが来た際にオンデマンドで行われるため、あらかじめ全バリアントを生成しておく必要はありません。
バリアントを事前定義しておくと、同じ組み合わせへのリクエストがエッジのキャッシュにヒットしやすくなり、変換の再実行を減らせます。フレキシブルバリアントは柔軟な反面、パラメータの組み合わせが増えるほどキャッシュの効きが分散する点に注意してください。
設計パターン / ベストプラクティス
- レスポンシブ画像配信: 画面幅ごとに複数バリアントを用意し、HTMLの候補画像指定(srcset相当)と組み合わせて端末に応じた画像を配信する
- ユーザー投稿画像の受け口: 直接アップロードを使い、サーバーを経由せずブラウザから安全にアップロードさせてバックエンドの負荷を減らす
- 既存オリジンの画像最適化: 画像自体はR2や外部URLに置いたまま、Images Transformationsで配信時だけ変換し、移行コストを抑える
- 非公開画像の制限配信: 会員限定コンテンツなどは署名付きURLを使い、有効期限のあるアクセスに限定する
既存のオリジンにある画像をそのままCloudflare Imagesへ移す前に、Images Transformationsで変換だけを先に導入すると、保存先を変えずに配信の最適化効果を確認できます。
運用・監視
- アップロード数・配信数・エラー状況はダッシュボードで確認できる
- 画像の削除やメタデータの更新はAPI経由で行い、CI/CDやバックエンド処理に組み込める
- 配信が想定より重い・キャッシュヒットしない場合は、バリアントの組み合わせ数やキャッシュ設定を見直す
- アップロード失敗やアクセスエラーが出る場合は、APIトークンの権限範囲やファイルサイズ制限を最初に確認する
コスト
課金の考え方は、保存している画像枚数と、配信(変換)された回数の両方に基づく従量制が基本です。元画像1枚から複数バリアントを配信しても保存枚数自体は増えませんが、配信数はバリアントごとのアクセス数に応じて積み上がります。具体的な単価や無料枠は変動するため、最新の料金ページで確認してください。
セキュリティ
- 非公開にしたい画像は、配信URLを署名付きURLにして有効期限とアクセス範囲を制限する
- アップロード・削除などの管理操作はAPIトークンのスコープで制御し、最小権限に絞る
- 直接アップロードを使う場合も、発行するアップロードURL自体に有効期限があり、無制限に使い回されない設計になっている
- 保存データは暗号化された状態で管理され、配信経路もTLSで保護される
画像IDやバリアント名が推測しやすい命名になっていると、非公開にしたい画像へ第三者がアクセスできてしまう可能性があります。非公開画像には署名付きURLを使い、単純な連番やわかりやすい名前をIDに使わないようにしてください。
関連サービス・比較
汎用オブジェクトストレージであるR2とは役割が異なるため比較します。R2は任意のファイルをそのまま保存・配信するのに対し、Cloudflare Imagesは画像に特化し、リサイズや形式変換までを組み込みで提供します。
| 観点 | Cloudflare Images | R2 Object Storage |
|---|---|---|
| 主な用途 | 画像の保存・変換・最適化配信 | 汎用ファイルのオブジェクトストレージ |
| 画像変換 | バリアント・URLパラメータで組み込み対応 | 自前で変換処理を実装する必要あり |
| アップロード方式 | 直接アップロードの仕組みを標準提供 | APIやSDK経由のオブジェクトアップロード |
| 課金の考え方 | 保存枚数と配信回数の従量制 | 保存容量とリクエスト数中心(エグレス無料) |
ハンズオン / CLI例
# wranglerでログインし、アカウントを認証
npx wrangler login
# ローカルの画像ファイルをCloudflare Imagesへアップロード
npx wrangler images upload ./photo.jpg
# アップロード済み画像の一覧を確認
npx wrangler images list
# 指定した画像を削除
npx wrangler images delete <image-id>
Cloudflare Service
Cloudflare Imagesを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
メディア
比較で見る軸
クラウド: Cloudflare / カテゴリ: メディア / 難易度: basic
導入後に効く点
URLのパラメータやバリアント設定で、端末や用途に応じたサイズ・画質を動的に配信できる。
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
- クラウド
- Cloudflare
- カテゴリ
- メディア
- 難易度
- basic
- 関連資格
- —
- 設計柱
- cost / performance / operational
判断チェックリスト
- 自社の用途が「メディア / cost」に近いか確認する。
- 強みである「画像のアップロード、保存、リサイズ・形式変換、配信までを一体で提供するマネージドサービス。」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。