すべてのプロダクト
Search
ドキュメントセンター

CDN:リソースの更新とプリフェッチ

最終更新日:Feb 22, 2024

更新機能を使用して、ポイントオブプレゼンス (POP) にキャッシュされているリソースを削除し、オリジンサーバーから最新のリソースを取得できます。 この機能は、オリジンサーバーでのリソースの更新とリリース、不正なリソースのクリーンアップ、ドメイン名の構成変更に適用できます。 プリフェッチ機能を使用して、オフピーク時に頻繁に要求されるリソースをPOPにキャッシュできます。 この機能により、オリジンサーバーの負荷が軽減され、ユーザーエクスペリエンスが向上します。

特徴

  • 更新: すべてのPOPにキャッシュされているリソースを期限切れとしてマークします。 POPがリクエストを受信すると、POPはリクエストをオリジンサーバーにリダイレクトして、リクエストされたリソースを取得します。 次に、リソースがクライアントに返され、POPにキャッシュされます。 リフレッシュ機能により、キャッシュヒット率が低下します。

  • プリフェッチ: オリジンサーバーからリソースをプリフェッチし、POPにリソースをキャッシュします。 POPが要求を受信すると、POPは、要求されたリソースをクライアントに直接返す。 プリフェッチ機能により、キャッシュヒット率が向上します。

シナリオ

次の表に、リフレッシュまたはプリフェッチ機能が一般的に使用されるシナリオを示します。

機能

シナリオ

更新

  • 更新と公開リソース

    オリジンサーバーのリソースが更新された後、更新されたリソースのURLまたはディレクトリを送信できます。 次に、Alibaba Cloud CDN がPOPにキャッシュされているリソースを更新します。 これにより、訪問者はPOPから最新のリソースを取得できます。

  • 不正なコンテンツを削除

    Limitsに記載されている不正なコンテンツをオリジンサーバーから削除した後も、リソースはPOPにキャッシュされているため、訪問者はリソースにアクセスできます。 この場合、更新機能を使用してキャッシュを更新し、POPからリソースを削除する必要があります。

プリフェッチ

  • Provide support for major events

    メジャーイベントを保持する場合は、イベントページの静的リソースをPOPにプリフェッチできます。 イベントの開始後、訪問者はPOPに既にキャッシュされている静的リソースにアクセスできます。 これにより、コンテンツの配信が高速化されます。

  • インストールパッケージのリリース

    製品のインストールまたはアップグレードパッケージをリリースする前に、パッケージをPOPにプリフェッチできます。 製品の発売後、訪問者はPOPからパッケージをダウンロードできます。 これにより、コンテンツの配信が高速化され、多数の訪問者がリソースにアクセスする場合に配信元サーバーの負荷が軽減されます。

