CDNキャッシュ: CloudFrontディストリビューション戦略

この記事では、CloudFront CDNを使用してコンテンツをキャッシュし、グローバルなパフォーマンスを向上させる方法について説明します。

問題: グローバルな遅延

ユーザーは世界中から当社のウェブサイトにアクセスします:

  • インド: 50ms 遅延

  • アメリカ: 200ms 遅延

  • ヨーロッパ: 250ms 遅延

  • アジア: 150ms 遅延

すべてのトラフィックをインドから配信すると、国際的なユーザーにとってページの読み込みが遅くなります。

解決策: CloudFront CDN

CloudFront: AWSコンテンツデリバリーネットワーク

エッジロケーション: 世界中に400以上のロケーション

メリット: 最寄りのロケーションからコンテンツを配信

キャッシュされるもの

静的アセット (長いTTL)

コンテンツ: 画像、CSS、JavaScript、フォント

TTL: 1年

パス: /s/*

メリット: 変更が稀なため、積極的にキャッシュ

商品ページ (中程度のTTL)

コンテンツ: 商品仕様、画像

TTL: 1時間

パス: /p/*

メリット: 鮮度とパフォーマンスのバランス

クエリページ (短いTTL)

コンテンツ: 検索結果、フィルター適用ビュー

TTL: 5分

パス: /q/*

メリット: 頻繁に更新されるため、短いキャッシュ

記事 (長いTTL)

コンテンツ: 技術文書

TTL: 24時間

パス: /a/*

メリット: 変更が稀

キャッシュされないもの

動的コンテンツ:

  • 検索結果 (/q/?q=<query>)

  • ユーザー固有のコンテンツ (カート、アカウント)

  • APIエンドポイント (/api/*)

理由: 新鮮でなければならず、ユーザー固有であるため

キャッシュの動作

キャッシュキー

CloudFrontはURLをキャッシュキーとして使用します:

同じURL: キャッシュから配信

異なるURL: 新しいキャッシュエントリ

クエリパラメータ: キーに含まれる (トラッキングパラメータを除く)

キャッシュヘッダー

オリジンサーバーがキャッシュヘッダーを設定します:

Cache-Control: public, max-age=3600

public: CDNによるキャッシュが可能

max-age: キャッシュ期間 (秒単位)

キャッシュ無効化

手動: 無効化リクエストを作成

自動: TTLの期限切れを待つ

コスト: 月間最初の1,000パスは無料

参照: ポリシーについては CACHE_INVALIDATION_RULE.md を参照

オリジン保護

CDNはオリジンサーバーを保護します:

トラフィック吸収: CDNがトラフィックスパイクを処理

DDoS緩和: 悪意のあるトラフィックをフィルタリング

レート制限: オリジンの過負荷を防止

メリット: オリジンの応答性を維持

SSL/TLS

証明書: AWS Certificate Manager

プロトコル: TLS 1.2+

メリット: 暗号化されたトラフィック、無料証明書

圧縮

Gzip: テキストコンテンツに対して有効

Brotli: モダンブラウザに対して有効

メリット: ダウンロードの高速化、帯域幅の削減

地理的制限

なし: 世界中で利用可能

メリット: グローバルなリーチ

モニタリング

メトリクス:

  • キャッシュヒット率

  • オリジンへのリクエスト数

  • エラー率

  • 地域ごとの遅延

CloudWatch: AWSのモニタリングサービス

コスト最適化

キャッシュヒット率: 高い = コスト低減

オリジンへのリクエスト数: 少ない = コスト低減

データ転送: キャッシュ済み = より安価

メリット: CDNはインフラストラクチャコストを削減

参考文献

AWSサービス

関連記事

まとめ

CloudFront CDNはグローバルなパフォーマンスを向上させます:

キャッシュされるコンテンツ:

  • ✅ 静的アセット (1年 TTL)

  • ✅ 商品ページ (1時間 TTL)

  • ✅ クエリページ (5分 TTL)

  • ✅ 記事 (24時間 TTL)

キャッシュされないコンテンツ:

  • ✅ 動的検索

  • ✅ ユーザー固有のコンテンツ

  • ✅ APIエンドポイント

メリット:

  • ✅ 低遅延 (エッジロケーション)

  • ✅ オリジン保護 (トラフィック吸収)

  • ✅ DDoS緩和

  • ✅ コスト削減 (オリジンへのリクエスト数減少)

機能:

  • ✅ SSL/TLS暗号化

  • ✅ Gzip/Brotli圧縮

  • ✅ グローバルな可用性

このCDN戦略は、パフォーマンス、鮮度、コストのバランスを取ります。


← ドキュメントインデックスに戻る