このページでは、Cloud CDN の画像最適化の概要について説明します。画像最適化を構成する方法と、サポートされているオペレーションのリストを例とともに示します。
前提条件
Cloud CDN の画像最適化が機能するには、次の前提条件を満たしている必要があります。
Cloud CDN キャッシュ ポリシーが URL ルートまたは関連するバックエンド サービスやバケットで有効になっており、その URL マップルートで画像最適化機能が有効になっている必要があります。
画像最適化は、グローバル外部アプリケーション ロードバランサでのみサポートされています。従来のアプリケーション ロードバランサはサポートされていません。
クライアント リクエストには、
image/webp、image/avif、image/*、*/*などの画像コンテンツを受信できることを示す Accept ヘッダーを含める必要があります。配信元サーバーは、
HTTP 200ステータス コードと、サポートされている画像Content-Typeヘッダーで応答する必要があります。URL に
imopクエリ パラメータを含め、1 つ以上の有効な変換オペレーションを含める必要があります。
画像最適化を構成する
画像最適化を使用するには、関連するルート、バックエンド サービス、またはバックエンド バケットで Cloud CDN を有効にする必要があります。
gcloud
画像最適化ポリシーは routeAction オブジェクト内で定義されているため、YAML ファイルに構成を追加して URL マップにインポートする必要があります。
既存の URL マップ構成をローカルの YAML ファイルにエクスポートします。
gcloud beta compute url-maps export YOUR_URL_MAP_NAME \
--global \
--destination my-url-map.yaml
テキスト エディタで my-url-map.yaml ファイルを編集し、選択した routeAction または defaultRouteAction セクションに cachePolicy
フィールドを追加します。
name: image-matcher
routeRules:
--description: ImageOptimizationService
matchRules:
--prefixMatch: /images/
priority: 1
routeAction:
imageOptimizationPolicy:
queryParameterInterpretation: ENABLED
更新された URL マップをインポートする
gcloud beta compute url-maps import YOUR_URL_MAP_NAME \
--global \
--source my-url-map.yaml
サポートされている画像形式
Cloud CDN の画像最適化では、リクエスト構成とオリジン コンテンツ タイプ ヘッダーに基づいて、特定の入力形式と出力形式がサポートされます。
サポートされている入力形式
配信元サーバーからの入力として、次の形式がサポートされています。
HEIFICOBMPJP2K(JPEG 2000)
サポートされている出力形式
Cloud CDN エッジは、最適化された画像 派生物を次の形式で処理、キャッシュ、提供できます。
JPEGGIFPNGTIFFWEBPAVIFBRUNSLI
サポートされているオリジン コンテンツ タイプ
オリジン サーバーが次のいずれかの Content-Type ヘッダーで応答すると、画像最適化が試行されます。
image/jpegimage/pngimage/webpimage/gifimage/bmpimage/tiffimage/avifimage/heifimage/jp2image/x-j(brunsli)text/ico、image/ico、image/icon、application/ico、image/x-icon、またはimage/vnd.microsoft.icon
画像変換 URL
画像の動的な変換を行うには、画像 URL に imop クエリ パラメータを追加します。このパラメータには、順番に適用される 1 つ以上のオペレーションで構成される変換文字列が保持されます。
変換文字列には、次の形式ルールが使用されます。
- 個々のオペレーションはセミコロン(
;)で区切ります。 - 個々のオペレーション内の内部パラメータはカンマ(
,)で区切ります。 - 1 つのクエリ文字列に含めることができるのは、特定のタイプのオペレーション 1 つのみです。
ベースライン構文は次の構造を使用します。
?imop=[OPERATION_1];[OPERATION_2];...[OPERATION_N]画像に対して複数のアクションを同時に実行するには、連結されたパラメータ文字列を画像 URL に追加します。たとえば、画像の幅を 800 ピクセル に変更し、圧縮品質を 85 に設定して、形式を WebP に変換するには、パラメータ文字列を追加します。
次に例を示します。
https://www.example.com/image.jpg?imop=Resize,width=800;Compress,quality=85;Convert,format=webp;ポリシーの構造
画像最適化ポリシーは、画像最適化機能の機能に関連するすべてのプロパティを含むコア構成ラッパーとして機能します。
名前 |
説明 |
構成 |
|---|---|---|
|
画像最適化のクエリ パラメータをデータプレーンで解釈するかどうかを決定する列挙値。 |
必須 。DISABLED に設定すると、変換のクエリ パラメータはポリシーによって無視され、この機能は無効になります。ENABLED に設定すると、この機能が有効になります。 |
ポリシーの依存関係と検証
画像最適化ポリシーは Cloud CDN キャッシュに依存しています。 この機能を使用するには、次のいずれかの場所にキャッシュ ポリシー を明示的に設定する必要があります。
画像最適化ポリシーが構成されているのと同じ URL マップルート。
そのルートに関連するバックエンド サービスまたはバックエンド バケット。
画像最適化ポリシーは、有効な基盤となるキャッシュ ポリシーと組み合わせて厳密に適用されます。
画像最適化の順序付けルール
imop クエリ パラメータにリストされているオペレーションは、次の絶対システム オーバーライドを除き、左から右に処理されます。
- metadata オペレーションと scale オペレーションは常に最初に実行されます。
- canvas オペレーションは常に最後に実行されます。
これらの変換が実行される前に、すべての入力アセットが自動的に正規化されます。EXIF の向きマーカーと ICC カラープロファイルは、メタデータが削除される前に画像ピクセルに直接適用されるため、後続の構造アクションでも座標の整合性が維持されます。