AWS認定資格 WEB問題集&徹底解説
ソリューションアーキテクト-プロフェッショナル
問題文と選択肢
- CloudFrontディストリビューションの地理的制限機能を使用して、ブロック対象国を指定する
- AWS WAFのIPセットステートメントを使用して、運用チームのIPアドレスを許可リストに追加する
- AWS WAFの地理的一致ステートメントを使用して、ブロック対象国を指定する
- VPCのネットワークACLを使用して、ブロック対象国からのトラフィックを拒否するルールを作成する
A. CloudFrontディストリビューションの地理的制限機能を使用して、ブロック対象国を指定する
CloudFront の地理的制限(Geo Restriction)は、国単位の許可リスト/拒否リストをエッジで一律に適用するだけの機能で、「この国はブロックするが、この IP だけは通す」という例外を表現できない。
本問はブロック対象国の中に許可したい運用チームがいるため、この時点で要件を満たせない。
SQL インジェクションや XSS といったアプリケーション層の脅威にも対応しないため、いずれにせよ WAF が別途必要になる。
B. AWS WAFのIPセットステートメントを使用して、運用チームのIPアドレスを許可リストに追加する
AWS WAF の IP セットステートメントで運用チームの固定パブリック IP を登録し、Allow アクションのルールを地理的ブロックルールより小さい優先度番号(先に評価される位置)に置くことで、例外的にアクセスを許可できる。
Web ACL のルールは優先度順に評価され、Allow に一致した時点でそれ以降のルールは評価されないため、後続の地理的ブロックに引っかからない。
選択肢 C と組み合わせて初めて「国はブロック、運用チームは許可」というきめ細かな制御が完成する、正解の一方。
C. AWS WAFの地理的一致ステートメントを使用して、ブロック対象国を指定する
AWS WAF の地理的一致(Geo Match)ステートメントは、リクエスト元の国を判定して Block できる。CloudFront に関連付けた Web ACL ならエッジでクライアントの実 IP に基づいて国を判定できる。
WAF なら同じ Web ACL 内に SQL インジェクション・XSS 対策のマネージドルールやレートベースルールも同居させられ、複数の脅威にまとめて対処できる。
IP セットによる例外(選択肢 B)と共存できる点が CloudFront の地理的制限との決定的な違いで、正解のもう一方。
D. VPCのネットワークACLを使用して、ブロック対象国からのトラフィックを拒否するルールを作成する
ネットワーク ACL はステートレスな IP/ポートベースのフィルタであり、国(ジオロケーション)を条件にできない。国ごとの IP レンジを手で維持するのは非現実的で、変化にも追随できない。
さらに本構成では CloudFront が前段にいるため、ALB / EC2 のサブネットに届く送信元 IP は CloudFront のエッジロケーションの IP であり、クライアントの IP でフィルタすることがそもそもできない。
SQL インジェクションや XSS といったアプリケーション層の攻撃も検査できず、要件を全く満たさない。
国ブロックに「例外」が付いたら AWS WAF。CloudFront の地理的制限は全面ブロック専用で、抜け穴を作れない。
正解への思考ルート
問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。| 要件 | 判断ポイント |
|---|---|
| 特定の3カ国からのアクセスをブロックしたい | 国単位の判定ができるのは CloudFront の地理的制限か AWS WAF の地理的一致ステートメントの2つだけ →選択肢(A・C)は候補 |
| ブロック対象国の中の運用チームだけは許可したい(例外) | 例外を作れるのは WAF だけ。CloudFront の地理的制限は国単位の一律ブロックで、IP による除外ができない →選択肢(A)を消す |
| 運用チームは固定のパブリック IP を持つ | IP セットステートメント+Allow ルールを地理的ブロックより先に評価させれば例外が成立する →選択肢(B)が正解 |
| SQLインジェクション・XSS・ボット・HTTP flood にも対応する必要がある | L7 の検査ができるのは AWS WAF。同じ Web ACL にマネージドルールやレートベースルールを同居できる →選択肢(C)が正解 |
| 現構成は CloudFront → ALB → EC2 | ALB / EC2 側から見た送信元は CloudFront のエッジ IP になるため、ネットワーク ACL でクライアント IP を判定できない →選択肢(D)を消す |
ひっかけポイント
- 「CloudFront の地理的制限」は国名を指定するだけで要件の半分は満たすように見えるが、ブロックした国の中に例外 IP を作れないのが致命傷。「ブロック+例外」とあれば WAF を選ぶ
- AWS WAF はルールの優先度順に評価され、Allow に一致した時点で評価が終わる。IP セットの許可ルールを地理的ブロックより後ろに置くと運用チームが弾かれる(構成の順序まで問われることがある)
- ネットワーク ACL はジオロケーションを条件にできない。加えて CloudFront 経由のトラフィックでは送信元がエッジの IP になるため、クライアント IP ベースの制御も効かないという二重の誤り
- 「IP セットだけ」「地理的一致だけ」では要件を満たさない。2つのステートメントを1つの Web ACL で組み合わせて初めて成立するという、複数選択問題特有の組み合わせを見抜く
出題バリエーション
同じ知識が本番では条件を変えて出題されます。| 問題文がこう変わったら | 正解はこう変わる |
|---|---|
| 「例外なく、3カ国を完全にブロックすればよい」 | CloudFront の地理的制限でも要件を満たす(WAF の課金なしで実現できる分、コスト観点で有利になり得る)。 |
| 「特定の数カ国からのみアクセスを許可したい(ホワイトリスト方式)」 | 地理的一致ステートメント+Web ACL のデフォルトアクションを Block にする構成が正解軸に。 |
| 「大量のリクエストを送ってくる IP を自動的に遮断したい」 | WAF のレートベースステートメントが正解軸に(IP セットは手動の静的リスト)。 |
| 「ボットのシグネチャを自前で書かずに防ぎたい」 | AWS WAF Bot Control マネージドルールグループが正解軸に。 |
| 「大規模な L3/L4 の DDoS と、専門家の支援・コスト保護がほしい」 | AWS Shield Advanced が正解軸に(WAF だけでは volumetric 攻撃を吸収しきれない)。 |
- CloudFrontディストリビューションの地理的制限機能を使用して、ブロック対象国を指定する
- AWS WAFのIPセットステートメントを使用して、運用チームのIPアドレスを許可リストに追加する
- AWS WAFの地理的一致ステートメントを使用して、ブロック対象国を指定する
- VPCのネットワークACLを使用して、ブロック対象国からのトラフィックを拒否するルールを作成する