本文へスキップ
BecomeCoder

AWS SAA(ソリューションアーキテクト)コース · 第7章 ネットワークの設計 · レッスン42

CloudFrontとエッジ配信

導入

コンテンツをユーザーに近い場所から配信できれば、速くなるだけでなくオリジンの負荷も減ります。この仕組みを担うのが CloudFront です。

説明

Amazon CloudFront は、AWSCDN(コンテンツデリバリーネットワーク)です。世界中のエッジロケーションにコンテンツをキャッシュし、ユーザーに最も近い拠点から配信することで、レイテンシーを削減します。

  • オリジン:配信元となるS3バケットやALBなど
  • キャッシュ動作:パスパターンごとにキャッシュ時間(TTL)や転送するヘッダー・Cookieを設定できる
  • OAC(Origin Access Control):S3をオリジンにする際、S3バケット自体を非公開のままにし、CloudFront経由のアクセスだけを許可する仕組み。S3を直接インターネットに公開せずに済むため、セキュリティ設計の定番

コンテンツへのアクセスを制限したい場合は、署名付きURL署名付きCookie を使います。有効期限付きのトークンを発行し、正規のリンクを持つユーザーだけがコンテンツを取得できるようにします(動画配信の限定公開、有料コンテンツなど)。署名付きURLは1つのファイル向け、署名付きCookieは複数ファイル(動画のセグメント群など)へのアクセス制御に向きます。

flowchart LR
    User["世界中のユーザー"] --> Edge["CloudFront<br/>エッジロケーション"]
    Edge -->|"キャッシュヒット"| User
    Edge -->|"キャッシュミス時のみ"| Origin["オリジン (S3 / ALB)"]
    Edge -.->|"OACで直接公開を防止"| Origin

読んでみよう

「S3を直接公開せず保護したい」→ OAC。「グローバルなユーザーへの配信を高速化したい」→ CloudFront。「限定公開のコンテンツへのアクセスを制御したい」→ 署名付きURL/Cookie。CloudFrontはS3の前段だけでなく、ALB・EC2をオリジンにした動的コンテンツの配信高速化にも使える点も押さえておきましょう。