用語

Viewer(ビューワー)

コンテンツをリクエストするエンドユーザーのこと

ブラウザやアプリケーションからリクエストを送信する側

Viewer → Edge Location → Origin
(ユーザー)  (エッジ)    (オリジン)

Distribution(ディストリビューション)

CloudFront の設定単位

コンテンツ配信の「どこから」「どのように」を定義する設定の集合体

ディストリビューションを作成すると:

  • d111111abcdef8.cloudfront.net のようなドメイン名が割り当てられる
  • 独自ドメインを設定することも可能

Origin(オリジン)

コンテンツの元データが保存されているサーバー

対応するオリジンの種類:

オリジンタイプ説明
S3 バケット静的ファイルの配信
EC2動的コンテンツの配信
Application Load Balancer複数サーバーへの負荷分散
Lambda Function URLサーバーレスな動的コンテンツ
MediaPackage動画ストリーミング

Behavior(ビヘイビア / キャッシュビヘイビア)

URL パスパターンごとに CloudFront の動作を定義する設定

ビヘイビアで設定できる項目はおおよそ以下

キャッシュ設定

項目説明
Cache Policyキャッシュキーに含める値(ヘッダー、Cookie、クエリ文字列)と TTL を定義
Minimum / Maximum / Default TTLキャッシュの有効期限を制御
Compress objects automaticallyGzip / Brotli 圧縮を有効化

リクエスト/レスポンス制御

項目説明
Originリクエストを転送するオリジンサーバー
Origin Request Policyオリジンに転送するヘッダー、Cookie、クエリ文字列を定義
Response Headers Policyレスポンスに追加するヘッダー(CORS、セキュリティヘッダーなど)
Viewer Protocol PolicyHTTP/HTTPS の扱い(HTTPS Only、Redirect HTTP to HTTPS など)
Allowed HTTP Methods許可する HTTP メソッド(GET/HEAD、POST/PUT/DELETE など)
Restrict Viewer Access署名付き URL / Cookie によるアクセス制限

エッジコンピューティングの関連付け

項目説明
CloudFront FunctionsViewer Request / Viewer Response で軽量な JavaScript を実行
Lambda@Edge4つのイベント(Viewer/Origin の Request/Response)で複雑な処理を実行
例: /api/* のビヘイビア設定
├─ Origin: ALB
├─ Cache Policy: CachingDisabled(キャッシュ無効)
├─ Viewer Protocol Policy: HTTPS Only
├─ Allowed HTTP Methods: GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE
└─ CloudFront Functions (Viewer Request): JWT 検証

Edge Location(エッジロケーション)

CloudFront がコンテンツをキャッシュし配信する世界各地のデータセンター

ユーザーに最も近いロケーションからコンテンツを配信することで低遅延を実現する

機能

Origin Group フェイルオーバー

試してみる