Range オリジンフェッチは、Alibaba Cloud CDN (CDN) の POP (Point of Presence) がオリジンサーバーへのリクエストに HTTP Range ヘッダーを含めるプロセスです。オリジンサーバーがリクエストを受信すると、コンテンツの指定された部分のみを POP に送信します。このメソッドにより、ファイル配信の効率が向上し、CDN back-to-origin トラフィックとサーバー負荷が軽減され、リソースの応答時間が短縮されます。
背景情報
Range ヘッダーは、取得するリソースの部分を指定する HTTP リクエストヘッダーです。例えば、Range: bytes=0-100 は、ファイルの最初の 101 バイトをリクエストします。
Range オリジンフェッチが有効になっている場合、POP がキャッシュにない、または期限切れのリソースに対するリクエストを受信すると、POP はオリジンサーバーに Range リクエストを送信します。リクエストされたリソースの部分をセグメント単位で取得し、キャッシュします。
以下の図は、Range オリジンフェッチの仕組みを示しています。
よくある質問
Range リクエストをサポートしていないオリジンサーバーで Range オリジンフェッチを有効にするとどうなりますか?
この機能をサポートされていないオリジンサーバーで有効にすると、キャッシュエラーやクライアントリクエストの失敗につながる可能性があります。
オリジンサーバーは、HTTP リクエストの Range ヘッダーを正しく処理し、206 Partial Content ステータスで応答できる必要があります。そうでない場合、CDN の POP は期待されるファイルセグメントを受信できず、エラーが発生します。この機能を有効にする前に、オリジンサーバーが Range リクエストを適切に処理できることを確認する必要があります。
Range オリジンフェッチはデフォルトで有効になっていますか?
いいえ。Range オリジンフェッチはオプション機能であり、CDN コンソールではデフォルトで無効になっています。使用する必要がある場合は、手動で有効にする必要があります。
Range オリジンフェッチを有効にすると、Multipart Ranges も有効になりますか?
いいえ。Multipart Ranges 機能は別の機能であり、Range オリジンフェッチを有効にしても無効のままです。Multipart Ranges 機能を有効にするには、チケットを送信できます。
Range オリジンフェッチを有効にした後、オリジンサーバーがレート制限されるのを防ぐにはどうすればよいですか?
Range オリジンフェッチを有効にすると、ファイルが単一のリクエストではなく複数の小さなチャンクでフェッチされるため、オリジンへの秒間リクエスト数 (QPS) が増加します。この高い QPS は、サーバーのレート制限ルールをトリガーする可能性があります。
これを防ぐには、CDN のオリジン IP アドレスをオリジンサーバーの IP ホワイトリストに追加します。
DescribeL2VipsByDomain 操作を使用して、CDN オリジンフェッチ POP の IP アドレスを取得します。
これらの IP アドレスをオリジンサーバーの IP アドレスのホワイトリストに追加します。
操作手順
CDN コンソールにログインします。
左側のナビゲーションウィンドウで、ドメイン名 をクリックします。
ドメイン名 ページで、対象のドメイン名を見つけ、操作 列の 管理 をクリックします。
ドメインのナビゲーションウィンドウで、ビデオ関連 をクリックします。
範囲の Back-to-Origin セクションで、変更 をクリックします。
以下のパラメーターの説明に基づいて、無効、クライアントにマッチ、または 有効 (大容量ファイルシナリオに推奨) を選択します。
クライアントにマッチ または 有効 (大容量ファイルシナリオに推奨) を選択した場合、シャードサイズを設定できます。デフォルトのサイズは 512 KB です。
パラメーター
オプション
説明
例
範囲の Back-to-Origin
無効
デフォルト設定は 無効 です。この設定では、クライアントが CDN POP に Range リクエストを送信するかどうかに関係なく、CDN POP はオリジンサーバーからファイル全体を取得します。これにより、大容量ファイルのシナリオではファイル配信の効率が低下します。
例えば、クライアントが
Range: bytes=0-100を含むリクエストを CDN POP に送信します。CDN POP は Range ヘッダーなしでオリジンサーバーにリクエストを送信します。オリジンサーバーはファイル全体を CDN POP に返します。例えば、ファイルが 10 MB の場合、オリジンサーバーは 10 MB のファイルを CDN POP に返します。CDN POP は受信したファイルをキャッシュし、Range: bytes=0-100で指定されたデータのチャンクをクライアントに返します。クライアントにマッチ
クライアントにマッチ を有効にすると、CDN POP はクライアントから Range リクエストを受信した場合にのみ、オリジンサーバーに Range リクエストを送信します。最初のオリジンリクエストでは、CDN POP はクライアントのリクエストの範囲サイズをシャードサイズの最も近い整数倍に切り上げて、オリジンサーバーに範囲をリクエストします。CDN POP からの後続のすべてのオリジンリクエストでは、ユーザーが指定したシャードサイズが使用されます。
例えば、シャードサイズが 512 KB の場合です。クライアントが
Range:bytes=0-614399(600 KB) のリクエストを CDN/ POP に送信します。CDN/ POP からの最初のオリジンリクエストは 1024 KB (600 KB から切り上げ) になります。後続のオリジンリクエストは 512 KB のシャードになります。有効 (大容量ファイルシナリオに推奨)
有効 (大容量ファイルシナリオに推奨) を有効にすると、CDN POP へのクライアントリクエストに Range ヘッダーが含まれているかどうかに関係なく、CDN POP は常に Range リクエストを使用してオリジンフェッチを行います。CDN POP からのすべてのオリジンフェッチ Range リクエストは、指定したシャードサイズに従ってオリジンサーバーからコンテンツをプルします。
なし
シャードサイズ
512 KB
1 MB
2 MB
4 MB
オリジンフェッチモードが クライアントにマッチ または 有効 (大容量ファイルシナリオに推奨) に設定されている場合、シャードサイズを設定できます。デフォルトのサイズは 512 KB です。
1 MB
ルール条件
使用しない:ルール条件を使用しません。
ルール条件を追加または編集するには、ルールエンジンで管理します。
ルール条件は、ユーザーリクエスト内のさまざまなパラメーターを識別して、構成がリクエストに適用されるかどうかを判断します。
使用しない
OK ボタンをクリックします。