Azure CDN でのファイル圧縮によるパフォーマンスの向上
重要
Azure CDN Standard from Microsoft (クラシック) は、2027 年 9 月 30 日に廃止されます。 サービスの中断を回避するには、2027 年 9 月 30 日までに Azure Front Door の Standard または Premium レベルに Azure CDN Standard from Microsoft (クラシック) プロファイルを移行することが重要です。 詳細については、Azure CDN Standard from Microsoft (クラシック) の廃止に関するページを参照してください。
Azure CDN from Edgio は、2025 年 1 月 15 日に廃止される予定です。 サービスが中断しないようにするには、この日までに Azure Front Door にワークロードを移行する必要があります。 詳細については、「Azure CDN from Edgio の廃止に関する FAQ」を参照してください。
ファイル圧縮は、サーバーからファイルを送信する前にファイル サイズを減らすことができるため、ファイルの転送速度とページ読み込みのパフォーマンスを向上させることができる簡単で効率的な方法です。 ファイル圧縮により、帯域幅のコストを軽減し、ユーザーへの応答を改善することができます。
ファイル圧縮を有効にするには、次の 2 つの方法があります。
- 配信元サーバーで圧縮を有効にします。 この方法では、Azure CDN は圧縮ファイルを受け渡し、要求したクライアントに配信します。
- CDN POP サーバーで直接、圧縮を有効にします (即時圧縮)。 この方法では、配信元サーバーで圧縮されていない場合でも、CDN でファイルが圧縮され、エンド ユーザーに渡されます。
重要
Azure Content Delivery Network 構成の変更がネットワーク全体に反映されるまでには時間がかかる可能性があります。
- Azure CDN Standard from Microsoft プロファイルの場合、通常、反映は 10 分以内で完了します。
- Azure CDN Standard from Edgio プロファイルおよび Azure CDN Premium from Edgio プロファイルの場合、通常、反映は 10 分で完了します。
今回初めて CDN エンドポイントの圧縮を設定した場合は、トラブルシューティングの前に、圧縮設定が確実に POP に反映されるように 1 ~ 2 時間の待機時間を検討してください。
圧縮の有効化
Standard および Premium CDN レベルでは同じ圧縮機能が提供されますが、ユーザー インターフェイスは異なります。 Standard と Premium CDN レベルの違いの詳細については、Azure CDN の概要に関するページを参照してください。
Standard CDN プロファイル
Note
このセクションは、Azure CDN Standard from Microsoft プロファイルと Azure CDN Standard from Edgio プロファイルに適用されます。
CDN プロファイルのページで、管理する CDN エンドポイントを選択します。
CDN エンドポイントのページが開きます。
[圧縮] を選択します。
圧縮のページが開きます。
圧縮を有効にするには、 [オン] を選択します。
既定の MIME の種類を使用するか、MIME の種類を追加または削除して一覧を変更します。
ヒント
圧縮形式に圧縮を適用することは可能ですが、推奨されません。 たとえば、ZIP、MP3、MP4、JPG などの形式です。
変更後、 [保存] を選択します。
Premium CDN プロファイル
Note
このセクションは、Azure CDN Premium from Edgio プロファイルだけに適用されます。
CDN プロファイルのページで、 [管理] を選択します。
CDN 管理ポータルが開きます。
[HTTP ラージ] タブ、 [キャッシュの設定] フライアウトの順にマウスのカーソルを合わせます。 [圧縮] を選択します。
圧縮のオプションが表示されます。
[Compression Enabled](圧縮の有効化) を選択して圧縮を有効にします。 [ファイルの種類] ボックスで、コンマ区切りのリスト (スペースなし) として、圧縮する MIME の種類を入力します。
ヒント
圧縮形式に圧縮を適用することは可能ですが、推奨されません。 たとえば、ZIP、MP3、MP4、JPG などの形式です。
変更後、 [更新] を選択します。
圧縮のルール
Azure CDN Standard from Microsoft プロファイル
Azure CDN Standard from Microsoft プロファイルの場合、対象ファイルのみが圧縮されます。 圧縮を実行可能にするためのファイルの条件は、次のとおりです。
- ファイルは圧縮用に構成されている MIME の種類である必要がある
- 配信元の応答に "ID" コンテンツエンコーディング ヘッダーのみを含める
- 1 KB より大きい
- 8 MB 未満
これらのプロファイルでは、次の圧縮エンコードがサポートされています。
- gzip (GNU zip)
- brotli
要求で複数の圧縮の種類がサポートされている場合、brotli 圧縮が優先されます。
アセットの要求で gzip 圧縮が指定され、要求がキャッシュ ミスになった場合、Azure CDN は POP サーバー上で直接アセットの gzip 圧縮を行います。 その後、圧縮ファイルがキャッシュから提供されます。
配信元がチャンク転送エンコード (CTE) を使用してデータを CDN POP に送信する場合、圧縮はサポートされません。
Azure CDN from Edgio プロファイル
Azure CDN Standard from Edgio プロファイルと Azure CDN Premium from Edgio プロファイルについては、条件を満たすファイルのみが圧縮されます。 圧縮を実行可能にするためのファイルの条件は、次のとおりです。
- 128 バイトより大きい
- 3 MB 未満
これらのプロファイルでは、次の圧縮エンコードがサポートされています。
- gzip (GNU zip)
- DEFLATE
- bzip2
- brotli
HTTP 要求にヘッダー Accept-Encoding: br
がある場合、CDN の応答は圧縮されません。
圧縮動作の表
次の表に、すべてのシナリオでの Azure CDN 圧縮動作を示します。
圧縮が無効であるか、ファイルの圧縮が実行不可能
クライアントから要求された形式 (Accept-Encoding ヘッダー経由) | キャッシュ ファイルの形式 | クライアントへの CDN の応答 | 注 |
---|---|---|---|
Compressed | Compressed | Compressed | |
Compressed | 非圧縮 | 非圧縮 | |
Compressed | キャッシュなし | 圧縮または非圧縮 | 配信元の応答に応じて、CDN が圧縮を実行するかどうかが決まります。 |
非圧縮 | Compressed | 非圧縮 | |
非圧縮 | 非圧縮 | 非圧縮 | |
非圧縮 | キャッシュなし | 非圧縮 |
圧縮が有効でファイルの圧縮が実行可能
クライアントから要求された形式 (Accept-Encoding ヘッダー経由) | キャッシュ ファイルの形式 | クライアントへの CDN の応答 | Notes |
---|---|---|---|
Compressed | Compressed | Compressed | CDN が、サポートされている形式間のトランスコードを実行します。 Microsoft の Azure CDN では、形式間のコード変換がサポートされていません。元のデータをフェッチした後、その形式に対して個別に圧縮とキャッシュが実行されます。 |
Compressed | 非圧縮 | Compressed | CDN が圧縮を実行します。 |
Compressed | キャッシュなし | Compressed | 配信元から非圧縮ファイルが返された場合、CDN が圧縮を実行します。 Azure CDN from Edgio は、最初の要求で圧縮されていないファイルを渡し、後続の要求のためにファイルを圧縮してキャッシュします。 Cache-Control: no-cache ヘッダーがあるファイルは圧縮されません。 |
非圧縮 | Compressed | 非圧縮 | CDN が展開を実行します。 Microsoft の Azure CDN では、圧縮解除がサポートされていません。元のデータをフェッチした後、非圧縮のクライアント用に個別にキャッシュが実行されます。 |
非圧縮 | 非圧縮 | 非圧縮 | |
非圧縮 | キャッシュなし | 非圧縮 |
Media Services CDN の圧縮
Media Services CDN ストリーミングが有効なエンドポイントの場合、以下の MIME の種類では、既定で圧縮が有効です。
- application/vnd.ms-sstr+XML
- application/dash+XML
- application/vnd.Apple.mpegurl
- application/f4m+XML