Range オリジンフェッチを有効にすると、CDN POP (Point of Presence) はオリジンリクエストに Range ヘッダーを含めることができます。これにより、オリジンサーバーはリソースの指定された部分のみを返すようになります。この機能は、ファイル配信効率を向上させ、オリジントラフィックを削減し、オリジンサーバーの負荷を軽減し、応答時間を短縮します。
背景
HTTP Range ヘッダーは、リソースのどの部分を取得するかを指定します。たとえば、Range: bytes=0-100 は、ファイルの最初の 101 バイトを要求します。
Range オリジンフェッチを有効にすると、POP はキャッシュされていない、または有効期限が切れたリソースのリクエストを受信した際に、Range リクエストを使用してオリジンサーバーから必要なセグメントのみをフェッチし、ローカルにキャッシュします。
Range オリジンフェッチの仕組み:
注意事項
Range オリジンフェッチを有効にする前に:
オリジンサーバーが Range リクエストをサポートし、
206 Partial Contentで応答できることを確認してください。サポートしていない場合、この機能を有効にすると、キャッシュの問題やリクエストの失敗が発生する可能性があります。Range オリジンフェッチは、デフォルトでは無効になっています。
マルチパート Range はデフォルトで無効になっており、Range オリジンフェッチによって有効になることはありません。有効にするには、チケットを送信してください。
Range オリジンフェッチを有効にすると、オリジンフェッチ QPS が増加し、オリジンサーバーのレート制限がトリガーされる可能性があります。これを回避するには、DescribeL2VipsByDomain API を呼び出してオリジンフェッチ POP の IP アドレスを取得し、オリジンサーバーの IP 許可リストに追加します。
大容量ファイルのユースケース
CDN は、MP4 などの大容量ファイルのプログレッシブストリーミングをサポートしています。その動作は、オリジンサーバーの Range リクエストのサポート状況と、CDN コンソールで設定されたオリジンフェッチモードによって異なります。
シナリオ1:オリジンサーバーが Range リクエストをサポートし、Range オリジンフェッチが有効になっている場合
クライアントが Range リクエストを送信し、Range オリジンフェッチが有効になっている場合、POP はオリジンサーバーからリクエストされたデータ範囲のみをフェッチしてクライアントに返します。POP はファイル全体のダウンロードを待ちません。プログレッシブストリーミングがサポートされます。
シナリオ2:クライアントが Range リクエストを送信しない場合
クライアントが Range ヘッダーなしでファイル全体をリクエストした場合、POP はオリジンからファイル全体をリクエストし、クライアントにストリーミングします。データは受信と同時に転送されるため、クライアントはすぐに再生を開始できますが (MP4 の moov アトムがファイルヘッダーにある場合)、まだダウンロードされていない位置へのシークはできません。このシナリオでは、Range オリジンフェッチの設定はクライアント側の転送動作に影響を与えません。
シナリオ3:オリジンサーバーが Range リクエストをサポートしていない場合
オリジンサーバーが Range リクエストをサポートしておらず、206 で応答できない場合、Range オリジンフェッチを有効にしても効果はありません。POP は代わりにファイル全体をフェッチします。この機能を有効にする前に、オリジンサーバーが Range リクエストをサポートしていることを確認してください。
MP4 および同様のフォーマットはストリーミングをサポートしていますが、基盤となる HTTP トランスポートが Range リクエストをサポートしている必要があります。オリジンサーバーが Range リクエストをサポートしていることを確認し、要件に基づいて適切なオリジンフェッチモードを選択してください。
手順
Alibaba Cloud CDN コンソールにログインします。
左側のナビゲーションペインで [ドメイン名 ] をクリックします。
[ドメイン名] ページで、管理対象のドメイン名を見つけ、[アクション] 列の [管理] をクリックします。

ドメイン名の左側のナビゲーションウィンドウで、[ビデオ関連] をクリックします。
範囲の Back-to-Origin セクションで、変更 をクリックします。
以下の表に基づいて、無効、クライアントにマッチ、または 有効 (大容量ファイルシナリオに推奨) を選択します。
クライアントにマッチ または 有効 (大容量ファイルシナリオに推奨) を選択すると、シャードサイズを設定できます。デフォルトのシャードサイズは 512 KB です。
パラメーター
オプション
説明
例
[範囲の Back-to-Origin]
[無効]
デフォルトでは、無効 が選択されています。この設定では、クライアントが CDN POP に Range リクエストを送信したかどうかに関わらず、CDN POP はオリジンフェッチ中にファイル全体をリクエストするため、大容量ファイルの配信効率が低くなります。
例えば、クライアントから CDN POP へのリクエストに
Range: bytes=0-100が含まれている場合、CDN POP は Range パラメーターなしでオリジンサーバーにリクエストを送信します。 オリジンサーバーは、ファイル全体を CDN POP に送信します。 例えば、ファイルが 10 MB の場合、オリジンサーバーは 10 MB のファイルを CDN POP に送信します。 CDN POP は、オリジンサーバーから受信したファイルをキャッシュし、Range: bytes=0-100リクエストのコンテンツをクライアントに返します。[クライアントにマッチ]
クライアントにマッチ を有効にした後、クライアントが CDN POP に Range リクエストを送信すると、CDN POP は Range リクエストを使用してオリジンフェッチを実行します。最初のオリジンフェッチリクエストでは、CDN POP はオリジンサーバーにデータブロックをリクエストします。このブロックのサイズは、クライアントのリクエストのレンジサイズをシャードサイズの最も近い整数倍に切り上げることで決定されます。後続のすべてのオリジンフェッチリクエストでは、指定したシャードサイズが使用されます。
たとえば、シャードサイズが 512 KB の場合、クライアントが CDN POP に
Range:bytes=0-614399(600 KB) を含むリクエストを送信し、ファイルが CDN POP にキャッシュされていない場合、最初のオリジンフェッチでは 1024 KB のシャード (600 KB を 1024 KB に切り上げ) が取得されます。ファイルのキャッシュされていない他のシャードに対する後続のリクエストでは、CDN POP は 512 KB のシャードサイズを使用してオリジンサーバーにアクセスします。[有効 (大容量ファイルシナリオに推奨)]
有効 (大容量ファイルシナリオに推奨) が有効になると、クライアントが CDN POP にレンジリクエストを送信するかどうかにかかわらず、CDN POP は常にオリジンフェッチにレンジリクエストを使用します。CDN POP からオリジンサーバーに送信されるすべてのレンジリクエストは、お客様が指定したシャードサイズを使用します。
なし
[シャードサイズ]
512 KB
1 MB
2 MB
4 MB
クライアントにマッチ または 有効 (大容量ファイルシナリオに推奨) を選択した場合、シャードサイズを設定できます。デフォルトサイズは 512 KB です。
1 MB
[ルール条件]
ルール条件は、設定を適用するかどうかを決定するためにリクエストパラメーターを評価します。
重要機能がルールエンジンのルール条件を使用する場合、実行は機能の設定順序ではなく、ルール条件の優先度に従って行われます。
[条件を使用しない]:条件付きルールを無効にします。
ルールエンジンで条件付きルールを追加または編集できます。
ルール条件は、設定を適用するかどうかを決定するためにユーザーリクエストのパラメーターを評価します。
使用しない
OK をクリックして設定を保存します。