■ 問題
あなたはソリューションアーキテクトとして、オンプレミス環境にある動画配信アプリケーションをAWSに移行しています。動画配信を最適化するためにAmazon S3バケットに動画コンテンツを保存して、それをオリジンサーバーとしつつ、Amazon CloudFrontのディストリビューションを構成することになりました。その際は、すべてのWEBサイトトラフィックをWAFによって監視することが必要です。
この要件を満たすことができる、最適なCloudFrontの構成方法はどれでしょうか。
■ 選択肢
- S3バケットをオリジンとしてCloudFrontディストリビューションを設定して、Amazon S3のバケットポリシーにWAFへの許可を設定する。
- S3オリジンへのリクエストがWAFを経由するようにAmazon CloudFrontにAWS WAFを適用する。
- S3バケットをオリジンとしてCloudFrontディストリビューションを設定して、Amazon S3のバケットポリシーにオリジンアクセスコントロール (OAC) への許可を設定する。Amazon CloudFrontディストリビューションにWAFを設定する。
- S3オリジンへのリクエストがWAFを経由するようにAmazon CloudFrontにAmazon Shieldを適用する。
■ 正解
✅
S3バケットをオリジンとしてCloudFrontディストリビューションを設定して、Amazon S3のバケットポリシーにオリジンアクセスコントロール (OAC) への許可を設定する。Amazon CloudFrontディストリビューションにWAFを設定する。
■ 構成イメージ(コードベース図)
ユーザー
│
▼
CloudFront(WAF適用)
│
│ すべてのリクエストを検査
▼
OAC(Origin Access Control)
│
▼
S3(非公開バケット)
┌────────────────────────────┐
│ バケットポリシー │
│ OACのみアクセス許可 │
└────────────────────────────┘■ 全体的な説明
✔ オプション3(正解)
この問題のポイントは👇
・すべてのトラフィックをWAFで監視
・S3への直接アクセスを防ぐ■ OACの役割
S3をCloudFront経由のみにする👉 これにより
- ❌ 直接S3アクセス不可
- ✅ CloudFront経由のみ許可
■ WAFの役割
CloudFrontに設定
→ 全リクエストを検査👉 つまり以下を強制
ユーザー → CloudFront → WAF → S3
■ 不正解の理由
❌ オプション1
WAFをS3に設定
👉 不可能
WAFはCloudFront / ALBに設定するもの
❌ オプション2
WAFだけ設定
👉 NG理由
S3直アクセスを防げない
❌ オプション4
Shield使用
👉 NG理由
Shield = DDoS対策
WAF = アプリ層防御
■ 試験ポイントまとめ
① WAFはCloudFrontに設定
② S3はOACで閉じる
③ 直接アクセスを防ぐ■ 一発で覚える
CloudFront + WAF + OAC = 完全防御■ まとめ
| 要件 | 解決策 |
|---|---|
| 全トラフィック監視 | WAF |
| S3直アクセス防止 | OAC |
| CDN配信 | CloudFront |
■ 最重要パターン
S3 + CloudFront問題→ 必ず OAC(またはOAI)
→ WAFはCloudFront
■ 結論
S3を非公開化(OAC)し、CloudFrontにWAFを適用することで
すべてのトラフィックを安全に監視できる構成となる
ここまで読んでいただき、ありがとうございます。もしこの記事の技術や考え方に少しでも興味を持っていただけたら、ネクストのエンジニアと気軽に話してみませんか。
- 選考ではありません
- 履歴書不要
- 技術の話が中心
- 所要時間30分程度
- オンラインOK