Learn

ネットワーク

CDNとは何か

CDNがWebサイトの配信、キャッシュ、TLS終端、ログ、接続元IPの見え方にどう関係するかを整理します。

Webサイトを開くとき、いつも運営元のサーバーだけからデータが届くとは限りません。

画像、CSS、JavaScript、動画、フォント、ダウンロードファイルなどは、CDNと呼ばれる仕組みを通じて配信されることがあります。

CDNは、Content Delivery Networkの略です。

簡単に言えば、Webサイトのデータを複数の場所に配置し、利用者に近い場所や混雑しにくい場所から配信する仕組みです。

CDNを理解すると、「Webサイトにアクセスする」と言っても、実際にはサイト運営者のサーバー、CDN、DNS、TLS終端、ログ、キャッシュなど複数の要素が関係することが分かります。

匿名性を考えるうえでも重要です。

なぜなら、CDNはWebサイト側の一部として通信を受け取り、アクセス元、リクエスト、、User-Agent、アクセス時刻などを扱う場合があるからです。

この記事では、CDNの基本、何が速くなるのか、どこにログが残るのか、匿名性では何を見るべきかを整理します。

CDNとは何か

CDNは、Webコンテンツを効率よく配信するためのネットワークです。

Webサイトの元になるサーバーを、オリジンサーバーと呼ぶことがあります。CDNを使う構成では、ブラウザが毎回オリジンサーバーへ直接アクセスするのではなく、CDNのサーバーを経由してデータを受け取ることがあります。

要素役割説明
利用者のブラウザリクエストを送るページ、画像、CSS、JavaScriptなどを要求する
CDN配信を中継する利用者に近い場所からデータを返す
オリジンサーバー元データを持つWebサイト運営者側の元サーバー
キャッシュ一時保存よく使うデータをCDN側に保存する
DNS接続先を決めるCDN側のサーバーへ向かわせることがある

CDNは、単なる「速くする装置」ではありません。

現代のWebでは、配信、負荷分散、DDoS対策、TLS終端、WAF、画像最適化、Bot対策、ログ分析など、複数の役割を持つことがあります。

なぜCDNを使うのか

CDNが使われる主な理由は、速度、安定性、負荷分散、攻撃対策です。

利用者が日本にいて、オリジンサーバーが遠い国にある場合、毎回遠くのサーバーへ取りに行くと遅くなります。CDNは、世界中の複数の拠点にデータを置き、利用者に近い拠点から返します。

目的CDNで起きること利用者から見える効果
高速化近い拠点から返すページ表示が速くなる
負荷分散多数の拠点で処理するアクセス集中に強くなる
キャッシュ同じ画像やファイルを保存するオリジンへの負荷が減る
DDoS対策攻撃通信をCDN側で受けるサイトが落ちにくくなる
TLS終端CDN側でHTTPS接続を処理する証明書管理や配信が効率化される

大きなWebサイト、ニュースサイト、動画サイト、ECサイト、SaaS、アプリのAPIでは、CDNが使われることが一般的です。

利用者から見ると、ふつうにWebサイトへアクセスしているだけです。

しかし裏側では、オリジンサーバーではなく、CDNの拠点が応答している場合があります。

CDNとキャッシュ

CDNの中心的な仕組みのひとつがキャッシュです。

キャッシュとは、一度取得したデータを一時的に保存し、次回以降は保存したデータを返す仕組みです。

たとえば、同じロゴ画像、CSS、JavaScript、フォント、公開画像などは、多くの利用者に同じ内容を返します。このようなデータはCDN側に保存しやすいです。

データキャッシュされやすさ注意点
画像高い古い画像がしばらく残ることがある
CSS高い更新反映に時間差が出ることがある
JavaScript高いバージョン管理が重要になる
動画高い配信量が大きいためCDNの効果が大きい
ログイン後ページ低い個人別内容は慎重に扱う必要がある
APIレスポンス設計次第認証情報や個人情報を含む場合は注意する

匿名性やプライバシーの観点では、キャッシュは便利である一方、注意点もあります。

