目次
読了時間: 約7分 | 文字数: 約2,800字
東京のユーザーがニューヨークのサーバーにアクセスすると、光の速度でも往復に約140ミリ秒かかる。ページの読み込みには数十回のリクエストが必要なため、物理的な距離だけでレスポンスが数秒遅くなりうる。CDN はこの「距離の壁」を解決する技術だ。
CDN の基本アーキテクチャ
オリジンサーバーとエッジサーバー
CDN は「オリジン」と「エッジ」の2層構造だ。
- オリジンサーバー: コンテンツの原本を持つサーバー。あなたの Web サーバーそのもの
- エッジサーバー(PoP): 世界各地に配置されたキャッシュサーバー群。Point of Presence
ユーザーのリクエストは最寄りのエッジサーバーに向かう。エッジにキャッシュがあればそこから返し(キャッシュヒット)、なければオリジンに取りに行く(キャッシュミス)。
DNS ベースのルーティング
CDN はどうやって「最寄りのエッジ」を選ぶのか。DNS の応答にユーザーの地理的位置に基づく IP アドレスを返す Anycast ルーティングを使う。同じドメインでも、東京のユーザーと パリのユーザーでは異なる IP が返される。
CDN が配信するもの
静的コンテンツ
画像、CSS、JavaScript、フォント、動画ファイルなど。変更頻度が低く、キャッシュ効果が最も高い。CDN の最も基本的なユースケースだ。
動的コンテンツ
API レスポンスや HTML ページなど。キャッシュが難しいが、以下の方法で CDN を活用できる。
- 短時間キャッシュ: TTL を数秒〜数分に設定し、頻繁なオリジンアクセスを防ぐ
- エッジサイドインクルード(ESI): ページの一部だけを動的に生成し、残りはキャッシュ
- エッジコンピューティング: エッジサーバー上でロジックを実行する(後述)
ストリーミング配信
動画のライブ配信や VOD(Video on Demand)。CDN がセグメントファイルをキャッシュし、数百万の同時視聴に耐える。
エッジコンピューティング
近年の CDN は単なるキャッシュではなく、エッジでコードを実行するプラットフォームへと進化している。
- Cloudflare Workers: V8 エンジンでJavaScript/WASM を実行
- AWS Lambda@Edge / CloudFront Functions: CloudFront のエッジで関数を実行
- Vercel Edge Functions: Next.js のミドルウェアをエッジで実行
ユースケースは、A/B テスト、地域別コンテンツの出し分け、認証トークンの検証、画像のリサイズなど。オリジンへのリクエストを減らし、応答速度を改善できる。
主要 CDN プロバイダの特徴
| プロバイダ | 特徴 | 適するケース |
|---|---|---|
| Cloudflare | 無料プランあり、WAF 統合 | 個人〜中規模、セキュリティ重視 |
| AWS CloudFront | AWS エコシステム統合 | AWS を使っているプロジェクト |
| Fastly | リアルタイムキャッシュ無効化 | 動的コンテンツが多いサイト |
| Akamai | 最大規模のネットワーク | エンタープライズ、金融、メディア |
CDN のセキュリティ機能
現代の CDN はセキュリティプラットフォームでもある。
- DDoS 防御: 大量のトラフィックをエッジで吸収し、オリジンを守る
- WAF(Web Application Firewall): SQL インジェクション、XSS などの攻撃をフィルタリング
- Bot 管理: 悪意のあるボットと正当なクローラーを識別
- SSL/TLS 終端: エッジで HTTPS を処理し、オリジンの負荷を軽減
So What?——実務への応用
- 静的アセットは CDN 経由で配信する: 自前のサーバーから直接配信するのは、パフォーマンスとコストの両面で非効率
- Cache-Control ヘッダーを適切に設定する: CDN のキャッシュ挙動はこのヘッダーで決まる。デフォルト任せにしない
- キャッシュ無効化の仕組みを事前に設計する: 緊急時にキャッシュをパージする手順を確立しておく
- CDN のログを分析する: キャッシュヒット率、レイテンシ、エラー率を監視し、設定を継続的に改善する
CDN は「あると便利」ではなく「なければ競争にならない」インフラだ。ユーザーはページの読み込みに3秒以上かかると53%が離脱するという Google の調査結果を、常に念頭に置くべきだ。
参考リンク
- Cloudflare Learning Center — CDN とセキュリティの包括的解説
- AWS CloudFront ドキュメント — CloudFront の公式ドキュメント
- Fastly Developer Hub — Fastly の開発者向けリソース
- Web Almanac - CDN — Web における CDN 利用の統計データ
免責事項 — 掲載情報は執筆時点のものです。料金・機能は変更される場合があります。最新情報は各公式サイトをご確認ください。