用語
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 automatically | Gzip / Brotli 圧縮を有効化 |
リクエスト/レスポンス制御
| 項目 | 説明 |
|---|---|
| Origin | リクエストを転送するオリジンサーバー |
| Origin Request Policy | オリジンに転送するヘッダー、Cookie、クエリ文字列を定義 |
| Response Headers Policy | レスポンスに追加するヘッダー(CORS、セキュリティヘッダーなど) |
| Viewer Protocol Policy | HTTP/HTTPS の扱い(HTTPS Only、Redirect HTTP to HTTPS など) |
| Allowed HTTP Methods | 許可する HTTP メソッド(GET/HEAD、POST/PUT/DELETE など) |
| Restrict Viewer Access | 署名付き URL / Cookie によるアクセス制限 |
エッジコンピューティングの関連付け
| 項目 | 説明 |
|---|---|
| CloudFront Functions | Viewer Request / Viewer Response で軽量な JavaScript を実行 |
| Lambda@Edge | 4つのイベント(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 がコンテンツをキャッシュし配信する世界各地のデータセンター
ユーザーに最も近いロケーションからコンテンツを配信することで低遅延を実現する
機能
- CloudFront エッジコンピューティング - CloudFront Functions / Lambda@Edge
- CloudFront 継続的デプロイ- 本番トラフィックの一部でテスト