使用上の注意

  • 更新タスクが完了すると、POPにキャッシュされているリソースは削除されます。 POPがリソースのリクエストを受信すると、リクエストはオリジンサーバーにリダイレクトされ、リソースが取得されます。 次に、リソースがクライアントに返され、POPにキャッシュされます。 更新タスクを頻繁に実行すると、リソースの配信元サーバーにリダイレクトされるリクエストが増えます。 これにより、帯域幅コストが高くなり、オリジンサーバーの負荷が増えます。

  • 更新タスクは、送信後5〜6分で有効になります。 更新するリソースのTTLが5分未満の場合は、更新タスクを手動で実行するのではなく、有効期限が切れるまで待機します。

  • プリフェッチタスクの実行後、POPはすぐにオリジンサーバーからリソースの取得を開始します。 多数のプリフェッチタスクは、多数の同時ダウンロードタスクをもたらす。 これにより、オリジンサーバーにリダイレクトされるリクエストの数が増加します。 オリジンフェッチプロセスはより多くの帯域幅リソースを消費し、オリジンサーバーは圧倒される可能性があります。

  • プリフェッチタスクを完了するのに必要な時間は、プリフェッチするファイルのサイズに比例します。 ほとんどの場合、ほとんどのプリフェッチタスクは完了するのに5〜30分かかります。 平均ファイルサイズが小さいタスクは、完了するまでの時間が短くなります。

  • Resource Access Management (RAM) ユーザーは、リソースを更新またはプリフェッチする前に、必要な権限を取得する必要があります。 詳細については、「RAMユーザーにリソースのプリフェッチと更新を許可する」をご参照ください。

  • URL更新、ディレクトリ更新、および正規表現に基づく更新は、キャッシュ共有をサポートします。 キャッシュ共有がドメイン名に設定されている場合、ルートドメイン名または関連するドメイン名を使用して更新タスクを送信し、キャッシュを更新できます。

  • デフォルトでは、プリフェッチ要求にはAccept-Encoding:gzipヘッダーが含まれます。 プリフェッチ要求に他のヘッダーを含めたい場合、またはマルチレプリカプリフェッチを実装する場合は、PushObjectCache操作を呼び出し、WithHeaderパラメーターを設定してカスタムプリフェッチヘッダーを指定できます。

  • オリジンサーバーがリダイレクト関連のステータスコード (HTTP 307ステータスコードなど) を返した場合、プリフェッチタスクはリダイレクトされたアドレスに従わず、失敗します。 オリジンサーバーがHTTP 301または302ステータスコードを返し、Alibaba Cloud CDNコンソールで301または302のリダイレクトを有効にしている場合、プリフェッチタスクは影響を受けません。 詳細については、「301/302リダイレクトの設定」をご参照ください。

リソースを手動で更新する

  1. Alibaba Cloud CDNコンソール

  2. 左側のナビゲーションウィンドウで、更新 & プリロード をクリックします。

  3. 更新 / プリフェッチ タブで、更新ルールを設定します。 次の表にパラメーターを示します。

    刷新预热

    パラメーター

    説明

    アクション

    リフレッシュ を選択します。

    操作方法

    URLディレクトリ、または正規表現を選択します。

    URL

    • デフォルトでは、各Alibaba Cloudアカウントは、1日あたり最大10,000個のURLとサブディレクトリを含む100ディレクトリからコンテンツを更新できます。 Alibaba Cloudアカウントの1日あたりのピーク帯域幅が200 Mbit/sを超える場合は、チケットを起票してクォータの増加をリクエストしてください。 詳細については、「クォータ管理」をご参照ください。 Alibaba Cloudは、ワークロードに基づいてアプリケーションを承認するかどうかを決定します。

    • デフォルトでは、各Alibaba Cloudアカウントは、1日あたり最大20個の正規表現を含む更新ルールを送信できます。 Alibaba Cloudアカウントの1日あたりのピーク帯域幅が10 Gbit/sを超える場合、チケットを起票し、クォータの増加をリクエストします。

    • URLに基づいてリソースを更新する

      • 各URLはhttp:// またはhttps:// で始まる必要があります。

      • 各行にURLを1つだけ入力してください。

    • ディレクトリに基づいてリソースを更新する

      • 各URLは、http:// またはhttps:// で始まり、スラッシュ (/) で終わる必要があります。

        • ルートディレクトリhttp://example.com/ のすべてのファイルを更新します。

        • /path/test/ サブディレクトリhttp://example.com/path/test/ 内のすべてのファイルを更新します。

      • 各行にURLを1つだけ入力してください。

      • 一度に最大100ディレクトリからコンテンツを更新でき、1分あたりのドメイン名で最大100ディレクトリからコンテンツを更新できます。

      • ディレクトリに基づいてリソースを更新すると、送信したディレクトリは強制的に削除されます。 クライアントが削除されたディレクトリからリソースを要求すると、POPはその要求をオリジンサーバーにリダイレクトして、最新のリソースを取得します。

    • 正規表現に基づいてリソースを更新する

      詳細については、「正規表現を含むURL更新ルールの設定」をご参照ください。

  4. 送信 をクリックします。

  5. 更新の進行状況を表示します。

    更新タスクを送信した後、レコード タブでタスクの進行状況と詳細を表示できます。 進行状況は、更新するオブジェクトの数によって異なります。 リフレッシュタスクは、完了するためにある程度の時間を要する。

    説明

    OSSコンソールで [CDNキャッシュの自動更新] 機能を有効にしている場合、Alibaba Cloud CDNコンソールで自動更新タスクを表示することはできません。

