Amazon CloudFrontとは
- AWSのCDN(Content Delivery Network)サービス
- 世界中のエッジロケーションを活用して、コンテンツをユーザーに近い場所から低遅延で配信
- 動的・静的コンテンツ(HTML, CSS, JS, APIレスポンス, 動画, 音声など)両方対応
- セキュリティ・キャッシュ制御・認証機能が充実している
1. OAI (Origin Access Identity)
- CloudFront → S3連携の旧方式
- 仮想IAMユーザーを発行し、バケットポリシーで「このOAIからのリクエストのみ許可」と設定
- S3を「直接インターネット公開」せず、CloudFront経由のみアクセスさせることができる
- ただし古い方式で、新規構築ではOAC推奨
2. OAC (Origin Access Control)
- OAIの進化版(2022年以降の推奨方式)
- SigV4署名を使ったより強力なセキュリティモデル
- S3以外のオリジン(ALB, API Gatewayなど)にも対応
- CloudFrontの「これからの標準」
3. Geo Restriction(ジオ制限)
-
特定の地域/国からのアクセスを許可・拒否できる機能
- 例: 日本国内からのみ動画視聴を許可する
- 米国からのアクセスを制限する
-
著作権・配信ライセンス制御に使われる
4. Signed URL / Signed Cookies
CloudFrontで「特定のユーザーだけにコンテンツを配信」する仕組み
-
Signed URL
- 個別ファイル(オブジェクト)に対してアクセス制御したいときに利用
- IPアドレス制限可
- 例: 動画ファイル
movie.mp4を「有効期限付きリンク」で配布
-
Signed Cookies
- 複数のファイルへのアクセスをまとめて制御したいときに利用
- 例: 動画ストリーミングサイトで、ログインしたユーザーだけが複数の動画を視聴可能にする
5. 価格クラス
- ユーザーが主に北米・ヨーロッパ圏である → PriceClass_100 で十分&コスト低
- ユーザーがアジア・日本も含まれるが、南米・中東はあまりない → PriceClass_200 を検討
- グローバル(世界中)かつ遅延を最小化したい → PriceClass_All
まとめ
- OAI: S3専用の旧方式、CloudFront→S3アクセス制御
- OAC: 新方式、SigV4署名でS3以外も対応、今後の標準
- Geo Restriction: 国ごとにアクセス制御
- Signed URL / Signed Cookies: 有効期限付き・特定ユーザー限定配信
- CloudFront vs Global Accelerator: キャッシュ主体か、リアルタイム最適化か
AWS Global Acceleratorとは
-
アプリケーションへのグローバルなトラフィックを最適化して高速・高可用にするサービス
-
ユーザーは 固定のAnycast IPアドレス を使ってアプリにアクセス
-
AWSグローバルネットワークを活用して、ユーザーから最も近いAWSエッジロケーションに接続し、そこからアプリが動くリージョンへルーティング
-
Anycast IP = 世界中どこからアクセスしても同じIPで接続できる
-
CloudFrontが「静的コンテンツ最適化」に強いのに対し、Global Acceleratorは「動的アプリケーションの最適ルーティング」に強い
主な特徴
-
静的IPアドレス
- 2つの固定IPが提供される(高可用性のため)
- DNS変更なしでバックエンドを入れ替え可能
-
リージョン間のトラフィック最適化
- AWSグローバルネットワークを使って最短ルートでデータを届ける
-
ヘルスチェック & フェイルオーバー
- 複数リージョンやエンドポイント(ALB、NLB、EC2、EIPなど)を登録可能
- 一方がダウンしたら自動で別リージョンへルーティング
-
トラフィック制御(Traffic Dial)
- 各リージョンへのトラフィック割合を調整できる
- 段階的リリースやブルー/グリーンデプロイにも活用可能
利用シーン
- グローバルに展開するWebアプリやAPIを、低レイテンシで提供したい
- リージョン障害時でも自動的に別リージョンにフェイルオーバーしたい
- ゲームや金融取引など、動的コンテンツやリアルタイム通信 を最適化したい
- CloudFrontではなく、TCP/UDPベースの任意アプリケーション を最適化したいとき
CloudFront vs Global Accelerator
| サービス | 主な用途 | 最適化対象 |
|---|---|---|
| CloudFront | 静的コンテンツ配信(CDN) | HTTP/HTTPS(キャッシュあり) |
| Global Accelerator | 動的アプリ最適化・可用性強化 | TCP/UDP(キャッシュなし) |
- 「キャッシュして速くする」のがCloudFront、
- 「最適ルートを使って速くする」のがGlobal Accelerator