パージ機能を使用すると、CDN エッジノード上のキャッシュされたリソースを無効にし、オリジンサーバーから最新のリソースを強制的にフェッチさせることができます。これは、コンテンツの更新、新しいリソースの公開、違反コンテンツの削除、ドメイン設定の変更を適用するなどのシナリオで役立ちます。プリフェッチ機能を使用すると、トラフィックのピークに先立って人気のあるリソースをエッジノードにキャッシュし、オリジンサーバーの負荷を軽減できます。
仕組み
リソースのパージ
パージ操作は、ファイルを直接削除するのではなく、キャッシュ無効化コマンドをエッジノードに送信します。エッジノードがコマンドを受信すると、一致するキャッシュリソースを「無効」または「期限切れ」としてマークします。その後、ユーザーがリソースをリクエストすると、エッジノードはキャッシュが無効であることを検出し、オリジンフェッチを実行して最新バージョンを取得し、新しいバージョンをキャッシュすると同時にユーザーに提供します。
コンソールでのデフォルトのパージ方法:CDN コンソールでディレクトリパージまたは正規表現パージを実行すると、システムはデフォルトでソフトパージを使用します。ソフトパージは、キャッシュを期限切れとしてマークするだけです。エッジノードがオリジンフェッチを実行する際、リクエストに If-Modified-Since または If-None-Match ヘッダーを含めます。オリジンサーバーが 304 Not Modified レスポンスを返した場合、エッジノードは古いキャッシュコピーを保持します。この方法はオリジンフェッチトラフィックを節約しますが、同名ファイルの更新、違反コンテンツの削除、設定変更後などのシナリオで、ユーザーが古いコンテンツにアクセスする可能性があります。キャッシュを完全にパージするには、RefreshObjectCaches API を呼び出し、Force パラメーターを true に設定して強制パージを実行することを推奨します。
ユースケース
リソースの更新とリリース:オリジンサーバー上のリソースを更新またはアップグレードした後、対応する URL またはディレクトリをパージ対象として送信することで、ユーザーが最新のコンテンツにアクセスできるようになります。これにより、最新コンテンツがエッジノードにキャッシュされます。
違反コンテンツの削除:Web サイトに違反コンテンツがある場合、オリジンサーバーから削除するだけでは不十分です。エッジノードのキャッシュにまだ存在する可能性があるためです。URL パージを実行してキャッシュされたリソースを削除し、違反コンテンツが迅速に削除されるようにする必要があります。
リソースのプリフェッチ
プリフェッチ操作は、エッジノードがオリジンサーバーからリソースをプロアクティブにフェッチしてキャッシュするプル型のメカニズムです。これはオリジンサーバーからのプッシュではありません。プリフェッチは、新しいリソースやイベントページの初回アクセス速度を向上させ、製品やイベントのローンチ時のオリジンフェッチの負荷を軽減することで、オリジンサーバーを保護します。
プリフェッチのメカニズム:デフォルトでは、プリフェッチ操作はリソースをすべての L1 エッジノードに配布するのではなく、L2 オリジンフェッチノード (L2 キャッシュレイヤー) にキャッシュします。ユーザーが初めてリソースにアクセスすると、L1 エッジノードは L2 オリジンフェッチノードまたはオリジンサーバーからコンテンツを取得してキャッシュします。したがって、プリフェッチは主にオリジンサーバーの負荷を軽減することを目的としています。L1 エッジノードでのキャッシュカバレッジは、実際のユーザーアクセスパターンに依存します。ユーザーのリクエストによって L1 ノードがコンテンツをローカルにキャッシュした後にのみ、同じ地域の後続のユーザーがその L1 ノードからの直接的なキャッシュヒットのメリットを得られます。
ユースケース
CDN の初期設定:ドメインを CDN に追加した後、人気のある静的リソースをエッジノードにプリフェッチします。ユーザーがこれらのリソースをリクエストすると、エッジノードが直接応答できるため、初回読み込みの遅延がなくなり、ユーザーエクスペリエンスが向上します。
プロモーションイベントの開始:大規模なイベントの前に、イベントページのすべての静的リソースをプリフェッチします。イベントが開始されると、すべての静的リソースはすでにエッジノードにキャッシュされており、直接提供できるため、ページの読み込み時間が高速になります。
インストールパッケージまたは大容量ファイルのリリース:新しいバージョンまたは更新パッケージをリリースする前に、リソースをエッジノードにプリフェッチします。製品が公開されると、エッジノードがダウンロードリクエストを直接処理するため、ダウンロード速度が向上し、オリジンサーバーの負荷が軽減されます。
プリフェッチキャッシュの階層と期待される結果
プリフェッチ操作は、主に L2 集約ノードにリソースをキャッシュするものであり、すべての L1 エッジノード (POP) にキャッシュするわけではありません。ユーザーがプリフェッチされたリソースを初めてリクエストすると、L1 POP は L2 ノードまたはオリジンサーバーからそれを取得します。したがって、プリフェッチの主な目的は、すべての L1 POP での即時のキャッシュヒットを保証することではなく、オリジンサーバーの負荷を軽減することです。
コスト評価:プリフェッチはキャッシュヒット率の向上に役立ちます。ただし、小容量ファイルや人気のないリソースについては、プリフェッチのコストを慎重に評価してください。プリフェッチはオリジンフェッチトラフィックを生成し、その量はほぼファイルサイズに L2 ノードの数を掛けたものに等しくなります。
前提条件
権限:パージおよびプリフェッチ API (
RefreshObjectCachesやPushObjectCacheなど) を呼び出すか、コンソールでこれらの操作を実行するには、RAM ユーザーにcdn:RefreshObjectCaches(パージ用) およびcdn:PushObjectCache(プリフェッチ用) の権限が必要です。最小権限の原則に従い、ビジネスに必要な権限のみを付与することを推奨します。詳細については、「RAMユーザーへのリソースのパージとプリフェッチの権限付与」をご参照ください。URL 形式:URL に漢字やスペースなどの非 ASCII 文字が含まれている場合、URL は
UTF-8を使用してパーセントエンコードする必要があります。そうしないと、パージまたはプリフェッチタスクが失敗する場合があります。例:オリジンサーバー上のファイルのパスが
https://www.example.com/文書/説明.pdfの場合、パージタスクを送信する前にhttps://www.example.com/%E6%96%87%E6%9B%B8/%E8%AA%AC%E6%98%8E.pdfとしてエンコードします。
パージとプリフェッチの使用上の注意
タスクのタイミング:キャッシュのパージとプリフェッチの両方のタスクは、オリジンフェッチトラフィックを生成します。大規模なキャッシュのパージとプリフェッチのタスクは、オフピーク時間に実行することを推奨します。
パージタスクをプライマリドメインまたは関連ドメインのいずれかを使用して送信すると、すべての関連ドメインのキャッシュが無効になります。
プライマリドメインを使用してプリフェッチタスクを送信すると、プライマリドメインのオリジンフェッチノードグループにのみコンテンツがプリフェッチされます。関連ドメインにもコンテンツをプリフェッチするには、チケットを送信して、プライマリドメインと関連ドメインのオリジンフェッチノードグループが同じであるかを確認してください。同じであれば、プライマリドメインのプリフェッチで十分です。
アクセス URL の書き換え:アクセスURLを書き換えるルールを設定している場合、ノードは書き換え後の URL に基づいてキャッシュキーを生成します。したがって、パージおよびプリフェッチ操作には、書き換え後の URL を送信する必要があります。
パージとキャッシュルール:URL パージは、POP 上の特定のキャッシュされたリソースを無効にするだけで、コンソールで設定されたディレクトリレベルのキャッシュルールを削除または変更するものではありません。
オリジンサーバーの独立性:パージ操作は CDN POP キャッシュを対象としており、特定のオリジンサーバーからのキャッシュのパージはサポートしていません。CDN は複数のオリジンサーバー間の差異を抽象化し、パージ操作はすべてのノードで一致するすべてのリソースに均一に適用されます。
パラメーターを無視する URL のパージ:ドメイン名に「パラメーターフィルタリング」キャッシュルールが設定されている場合は、パージ URL が実際のキャッシュキーと一致していることを確認するか、ディレクトリパージを使用してください。古いバージョンと新しいバージョンが共存するカナリアリリースの際には、バージョンパラメーター付きの URL をパージして最新のコンテンツを取得できます。
URL 認証を使用する URL のパージとプリフェッチ:ドメイン名で URL 認証が有効になっている場合、リソースをパージまたはプリフェッチする際には、認証署名パラメーターなしの元の URL パス (アクセラレーションドメイン名 + ファイルパス) を送信します。URL 認証はアクセス権限を制御するだけで、CDN のキャッシュやオリジンフェッチの動作には影響しません。認証が成功すると、CDN ノードは URL から認証パラメーターを削除し、元の URL をキャッシュキーとして使用します。
コスト
パージおよびプリフェッチ機能自体に料金は発生しません。
ただし、これらの操作はいずれもエッジノードがオリジンサーバーからリソースを取得するきっかけとなり、オリジンフェッチのトラフィックとリクエストが発生します。このトラフィックとリクエストに対する課金は、オリジンサーバーの種類によって異なります。
オリジンサーバーが Alibaba Cloud OSS の場合、OSS の課金ルールに基づいてオリジンフェッチトラフィックおよびオリジンフェッチリクエストに対して課金されます。
オリジンサーバーが ECS インスタンスまたは他のサーバーの場合、そのネットワーク帯域幅またはトラフィックプランに基づいて課金されます。
特に短時間に行われる大規模なパージまたはプリフェッチ操作は、オリジンフェッチのコストを増加させる可能性があります。これらの操作を実行する前に、コストへの潜在的な影響を評価してください。
操作手順
リソースのパージ
CDNコンソールにログインします。
左側メニューで、パージとプリフェッチ をクリックします。
パージ / プリフェッチ タブで、操作タイプとしてパージ を選択します。
パージタイプを選択し、タスクを送信します。
パージタイプ | 説明 |
URL パージ | 目的:1 つ以上の特定のファイルのキャッシュを無効にします。アクション:[URL] 入力ボックスに、 |
ディレクトリパージ | 目的:指定された URL ディレクトリ配下のすべてのファイルとサブディレクトリのキャッシュを無効にします。アクション:完全なディレクトリ URL を入力します。URL はスラッシュ ( |
正規表現パージ | 目的:正規表現を使用して URL パスを照合し、リソースのキャッシュを一括で無効にします。これは、バージョン番号、ファイルタイプ、またはパスセグメントに基づいてリソースを一括パージする場合に役立ちます。 アクション:正規表現を含む URL を入力します。例: 注意:この方法ではソフトパージが実行されます。強制パージを実行するには、RefreshObjectCaches API を使用し、 |
サイト全体のパージ方法 (フルサイトパージまたはルートディレクトリパージ)
CDN にはワンクリックでのフルサイトパージオプションはありませんが、以下の方法で実現できます。
ディレクトリパージ:パージ方法としてディレクトリ を選択し、ドメイン名のルートディレクトリ URL (例:
https://www.example.com/) を入力します。URL はスラッシュ (/) で終わる必要があります。強制パージ (API):ディレクトリパージ後も一部の POP で古いコンテンツが配信され続ける場合は、キャッシュパージ API (
RefreshObjectCaches) を呼び出し、Forceパラメーターをtrueに設定します。強制パージは、すべての POP からキャッシュされたリソースを無条件に削除し、次のリクエストでオリジンフェッチを強制します。説明Forceパラメーターは、コンソールのパージフォームでは使用できません。強制パージを実行するには、API または SDK を使用してください。送信 をクリックしてパージタスクを開始します。
送信されたパージタスクはキャンセルできません。
パージタスクがネットワーク全体に伝播するには、通常 5~6 分かかります。キャッシュされたリソースの有効期限がこれより短い場合は、手動でパージする必要はありません。
OSS コンソールでCDNキャッシュの自動パージを有効にしている場合、OSS から開始された自動パージタスクは CDN コンソールでは表示されません。
リソースのプリフェッチ
CDNコンソールにログインします。
左側メニューで、パージとプリフェッチ をクリックします。
パージ / プリフェッチ タブで、操作タイプとしてプリフェッチ を選択します。
URL 入力ボックスに、プリフェッチするファイルの完全な URL を 1 行に 1 つずつ入力します。ディレクトリのプリフェッチはサポートされていません。例:
https://www.example.com/install/package.zip。送信 をクリックしてプリフェッチタスクを開始します。
送信されたプリフェッチタスクはキャンセルできません。
プリフェッチタスクの完了時間は、ファイルサイズ、ファイル数、オリジンサーバーのパフォーマンスによって異なります。通常は 5~30 分かかります。
OSS ファイルのプリフェッチに関する注意
オリジンサーバーが OSS の場合、以下の URL 要件に注意してください。
URL 形式:CDN アクセラレーションドメイン名の完全な URL (例:
https://cdn.example.com/path/file.zip) を入力する必要があります。OSS バケットの内部またはパブリックエンドポイント URL (例:https://examplebucket.oss-cn-hangzhou.aliyuncs.com/...) は入力しないでください。署名パラメーター:プリフェッチ URL には、
Expires、OSSAccessKeyId、Signatureなどの OSS の一時的な署名パラメーターを含めないでください。これらは一時的な認証パラメーターであり、プリフェッチタスクの失敗の原因となります。オリジンサーバーのレスポンスステータスコード:プリフェッチタスクでは、オリジンサーバーから
200ステータスコードが返される必要があります。オリジンサーバーが308リダイレクトや200以外のステータスコードを返した場合、プリフェッチタスクは失敗します。たとえば、URL の末尾のスラッシュが欠けているためにリダイレクトが発生する場合は、末尾のスラッシュを追加してタスクを再送信してください。
パラメーター | 説明 |
プリフェッチタイプ | URL プリフェッチのみがサポートされています。ディレクトリのプリフェッチはサポートされていません。 |
URL | URL には 1 日あたりの URL プリフェッチクォータ:デフォルトでは、アカウントごとに 1 日あたり最大 1,000 件の URL をプリフェッチできます。アカウントの 1 日のピーク帯域幅が 200 Mbps を超える場合、クォータの増加をリクエストできます。Alibaba Cloud は、お客様のビジネスニーズに基づいてクォータを評価および設定します。1 回のプリフェッチタスクで最大 100 件の URL を送信できます。 プリフェッチキューのルール:各アカウントの最大プリフェッチキューサイズは 100,000 URL です。URL は送信された順にプリフェッチされます。プリフェッチキュー内の URL 数が 100,000 に達すると、システムは新しいプリフェッチタスクを拒否します。 プリフェッチ速度:プリフェッチ速度は、平均ファイルサイズによって異なります。ファイルサイズが小さいほど、プリフェッチは高速になります。 |
パージまたはプリフェッチタスクの自動化
以下の状況では、自動化スクリプトを使用してリソースのパージとプリフェッチを行うことを推奨します。
タスクを自動化する開発者がおらず、手動での送信では運用コストが高くなる場合。
パージまたはプリフェッチする URL が多すぎて、バッチでの送信が非効率な場合。
パージおよびプリフェッチタスクが期待どおりに実行されているかを手動またはプログラムで確認する必要がある場合。
結果の検証
手動クエリ
[操作記録] タブで、パージまたはプリフェッチタスクの詳細な記録と進捗状況を表示できます。進捗状況が 100% に達すると、タスクは完了したことになります。多数のリソースをパージまたはプリフェッチすると、タスクの完了時間が長くなることがあります。
API クエリ
DescribeRefreshTasks API を呼び出して、パージまたはプリフェッチタスクのステータスをクエリします。
コマンドラインによる検証
コマンド curl -I <URL> を実行します。以下のような出力が表示されます。

X-Cache ヘッダーが存在する場合:
X-Cacheの値がHITの場合、リクエストはキャッシュにヒットしました。これはプリフェッチが成功したことを示します。X-Cacheの値がMISSの場合、リクエストはキャッシュにヒットしませんでした。プリフェッチタスクが完了していないか、失敗しています。リソースを再度プリフェッチしてみてください。
X-Cache ヘッダーが存在しない場合:
X-Cache ヘッダーがない場合は、リソースが CDN によってアクセラレーションされていないことを示します。リソースをプリフェッチする前に、「Alibaba Cloud CDNへのドメイン名の追加」を参照して、URL のドメインを Alibaba Cloud CDN に追加してください。
制限事項
パージおよびプリフェッチ機能にはクォータが適用されます。クォータを超えたタスクはシステムによって拒否されます。クォータの増加をリクエストするには、「クォータ管理」から申請してください。
操作タイプ | 方法 | クォータ | クォータの管理 |
パージ | URL パージ | 1 アカウントあたり 1 日 10,000 URL | クォータ増加のリクエストを送信した場合、審査には通常 1 営業日かかります。クォータ管理の詳細については、「クォータ管理」をご参照ください。 |
ディレクトリパージ | 1 回の送信あたり 100 パス、1 ドメインあたり 1 分間に 100 パス | ||
正規表現パージ | 1 アカウントあたり 1 日 20 URL | ||
プリフェッチ | URL プリフェッチ | 1 回の送信あたり 100 URL、1 アカウントあたり 1 日 1,000 URL |
大規模プリフェッチのベストプラクティス
ディレクトリのプリフェッチはサポートされていません:プリフェッチでは特定のファイル URL のみがサポートされています。スラッシュ (
/) で終わるディレクトリパスは送信できません。大容量ファイルの優先:オリジンサーバー (OSS など) に多数のファイルが含まれている場合、インストールパッケージやビデオなどの大容量ファイルのみをプリフェッチすることを推奨します。小容量ファイルは通常、最初のユーザーリクエストで POP にキャッシュされるため、プリフェッチする必要はありません。
クォータとキュー:各アカウントには、デフォルトで 1 日あたり 1,000 件の URL プリフェッチタスクのクォータがあります。プリフェッチキューには最大 100,000 件の URL を保持できます。クォータの増加をリクエストするには、クォータ管理を使用してください。
オリジンフェッチトラフィックに関する警告:プリフェッチは、すべての L2 集約ノードがオリジンサーバーからリソースをフェッチすることをトリガーし、大量のオリジンフェッチトラフィック (約ファイルサイズ × L2 ノード数) を生成する可能性があります。ピークトラフィック期間の前に、重要なリソースのみをプリフェッチすることを推奨します。ビデオワークロードの場合は、コンテンツ全体のプリフェッチではなく、範囲ベースのオリジンフェッチ最適化の使用を検討してください。
CDN キャッシュパージのメカニズム
ディレクトリパージと正規表現パージには、ソフトパージと強制パージの 2 つのメカニズムがあります。さまざまなシナリオでこれらを使い分けることで、キャッシュされたコンテンツを効率的に管理できます。
ソフトパージ (デフォルトの CDN ポリシー)
ユースケース:静的ファイルの新しいバージョンの公開など、定期的なコンテンツの更新。
メカニズム:これは、コンソール経由で送信されるディレクトリパージおよび正規表現パージのデフォルトの動作です。CDN エッジノードがオリジンフェッチを実行する際、リクエストに
If-Modified-SinceまたはIf-None-Matchヘッダーを含めます。オリジンサーバーはこれらのヘッダーを使用して、リソースが更新されたかどうかを判断します。効果:オリジンサーバー上のリソースが変更されていない場合、オリジンサーバーは
304 Not Modifiedステータスコードを返します。CDN エッジノードは、既存のキャッシュコピーを引き続き提供するため、オリジンフェッチトラフィックは消費されません。これは、コストを節約し、オリジンサーバーの負荷を軽減する最適化された方法です。注意:キャッシュを完全にパージする必要がある場合 (たとえば、違反コンテンツの削除、設定変更の適用、同名ファイルの更新など)、ソフトパージではニーズを満たせない場合があります。そのような場合は、強制パージを使用してください。
強制パージ
ユースケース:違反コンテンツや誤ったリソースの緊急削除、誤った
Cache-Controlレスポンスヘッダー設定を修正した後のネットワーク全体の更新の強制、またはオリジンサーバー上の同名ファイルの更新。メカニズム:強制パージをトリガーするには、RefreshObjectCaches API を呼び出す際に
Forceパラメーターをtrueに設定します。このモードでは、CDN エッジノードはキャッシュされたリソースを無条件に無効としてマークし、304 検証は実行しません。効果:リソースに対する次のリクエストで、オリジンサーバー上のファイルが変更されていなくても、CDN エッジノードは新しいバージョンを取得するためにオリジンフェッチを実行する必要があります。
API 強制パージパラメーターの例:
{
"ObjectType": "Directory",
"ObjectPath": "https://www.example.com/static/",
"Force": true
}主なパラメーターの説明:
ObjectType:DirectoryまたはFileを指定します。ObjectPath:/で終わる完全なディレクトリパス、または特定のファイル URL を指定します。Force:trueに設定すると、強制パージが有効になります。これにより、オリジンサーバーのIf-Modified-Since/If-None-Match検証をバイパスして、キャッシュが直接クリアされます。
強制パージの一般的なユースケース
以下のシナリオでは、強制パージ (キャッシュパージ API を呼び出して Force=true を設定) を使用することを推奨します。
違反コンテンツまたはマルウェアの削除:オリジンサーバーから悪意のあるファイルを削除した後、強制パージを使用するか、削除された URL に対してオリジンサーバーが正しい HTTP ステータスコード (
404など) を返すようにする必要があります。そうしないと、標準の再検証の後、POP がキャッシュから違反コンテンツを配信し続ける可能性があります。同名ファイルの更新 (設定変更):オリジンサーバー上のファイルを同じファイル名で新しいバージョンに置き換えた場合、再検証によって
304 Not Modifiedステータスコードが返され、古いキャッシュ済みコンテンツが提供され続ける可能性があります。強制パージを使用して、すべての POP で最新のコンテンツが提供されるようにします。ページの表示に関する問題またはホームページのループ:Web サイトの別ページを開いてもホームページが表示され続けたり、画像が正しく表示されなかったりする場合で、かつ URL パージで問題が解決しない場合は、API を介して
Force=trueを指定したディレクトリパージを使用してください。