決済処理システムのAPIがAmazon API Gateway(REST API)で稼働しています。セキュリティチームから以下の2つの要件が出されました。 ① 制裁対象国(北朝鮮・イランなど)からのリクエストのブロック ② SQLインジェクション攻撃パターンの自動検出とブロック 追加インフラを最小限に抑えて実装する方法として最も適切なのはどれですか?
AWS WAFはAmazon API GatewayのREST APIステージに直接関連付けられるWebアプリケーションファイアウォールです。地理的一致ルール(Geo Match Rule)で特定国のリクエストをブロックし、SQLインジェクション一致ルールまたはAWS Managed Rules(SQL Database managed rule group)で攻撃パターンを自動検出・ブロックできます。追加インフラ(CloudFront・Lambda等)を導入せずに、API Gatewayステージに直接WebACLを関連付けるだけで両要件を満たせます。 選択肢BのリソースポリシーでのIPアドレス制限は国単位の管理が困難で更新も手動です。LambdaでのSQLインジェクション検知は正規表現の精度・保守性に課題があり、マネージドルールに比べて信頼性が低いです。 選択肢CのCloudFrontとLambda@Edgeの組み合わせは有効ですが、追加インフラ(CloudFront)が必要で「最小限の追加インフラ」という要件に反します。 選択肢DのRoute 53ジオルーティングはDNSレベルの制御であり、DNSを迂回する直接IPアクセスには効果がありません。AWS ShieldはDDoS防御に特化しており、SQLインジェクションのようなアプリケーション層攻撃への対応は想定されていません。