CDN を使用して静的リソースをアクセラレーションする場合、CDN は最も近い POP (ポイントオブプレゼンス) にリソースをキャッシュします。リソースにアクセスすると、POP から直接取得できるため、レイテンシーが短縮され、アクセス効率が向上します。リクエストされたコンテンツが POP に存在しない場合、または有効期限が切れている場合、CDN はオリジンサーバーから最新のデータをリクエストします。
キャッシュ POP の階層構造
CDN の POP は L1 POP と L2 POP に分かれています。L1 POP は広く分散しており、ユーザーに直接応答します。L2 POP は数が少なく、オリジンサーバーからリソースをフェッチし、L1 POP に配信する役割を担います。リクエストのデータフローは、クライアント → L1 POP → L2 POP → オリジンサーバーとなります。
クライアントがドメイン名をリクエストすると、まずローカル DNS でドメイン名に対応する IP アドレスを照会し、CDN が適切な POP をスケジューリングして割り当てます。
L1 POP にキャッシュされたリソースが存在する場合、クライアントに直接データを返します。
L1 POP にキャッシュされたリソースが存在しない場合、L2 POP にリソースをリクエストします。L2 POP にキャッシュが存在する場合、リソースを L1 POP に同期し、ユーザーに返します。L2 POP にもキャッシュが存在しない場合、オリジンサーバーからリソースをフェッチし、設定されたキャッシュポリシーに従ってキャッシュします。
コンソールに表示されるキャッシュヒット率は、L1 POP のヒット率のみを反映しています。L1 POP でキャッシュミスが発生した場合、オリジンサーバーに直接アクセスするのではなく、まず L2 POP にリクエストするため、実際のヒット率はコンソールに表示される値よりもわずかに高くなります。
キャッシュ関連機能
次の機能を使用して、高速化ドメイン名のキャッシュ動作を制御します。
機能 | 説明 |
キャッシュルールを設定することで、CDN POP 上のリソースのキャッシュ期間を制御し、コンテンツの鮮度、アクセスパフォーマンス、オリジンフェッチコストのバランスを取ることができます。このドキュメントでは、キャッシュルールの設定方法と検証方法、トラブルシューティングガイダンス、およびベストプラクティスについて説明します。 | |
CDN POP がオリジンサーバーからリソースをフェッチすると、オリジンサーバーは HTTP ステータスコードを返します。デフォルトでは、CDN はオリジンサーバーのキャッシュヘッダーを使用して、そのステータスコードをキャッシュするかどうか、およびキャッシュ期間を決定します。ステータスコード TTL を使用すると、この動作を上書きできます。ステータスコードごとにカスタムキャッシュ期間を設定することで、POP は TTL が期限切れになるまで新しいオリジンフェッチを実行せずに、クライアントに直接応答します。 | |
ステータスコード TTL (オリジンに従う) 機能を使用すると、オリジンのレスポンスステータスコードに基づいて、CDN POP (Point of Presence) 上の静的リソースの TTL (Time-to-Live) を設定できます。 | |
Alibaba Cloud CDN では、エンドユーザーに返される HTTP レスポンスヘッダーを追加、変更、または削除できます。カスタムレスポンスヘッダーを使用して、クライアントのキャッシュ動作を制御したり、オリジン間リソース共有 (CORS) を有効にしたり、セキュリティポリシーを設定したり、クライアントレスポンスのコンテンツと形式をカスタマイズしたりできます。 | |
Alibaba Cloud CDN を設定して、クライアントが存在しないコンテンツをリクエストした場合やエラーが発生した場合に、カスタムエラーページを返すようにできます。デフォルトのエラーメッセージの代わりに、CDN の POP (ポイントオブプレゼンス) が指定されたページを配信し、利便性が高くブランドイメージに沿ったユーザーエクスペリエンスを提供します。 | |
オリジンサーバー上のリソースのパスが変更された場合、対応する CDN ノード上のパスも変更されます。ユーザーが元の URL をリクエストすると、CDN ノードは URL を書き換え、リクエストを宛先パスにリダイレクトします。このプロセスは、オリジンへのリクエストを削減し、クライアントのアクセスパフォーマンスを向上させます。 | |
同じファイルにアクセスするリクエストを単一のキャッシュキーに統合できます。これにより、異なるリクエストが異なるファイルとしてキャッシュされることを防ぎ、オリジンフェッチを削減します。 カスタムキャッシュキーのルールは、URI、リクエストパラメーター、HTTP ヘッダー、カスタム変数など、HTTP リクエストの特定の部分からキャッシュキーを生成します。この機能は、同じリソースへのリクエストのキャッシュキーを統一することで、キャッシュヒット率を向上させ、オリジンフェッチを削減し、レスポンス時間を短縮して帯域幅の消費を削減します。 | |
キャッシュ共有により、同一の Alibaba Cloud アカウント配下にある複数の高速化ドメイン名で、CDN のポイントオブプレゼンス (POP) 上のキャッシュされたリソースを共有できます。複数のドメイン名が画像、CSS、JavaScript ファイルなどの多くの共通アセットを提供する場合、キャッシュ共有を設定することで、重複したオリジンフェッチを防ぐことができます。これにより、キャッシュヒット率が向上し、オリジントラフィックが削減されます。 | |
Alibaba Cloud CDN にサービスを追加した後、POP (ポイントオブプレゼンス) で HTTP レスポンスヘッダーを設定することで、オリジン間アクセスを有効にできます。 |