Cloud CDN の概要

Cloud CDN(コンテンツ配信ネットワーク)は、Google のグローバル エッジ ネットワークを使用して、ユーザーの近くからコンテンツを配信します。これにより、ウェブサイトとアプリケーションが高速化されます。

Cloud CDN は、グローバル外部アプリケーション ロードバランサおよび従来のグローバル外部アプリケーション ロードバランサと連携して、ユーザーにコンテンツを配信します。外部アプリケーション ロードバランサが、リクエストを受信するフロントエンド IP アドレスとポート、そしてリクエストに応答するバックエンドを提供します。

Cloud CDN コンテンツは、次のようにさまざまな種類のバックエンドから提供されます。

Cloud CDN では、こうしたバックエンドが「配信元サーバー」とも呼ばれます。図 1 は、仮想マシン(VM)インスタンス上で稼働する送信元サーバーからのレスポンスがどのように外部アプリケーション ロードバランサを通過して Cloud CDN によって配信されるかを示しています。この状況では、Google Front End(GFE)は Cloud CDN と外部アプリケーション ロードバランサで構成されます。

図 1. 送信元サーバーから Cloud CDN を通過してクライアントに送信されるレスポンスのフロー。
図 1. 送信元サーバーから Cloud CDN を通過してクライアントに送信されるレスポンスのフロー。

Cloud CDN の仕組み

ユーザーが外部アプリケーション ロードバランサに対してコンテンツをリクエストすると、そのリクエストは、Google のネットワークのエッジの中でユーザーに最も近いエッジにある GFE に到着します。

ロードバランサの URL マップが Cloud CDN が構成されたバックエンド サービスまたはバックエンド バケットにトラフィックをルーティングする場合、GFE は Cloud CDN を使用します。

キャッシュ ヒットとキャッシュミス

キャッシュは、コンテンツを保存および管理するサーバーのグループであり、対象コンテンツに対する将来のリクエストを高速で処理できるようにします。キャッシュに保存されたコンテンツは、送信元サーバーに保存されているキャッシュ可能なコンテンツのコピーです。

GFE は Cloud CDN のキャッシュを検索し、ユーザーのリクエストに対するレスポンスを見つけると、キャッシュに保存されているそのレスポンスをユーザーに送信します。これは「キャッシュ ヒット」と呼ばれます。キャッシュ ヒットが発生すると、GFE がそのキャッシュキーを基準にコンテンツを検索してユーザーにレスポンスを直接返すので、ラウンド トリップ時間が短くなり、配信元サーバーがリクエストを処理する必要もなくなります。

部分ヒットは、リクエストの一部分がキャッシュから、一部分がバックエンドから配信された場合に発生します。これは、バイト範囲リクエストのサポートで説明しているように、リクエストされたコンテンツの一部のみが Cloud CDN キャッシュに保存されている場合に発生することがあります。

コンテンツが初めてリクエストされたとき、GFE はキャッシュからリクエストを処理できないと判断します。これは「キャッシュミス」と呼ばれます。キャッシュミスが発生すると、GFE はリクエストを外部アプリケーション ロードバランサに転送します。その後、ロードバランサはいずれかの送信元サーバーにリクエストを転送します。キャッシュで受信されたコンテンツは、GFE によってユーザーに転送されます。

このリクエストに対する配信元サーバーのレスポンスがキャッシュ可能な場合、Cloud CDN は以降のリクエストに備えてレスポンスを Cloud CDN キャッシュに保存します。キャッシュからクライアントへのデータ転送を「キャッシュ下り(外向き)」といいます。キャッシュへのデータ転送を「キャッシュ フィル」といいます。

図 2 は、キャッシュ ヒットとキャッシュミスを示しています。

  1. VM インスタンス上で稼働している送信元サーバーが HTTP(S) レスポンスを送信します。
  2. 外部アプリケーション ロードバランサがレスポンスを Cloud CDN に配信します。
  3. Cloud CDN がレスポンスをエンドユーザーに配信します。
図 2. 最初のレスポンスは送信元サーバーから提供されますが、以降のレスポンスは GFE によってキャッシュから提供されます。
図 2. 最初のレスポンスは送信元サーバーから配信されますが、以降のレスポンスは GFE によってキャッシュから配信されます。

キャッシュ ヒットとキャッシュミスに関連する費用については、料金をご覧ください。

キャッシュ ヒット率

「キャッシュ ヒット率」とは、リクエストされたオブジェクトがキャッシュから提供される回数の割合です。キャッシュ ヒット率が 60% の場合、リクエストされたオブジェクトがキャッシュから 60% の割合で提供され、送信元から 40% の割合で取得する必要があります。

キャッシュキーがキャッシュ ヒット率に与える影響については、キャッシュキーの使用をご覧ください。トラブルシューティング情報については、キャッシュ ヒット率が低いをご覧ください。

短期間のキャッシュ ヒット率を表示する

短期間(最後の数分)のキャッシュ ヒット率を表示するには:

  1. Google Cloud コンソールで、[Cloud CDN] ページに移動します。

    Cloud CDN に移動

  2. それぞれの送信元について、[キャッシュ ヒット率] 列を確認します。

    n/a は、負荷分散されたコンテンツがキャッシュ内に存在しないか、最近リクエストされていないことを意味します。

長期間のキャッシュ ヒット率を表示する

1 時間から 30 日間のキャッシュ ヒット率を表示するには:

  1. Google Cloud コンソールで、[Cloud CDN] ページに移動します。

    Cloud CDN に移動