リソースの手動プリフェッチ

  1. Alibaba Cloud CDNコンソール

  2. 左側のナビゲーションウィンドウで、更新 & プリロード をクリックします。

  3. 更新 / プリフェッチ タブで、プリフェッチルールを設定します。 次の表にパラメーターを示します。

    预热

    パラメーター

    説明

    アクション

    プッシュ を選択します。

    操作方法

    URLのみがサポートされています。

    URL

    • 各URLはhttp:// またはhttps:// で始まる必要があります。

    • 各行にURLを1つだけ入力してください。

    • 各Alibaba Cloudアカウントは、1日あたり最大1,000個のURLを、リクエストで最大100個のURLを送信できます。 Alibaba Cloudアカウントの1日あたりのピーク帯域幅が200 Mbit/sを超える場合、クォータの増加をリクエストできます。 詳細については、「クォータ管理」をご参照ください。 Alibaba Cloudは、ワークロードに基づいてアプリケーションを承認するかどうかを決定します。

    • 各Alibaba Cloudアカウントのプリフェッチキューには、最大100,000個のURLを含めることができます。 Alibaba Cloud CDN は、URLを送信した時点に基づいてプリフェッチタスクを実行します。 プリフェッチキュー内のURL数が100,000に達すると、Alibaba Cloud CDN は後続のプリフェッチタスクを拒否します。

    • プリフェッチタスクを完了するのに必要な時間は、プリフェッチするファイルのサイズに比例します。 平均ファイルサイズが小さいタスクは、完了するまでの時間が短くなります。

  4. 送信 をクリックします。

  5. プリフェッチの進行状況を表示します。

    プリフェッチタスクを送信した後、レコード タブでタスクの進行状況と詳細を表示できます。 進行状況は、プリフェッチするオブジェクトの数によって異なります。 プリフェッチタスクは、完了するのにある程度の時間を要する。

リソースの自動更新またはプリフェッチ

更新およびプリフェッチタスクを自動化する方法の詳細については、「コンテンツを更新およびプリフェッチするスクリプトの実行」をご参照ください。

関連する API 操作

次の表に示すAPI操作を呼び出して、リソースを更新およびプリフェッチできます。

API 操作

説明

PushObjectCache

オリジンサーバーからPOPにリソースをプリフェッチします。 これにより、訪問者は最初の訪問時にキャッシュをヒットできるため、オリジンサーバーの負荷が軽減されます。

RefreshObjectCaches

POP上のファイルをリフレッシュします。 ファイルが更新されると、元のファイルの内容はすぐに無効になります。 クライアントが元のファイルコンテンツをリクエストした場合、Alibaba Cloud CDNはコンテンツが保存されているオリジンサーバーにリクエストをリダイレクトします。 その後、Alibaba Cloud CDNは最新のコンテンツをPOPにキャッシュし、クライアントに返します。 Alibaba Cloud CDNでは、一度に複数のURLからコンテンツを更新できます。

説明

URL更新、ディレクトリ更新、および正規表現に基づく更新は、キャッシュ共有をサポートします。 キャッシュ共有がドメイン名に設定されている場合、ルートドメイン名または関連するドメイン名を使用して更新タスクを送信し、キャッシュを更新できます。

DescribeRefreshTasks

更新またはプリフェッチタスクのステータスを照会します。

DescribeRefreshTaskById

更新またはプリフェッチタスクのステータスをIDで照会します。

DescribeRefreshQuota

更新可能なURLおよびディレクトリの最大数と残り数、プリフェッチ可能なURLの最大数と残り数、および当日にブロック可能なURLおよびディレクトリの最大数と残り数を照会します。

DescribeCdnUserQuota

最大クォータと残りのクォータを照会します。