このページでは、Cloud CDN の画像最適化の概要について説明します。画像最適化を構成する方法と、サポートされているオペレーションのリストを例とともに示します。
前提条件
Cloud CDN の画像最適化が機能するには、次の前提条件を満たしている必要があります。
Cloud CDN キャッシュ ポリシーが URL ルートまたは関連するバックエンド サービスやバケットで有効になっており、その URL マップルートで画像最適化機能が有効になっている必要があります。
画像最適化は、グローバル外部アプリケーション ロードバランサでのみサポートされています。従来のアプリケーション ロードバランサはサポートされていません。
クライアント リクエストには、
image/webp、image/avif、image/*、*/*などの画像コンテンツを受信できることを示す Accept ヘッダーを含める必要があります。配信元サーバーは、
HTTP 200ステータス コードと、サポートされている画像Content-Typeヘッダーで応答する必要があります。URL には
imopクエリ パラメータを含める必要があり、1 つ以上の有効な変換オペレーションを含める必要があります。
画像最適化を構成する
画像最適化には、アクティブなキャッシュを有効にする必要があります。次のいずれか 1 つ以上を構成してください。
バックエンド ベースのキャッシュ: バックエンドで [Cloud CDN を有効にする] がオンになっていることを確認します。
URL マップレベルのキャッシュ: 画像最適化を有効にするパスの URL マップレベル でキャッシュ ポリシーが構成されていることを確認します。
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 セクションに imageOptimizationPolicy
フィールドを追加します。
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
コンソール
- Google Cloud コンソールで、[ロード バランシング] ページに移動します。
- グローバル外部アプリケーション ロードバランサの名前をクリックします。
- [Edit] をクリックします。
- [バックエンドの構成] タブに移動します。
- キャッシュを構成する: 画像最適化を正常に保存するには、アクティブなキャッシュが必要です。画像最適化が機能するように、次のいずれかを選択して構成します。
- バックエンド ベース: [バックエンド サービス] の構成で [Cloud CDN を有効にする] が選択されていることを確認します。
- URL マップレベル:
- [ルーティング ルール] に移動し、[詳細なホストとパスのルール] を選択します。
- 画像最適化を有効にするルートの URL マップレベルでキャッシュ ポリシーを定義します。
ルーティング アーキテクチャに応じて、次のいずれかのルーティング ルールを選択します。
デフォルトのルーティング ルールを使用するには、次の操作を行います。
- [**ホストとパスのルール**] セクションの [**アクション**] で、 [**トラフィックを 1 つのバックエンド モードにルーティング**] を選択し、バックエンドを リストから選択します。
- [画像最適化] セクションを開きます(デフォルトでは折りたたまれています)。
- [画像最適化を有効にする] チェックボックスをオンにします。
カスタム ルーティング ルールを使用するには、次の操作を行います。
- [ホストとパスのルール] セクションで、[ホストとパスのルールを追加] を選択します。
- In the [**ホスト**] フィールドに「*」と入力して、すべてのホスト名が一致するようにします。
- [パスマッチャー] セクションで、YAML エディタを使用して構成を定義します。
- コードのガイダンスについては、YAML エディタの下にある [コード ガイダンス] をクリックしてください。
- スニペットをコピーして、YAML エディタに貼り付けます。
- プレースホルダの値を更新します。
構成を確認する
- 構成を確認します。
- [完了] をクリックしてサブエディタを閉じます。
- [更新] をクリックして構成を保存します。
サポートされている画像形式
Cloud CDN の画像最適化は、配信元サーバーからの幅広い入力形式をサポートしています。ほとんどの形式は処理と出力に使用できますが、一部の形式は入力のみで、ターゲット出力形式として使用できません。
送信元サーバーからサポートされている画像形式は次のとおりです。
| 形式 | Content-Type ヘッダー | 入出力 | ユースケースのシナリオ |
|---|---|---|---|
| gif | image/gif |
入力と出力 | 標準のアニメーション/静止画形式。アニメーション フレームは、Freeze オペレーションを使用して抽出できます。 |
| png | image/png |
入力と出力 | ロスレス形式。透明度、ロゴ、デジタル アートに最適です。 |
| webp | image/webp |
入力と出力 | 不可逆圧縮と可逆圧縮の両方を備えた、最新のウェブ最適化形式。 |
| jpeg | image/jpeg |
入力と出力 | 標準の写真形式。 |
| brunsli | image/x-j |
入力と出力 | 高効率のロスレス JPEG 再パッキング形式。 |
| tiff | image/tiff |
入力と出力 | 高品質のタグベースのラスター形式。 |
| avif | image/avif |
入力と出力 | 高効率の次世代画像形式。 |
| bmp | image/bmp |
入力のみ | 出力形式として指定できません。WEBP または
JPEG に ?imop=Convert,format=webp を使用して変換します。 |
| ico | text/ico、image/ico、image/icon、
、application/ico、image/x-icon、image/vnd.microsoft.icon |
入力のみ | アイコン コンテナ形式。エクスポートできません。配信用にサポートされている 出力形式に変換してください。 |
| jp2k | image/jp2 |
入力のみ | JPEG 2000 形式。a
Convert オペレーションを使用して明示的に変換する必要があります。 |
| heif | image/heif |
入力のみ | High Efficiency Image Format。エッジ配信の前に変換する必要があります。 |
画像変換 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 カラープロファイルは、メタデータが削除される前に画像ピクセルに直接適用されるため、後続の構造アクションで座標の整合性が正確に維持されます。