古い画像やページがCDN側に残ることがあります。サイト側で削除しても、CDNのキャッシュが更新されるまで見える場合があります。

また、サイト設計を誤ると、本来キャッシュすべきでない個人別データをCDNに保存してしまう危険もあります。

CDNとDNS

CDNを使うWebサイトでは、DNSの結果がCDN側へ向くことがあります。

利用者があるドメインへアクセスすると、DNSはオリジンサーバーではなく、CDNのエッジサーバーへ向かうための情報を返す場合があります。

エッジサーバーとは、利用者に近い場所でリクエストを受けるCDN側のサーバーです。

段階起きること
1利用者がドメイン名へアクセスする
2DNSがCDN側の接続先を返す
3ブラウザはCDNのエッジサーバーへ接続する
4CDNがキャッシュを確認する
5キャッシュがあればCDNが返す
6なければCDNがオリジンサーバーへ取りに行く

そのため、同じドメイン名でも、地域やネットワークによって異なるIPアドレスが返ることがあります。

これは異常ではありません。

CDNや負荷分散では、利用者の場所、混雑状況、障害状況に応じて接続先が変わります。

CDNとTLS終端

HTTPSの通信ではTLSが使われます。

CDNを使う構成では、ブラウザから見たHTTPSの接続先がCDNになることがあります。

このとき、TLSの暗号化された通信はCDNで一度復号され、CDNがリクエストを処理します。その後、CDNからオリジンサーバーへ別の通信で転送されます。

区間通信注意点
ブラウザからCDNHTTPSで保護される利用者から見た接続先はCDN側になる
CDN内部CDN事業者の管理範囲CDN側でリクエストを処理する
CDNからオリジン構成次第でHTTPSサイト運営者の設定が重要になる
オリジンサーバー元データを処理するCDNからの接続として見える場合がある

これはHTTPSが無意味という話ではありません。

HTTPSは、ブラウザと接続先の間の通信を保護します。ただし、CDNがTLS終端になる場合、CDNは通信を処理する立場になります。

匿名性では、CDNも「Webサイト側に含まれる観測点」として考える必要があります。

CDNには何が見えるのか

CDNは、Webサイトの前段に置かれることがあります。

その場合、CDNは利用者からのリクエストを受け取ります。つまり、接続元IPアドレス、アクセス時刻、User-Agent、リクエスト先、Cookie、HTTPヘッダーなどを扱う可能性があります。

情報CDNで扱われる可能性匿名性での意味
アクセス元IPアドレスある接続元ネットワークの手がかりになる
アクセス時刻ある他のログと照合される軸になる
URLのパスあるどのページやAPIを要求したかが分かる
User-AgentあるブラウザやOSの手がかりになる
Cookie設計次第ログイン状態や識別子に関係する
通信量あるファイル送信や動画閲覧の傾向が見える

CDN事業者が必ずすべてを長期間保存する、という意味ではありません。

ログの保存範囲、保存期間、アクセス権限、利用目的は、CDN事業者やサイト運営者の設定によって変わります。

重要なのは、CDNが通信経路上の単なる透明な空気ではないという点です。

CDNは、Webサイト側のインフラとして通信を受ける存在です。

Webサーバーから見えるIPが変わる

CDNを使うと、オリジンサーバーから見える接続元IPアドレスが変わることがあります。

オリジンサーバーから見ると、直接の接続元は利用者ではなくCDNのIPアドレスになります。そのため、サイト側は X-Forwarded-ForCF-Connecting-IP のようなヘッダー、またはCDN側ログを使って元のクライアントIPを扱うことがあります。

見る場所見えるIP説明
CDN利用者のアクセス元IP利用者から直接リクエストを受ける
オリジンサーバーCDNのIP直接の接続元はCDNになる
アプリケーション設定次第ヘッダー経由で元IPを扱う場合がある
アクセスログ設計次第CDN側とオリジン側の両方に残ることがある

ログを見るときは、「どの場所のログなのか」を確認する必要があります。

