CDN - なぜ地球の裏側のサイトが速く表示されるのか

日本から米国のサーバーにアクセスすると、海底ケーブルを横断するだけで片道 50 ms 以上の遅延が発生します。しかし、Netflix や YouTube を視聴するとき、この遅延をほとんど感じません。その理由が CDN (Content Delivery Network) です。

CDN は、コンテンツのコピーを世界中のサーバー (エッジサーバー) に分散配置し、ユーザーに最も近いサーバーからコンテンツを配信する仕組みです。IP 確認さんにアクセスするとき、そのレスポンスがどこのサーバーから返ってきているかを意識したことはありますか?

CDN の仕組み - 3 つの核心技術

1. エッジサーバーの分散配置

大手 CDN プロバイダは、世界中の数百から数千の拠点にサーバーを配置しています。Cloudflare は 300 以上の都市、Akamai は 130 以上の国に拠点を持ちます。日本国内にも東京、大阪などに複数のエッジサーバーが設置されています。

2. DNS ベースのルーティング

ユーザーが CDN を利用するサイトにアクセスすると、DNS がユーザーの位置に最も近いエッジサーバーの IP アドレスを返します。東京のユーザーには東京のエッジサーバー、ロンドンのユーザーにはロンドンのエッジサーバーが割り当てられます。このルーティングは DNS の応答に依存するため、DNS リークが発生して本来と異なる DNS サーバーが使われると、最寄りではないエッジサーバーに接続され、速度が低下する場合があります。

3. キャッシュ

エッジサーバーは、オリジンサーバー (元のサーバー) から取得したコンテンツをキャッシュ (一時保存) します。同じコンテンツへの 2 回目以降のリクエストは、オリジンサーバーに問い合わせることなく、エッジサーバーのキャッシュから即座に返されます。

CDN が解決する 3 つの問題

レイテンシ (遅延) の削減

光の速度には限界があり、物理的な距離による遅延は避けられません。CDN はコンテンツをユーザーの近くに配置することで、この物理的な遅延を最小化します。東京のユーザーが米国のオリジンサーバーにアクセスすると RTT 100 ms 以上ですが、東京のエッジサーバーからなら 5 ms 以下です。

オリジンサーバーの負荷軽減

人気サイトに数百万人が同時アクセスしても、リクエストの大部分はエッジサーバーのキャッシュで処理されるため、オリジンサーバーへの負荷は大幅に軽減されます。

DDoS 攻撃の緩和

CDN の分散されたインフラは、DDoS 攻撃のトラフィックを世界中のエッジサーバーに分散させ、単一のサーバーに集中する攻撃を緩和します。Cloudflare や Akamai は、CDN と DDoS 防御を統合したサービスを提供しています。

CDN の裏側 - Anycast の魔法

CDN が「最も近いサーバー」にルーティングする仕組みの一つが Anycast です。Anycast では、世界中の複数のサーバーが同じ IP アドレスを共有します。ユーザーがその IP アドレスにアクセスすると、BGP のルーティングにより、ネットワーク的に最も近いサーバーに自動的に到達します。

Cloudflare の DNS サービス (1.1.1.1) は Anycast の代表例です。世界中のどこから 1.1.1.1 にアクセスしても、最寄りの Cloudflare サーバーに到達します。

CDN を使っているサイトの見分け方

  • HTTP レスポンスヘッダー: Server: cloudflareX-Cache: HITVia: 1.1 varnish などのヘッダーで CDN の使用を確認できる
  • DNS の CNAME: ドメインの DNS を調べると、CDN プロバイダのドメイン (例: d1234.cloudfront.net) への CNAME が設定されていることが多い
  • traceroute: 最終ホップが CDN プロバイダのネットワーク内にある場合、CDN 経由でアクセスしている

まとめ

CDN は、物理的な距離という克服不可能な制約に対する、インターネットの最も実用的な解決策です。コンテンツをユーザーの近くに持っていくことで、光速の限界を「回避」しています。

IP 確認さんにアクセスするとき、ブラウザの開発者ツールでレスポンスヘッダーを確認してみてください。CDN のキャッシュヒット状況やエッジサーバーの位置情報が読み取れるかもしれません。

Web インフラの仕組みを体系的に学びたい方には、Web インフラの入門書が参考になります。

この記事の関連用語

DNS CDN がユーザーを最寄りのエッジサーバーにルーティングする基盤技術。 IP アドレス Anycast では複数のサーバーが同じ IP アドレスを共有する。 レイテンシ CDN が削減する主要な指標。エッジサーバーの近さが遅延を決定する。 BGP Anycast ルーティングの基盤。最寄りのエッジサーバーへの経路を決定する。 HTTPS CDN のエッジサーバーが TLS 終端を行い、暗号化通信を提供する。