Range オリジンフェッチは、DCDN のエッジノードがオリジンサーバーへの HTTP リクエストに Range ヘッダーを含める機能です。DCDN のエッジノードからリクエストを受け取ったオリジンサーバーは、Range ヘッダーに基づいて指定された範囲のデータをDCDN のエッジノードに返します。Range オリジンフェッチにより、ファイルディストリビューション効率が大幅に向上し、キャッシュヒット率が増加し、CDN back-to-origin アウトバウンドトラフィックとオリジンサーバーへの負荷が軽減され、リソースの応答速度が改善されます。
背景情報
Range ヘッダーは、取得するコンテンツの範囲を指定する HTTP ヘッダーです。たとえば、Range: bytes=0-100 は、オリジンへのリクエストでファイルの先頭から 101 バイトを取得することを示します。
Range オリジンフェッチ機能を有効化すると、DCDN がユーザーからのリクエストを受け取った際に、対象リソースがDCDN のエッジノード上にキャッシュされていない、または期限切れの場合、そのDCDN エッジノードは、Range リクエストを使用してオリジンサーバーから必要な部分をセグメント単位で取得し、DCDN のエッジノード上にキャッシュします。
次の図は、Range オリジンフェッチの動作を示しています。
注意事項
Range オリジンフェッチを有効化する前に、ご利用のオリジンサーバーが Range リクエストをサポートしていることを確認してください。つまり、オリジンサーバーは HTTP ヘッダー内の Range フィールドを処理でき、
206 Partial Content状態コードで応答できる必要があります。オリジンサーバーが Range リクエストをサポートしていない場合、この機能を有効化するとリソースのキャッシュが失敗します。Multipart Ranges 機能はデフォルトで無効になっており、Range オリジンフェッチを有効化しても自動的に有効になりません。Multipart Ranges 機能を有効化するには、チケットを送信してください。
Range オリジンフェッチ機能を有効にすると、オリジンフェッチの QPS が増加します。オリジンサーバーでレート制限が有効になっている場合、これによりレート制限ルールがトリガーされる可能性があります。回避策として、DescribeL2VipsByDomain 操作を呼び出して DCDN オリジンフェッチ POP の IP アドレスを照会し、DCDN オリジンフェッチ POP の IP アドレスをオリジンサーバーの IP アドレスホワイトリストに追加してください。
操作手順
-
ドメイン名 ページで、管理対象のドメイン名を見つけ、設定 をクリックします。
オリジンフェッチ タブで、Range オリジンフェッチ セクションを見つけ、変更 をクリックします。
次の表のパラメーター説明に基づき、Range オリジンフェッチを Range オリジンフェッチを有効化しない、クライアントに一致、または Range オリジンフェッチを有効化 (大容量ファイル配信に推奨) のいずれかに設定します。
Range オリジンフェッチで クライアントに一致 または Range オリジンフェッチを有効化 (大容量ファイル配信に推奨) を選択した場合、シャードサイズ を設定できます。デフォルトのシャードサイズは 512 KB です。
パラメーター
オプション
説明
例
Range オリジンフェッチ
Range Origin Fetch を有効化しない
デフォルト設定は Range オリジンフェッチを使用しない です。この設定では、クライアントが DCDN のエッジノードに Range リクエストを送信したかどうかに関係なく、DCDN のエッジノードはオリジンからファイル全体を取得します。これにより、大容量ファイルのディストリビューション効率が低下します。
たとえば、クライアントから DCDN のエッジノードへのリクエストに
Range: bytes=0-100が含まれている場合でも、DCDN のエッジノードは Range パラメーターなしでオリジンサーバーにリクエストを送信します。オリジンサーバーはファイル全体を DCDN のエッジノードに送信します。たとえば、ファイルが 10 MB の場合、オリジンサーバーは 10 MB のファイルを DCDN のエッジノードに送信します。DCDN のエッジノードはオリジンサーバーから受信したファイルをキャッシュし、その後クライアントに対してRange: bytes=0-100リクエストに対応するコンテンツを返します。クライアントに一致
[クライアントのRangeリクエストに従う]を有効化すると、クライアントが DCDN ノードに Range リクエストを送信した場合、DCDN ノードはオリジンサーバーに Range リクエストを送信します。DCDN ノードからの最初のオリジンへのリクエストでは、クライアントリクエストの Range サイズをシャードサイズの最も近い整数倍に切り上げたサイズのデータチャンクを取得します。その後のオリジンサーバーへのすべてのリクエストは、指定したシャードサイズに基づきます。
たとえば、シャードサイズが 512 KB の場合、クライアントが DCDN のエッジノードに
Range:bytes=0-614399(600 KB)を含むリクエストを送信し、かつそのファイルが DCDN のエッジノードにキャッシュされていない場合、最初のオリジンフェッチでは 1024 KB のシャード(600 KB を 1024 KB に切り上げ)を取得します。以降、ファイルの他のキャッシュされていないシャードに対するリクエストでは、DCDN のエッジノードは 512 KB のシャードサイズでオリジンサーバーにアクセスします。Range オリジンフェッチを有効化 (大容量ファイル配信に推奨)
[大規模ファイル向け推奨:Range オリジンフェッチを有効化]を有効化すると、クライアントが DCDN エッジノードに Range リクエストを送信するかどうかに関係なく、DCDN エッジノードはオリジンフェッチに Range リクエストを使用します。オリジンサーバーへの DCDN エッジノードからのすべてのオリジンフェッチ Range リクエストは、指定したシャードサイズを使用します。
なし
シャードサイズ
512 KB
1 MB
2 MB
4 MB
モードが クライアントに一致 または Range オリジンフェッチを有効化 (大容量ファイル配信に推奨) に設定されている場合、Range オリジンフェッチのシャードサイズを設定できます。デフォルトのシャードサイズは 512 KB です。
1 MB
ルール条件
ルール条件は、リクエスト内のさまざまなパラメーターを評価することで、構成がリクエストに適用されるかどうかを判断します。
重要機能がルールエンジンで構成されたルール条件を参照する場合、実行順序は機能構成の順序ではなく、関連付けられたルール条件の優先度に従います。
条件を使用しない:条件付きルールを無効化します。
条件付きルールは、ルールエンジン で追加または編集できます。
ルール条件は、ユーザーのリクエスト内のパラメーターを識別し、構成が特定のリクエストに適用されるかどうかを判断します。
無効