CDN側ログ、ロードバランサーのログ、オリジンサーバーのログ、アプリケーションログでは、見える情報が違います。

CDNは匿名化技術ではない

CDNは、Webサイトの配信を速くし、安定させ、防御しやすくする仕組みです。

利用者を匿名にするための仕組みではありません。

利用者から見ると、CDNによって接続先のIPアドレスがオリジンサーバーではなくCDNになることがあります。しかし、これは利用者の匿名性を保証するものではありません。

CDNはWebサイト側のインフラです。

接続先サイト、CDN、アプリケーション、アクセス解析、広告タグ、認証基盤が組み合わされば、利用者のアクセスはさまざまな場所で処理されます。

誤解実際
CDNを通ると匿名になるCDNはサイト側の配信基盤であり匿名化技術ではない
オリジンIPが見えないから安全利用者の情報はCDNやサイト側で扱われる
HTTPSならCDNにも見えないTLS終端がCDNならCDNはリクエストを処理する
キャッシュならログがないCDN側にアクセスログが残る場合がある

匿名性を考えるときは、CDNを「接続先側の一部」として扱います。

CDNの公式情報を見る

CDNを学ぶときは、CDN事業者の公式説明も参考になります。

Cloudflareは、CDN、DDoS対策、WAF、DNSなどを提供する代表的な事業者のひとつです。公式の学習ページでは、CDNが何をする仕組みなのかを確認できます。

URL : https://www.cloudflare.com/learning/cdn/what-is-a-cdn/

ただし、特定のCDN事業者を使えば安全という意味ではありません。

CDNはサイト運営者側のインフラであり、利用者の匿名性を完成させる道具ではありません。公式情報は、仕組みを理解するための参考として読むのが適切です。

匿名性を考えるうえでの確認点

CDNを使うサイトにアクセスするとき、利用者側が細かいCDN構成を完全に知ることはできません。

しかし、考えるべき観点は整理できます。

観点確認すること
接続先WebサイトだけでなくCDNが関わる可能性がある
ログCDN側、オリジン側、アプリ側のログを分けて考える
IPアドレス接続先IPがCDNでも匿名化ではない
CookieCDNを通ってもCookieやログイン状態は残る
TLSどこでTLSが終端されるかを意識する
削除CDNキャッシュに古いデータが残る場合がある

CDNは、現代のWebを支える重要な仕組みです。

同時に、匿名性では「通信がどこで処理されるのか」を考えるための重要な観測点でもあります。

まとめ

CDNは、Webサイトのデータを複数の場所に配置し、利用者に近い場所から効率よく配信する仕組みです。

CDNを使うと、ページ表示が速くなり、アクセス集中や攻撃に強くなり、オリジンサーバーの負荷を減らせます。

一方で、CDNはWebサイト側のインフラとしてリクエストを受け取ります。

アクセス元IPアドレス、アクセス時刻、URL、User-Agent、Cookie、通信量などを扱う場合があります。

CDNは匿名化技術ではありません。

匿名性を考えるときは、CDNを「Webサイト側にある中継・処理地点」として理解し、接続先、ログ、TLS終端、キャッシュ、Cookieを分けて考える必要があります。

関連ツール

WebRTC Leak Test

BrowserLeaks WebRTC

BrowserLeaks WebRTCは、WebRTC経由でブラウザから見えるIPアドレスや通信情報を確認できる検証ページです。

紹介する理由: VPNを使っていても、ブラウザ機能の設定によって意図しないIP情報が見えることがあるため、匿名環境の確認に役立ちます。

URL : https://browserleaks.com/webrtc

外部サイトを開く
Search result removal

Google Search removal tools

Google Search removal toolsは、Google検索結果に残る古い情報や個人情報の削除申請・更新申請に使うGoogle公式の案内ページです。

紹介する理由: 元ページを削除しても検索結果やスニペットに情報が残ることがあります。検索結果側の対応を確認する公式入口として紹介します。

URL : https://support.google.com/websearch/answer/3143948

外部サイトを開く

関連記事