CloudFrontでCDNを設定する手順をわかりやすく解説

インフラ・クラウド

Amazon CloudFrontは、AWSが提供するCDN(Content Delivery Network)サービスです。世界中のエッジロケーションからコンテンツを配信し、サイトの高速化・負荷分散・DDoS対策に効果を発揮します。本記事では、CloudFrontの基本と設定手順を解説します。

CloudFrontとは

CloudFrontはS3・EC2・ALB・外部オリジンなどのコンテンツを、世界数百か所のエッジロケーションにキャッシュ・配信します。ユーザーは地理的に近いPoPからレスポンスを受け取れるため、レイテンシが大幅短縮されます。

基本構成

  • Distribution:CDN設定の単位
  • Origin:オリジナルコンテンツの源(S3 / ALB / カスタムオリジン)
  • Behavior:パスパターンごとのキャッシュ動作・許可メソッド・TTLなど
  • Cache Policy / Origin Request Policy:キャッシュキーやリクエスト転送の制御

設定手順(コンソール)

  • CloudFront コンソールで「Create distribution」
  • Origin domain にS3バケットまたはALB DNS名を指定
  • OAC(Origin Access Control)でS3への直接アクセスをブロック
  • SSL証明書はACM(バージニア北部リージョン)で取得・関連付け
  • 独自ドメインを設定(Route 53でAレコード/Aliasを作成)

キャッシュ戦略

  • 静的アセット:長期キャッシュ(max-age=1年)
  • HTML:短期キャッシュ(数分〜1時間)または都度revalidation
  • API:必要に応じて短期キャッシュ(クエリパラメータをキャッシュキーに含める)
  • 無効化(Invalidation)はデプロイ時のみ最小範囲で実行

Lambda@Edge / CloudFront Functions

  • CloudFront Functions:軽量JS関数。リクエスト/レスポンスヘッダー書き換えに最適
  • Lambda@Edge:より複雑な処理。Node.js/Pythonで実装、世界中のエッジで実行

A/Bテスト・ユーザー向けリダイレクト・JWT検証・画像変換などをエッジで完結できます。

セキュリティ

  • AWS WAFと統合してXSS/SQLi対策
  • AWS Shield(標準)でDDoS基本保護
  • Signed URL / Signed Cookieで認可付き配信
  • OAC でS3を非公開のまま安全に配信

料金

転送量とリクエスト数による従量課金。1TB / 月あたり数千円〜数万円程度。エッジでキャッシュされる分、オリジン(S3 / ALB)の転送費用も下がるトータルコストが下がるケースが多いです。

まとめ

CloudFrontは、AWSサイトを高速・安全にする標準パーツです。S3 + CloudFrontは静的サイトの王道構成。Lambda@EdgeやCloudFront Functionsを組み合わせれば、エッジコンピューティングまで拡張できます。Webサイト構築時にまず検討すべきサービスです。