Cloudinary は、画像と動画のアップロード・変換・最適化・CDN 配信をまとめて引き受けるメディア基盤だ。最大の特徴は、変換処理を URL のパラメータで指定できる点にある。
URL ベース変換という発想
たとえば元画像が 1 枚あれば、URL に w_400 や f_auto といったパラメータを足すだけで、幅 400px 版や最適フォーマット版がオンデマンドで生成される。サムネイル・カード用・OGP 用と複数サイズを事前に作って保管する必要がなく、必要なバリエーションは URL を変えるだけで手に入る。レスポンシブ画像の出し分けやデバイス別最適化が、サーバー側のバッチ処理なしで実現できる。
効く場面
- ユーザーがアップロードした画像を、表示箇所ごとに自動でリサイズ・クロップしたいとき
- 古い JPEG/PNG を WebP / AVIF へ自動変換し、転送量と表示速度を改善したいとき
- AI ベースの自動クロップで、被写体を外さないサムネイルを量産したいとき
動画のトランスコーディングにも対応し、グローバル CDN から配信される。
料金構造の読み方
課金は「変換クレジット」という単位で、変換回数・ストレージ・転送量を合算した使用量に対して計算される。無料枠を超えると月額制で、クレジット消費量に応じて上がる。注意点は、同じ画像でも変換バリエーションを増やすほどクレジットを消費すること。無秩序に変換パラメータを生やすと消費が読みにくくなるため、使うサイズパターンはある程度固定したほうが管理しやすい。
単にファイルを置くストレージが欲しいだけなら、変換機能を持つ Cloudinary はオーバースペックで、S3 のようなオブジェクトストレージのほうが安く済む。変換と最適化を自動化したいかどうかが採用の分かれ目だ。
変換パラメータの管理が保守性を決める
URL に変換指示を書ける手軽さは強力だが、そのまま使うとテンプレートのあちこちに長い変換パラメータが散らばる。仕様変更のたびに全箇所を直す羽目になるため、用途ごとの変換プリセット(名前付きの変換)を定義し、コード側ではその名前を参照する構成にしておきたい。「サムネイル用」「OGP 用」「詳細表示用」といった単位で定義しておけば、画質やサイズの調整を一箇所で行える。
URL のパラメータを外部から自由に指定できると、第三者が無数の変換バリエーションを生成でき、変換回数の課金が積み上がります。署名付き URL を使うか、許可する変換をプリセットに限定して、任意の変換を実行できない構成にしてください。
移行しにくさをどう見るか
画像の URL がサービスのドメインに紐づくため、乗り換えるときは配信 URL の変更が広範囲に及ぶ。すでに公開済みのコンテンツに埋め込まれた URL は、リダイレクトを用意しない限り切れる。独自ドメインで配信する設定にしておけば、この依存を薄められる。長く運用するメディアなら、最初から独自ドメイン配信にしておく判断は有効だ。