Q55 — AWS SAP-C02 第2章
第 55/75 問 | ← 第2章
Q205. ある企業が、米国内に拠点を置く6社のパートナーと情報を共有するためのREST APIを作成しています。この企業は、Amazon API Gatewayのリージョナルエンドポイントを作成しました。各パートナーは1日1回、日々の売上データを投稿するためにAPIにアクセスします。初期デプロイ後に、企業は世界中の500以上の異なるIPアドレスから1秒あたり1,000件のリクエストが発生していることを観測しました。企業は、このトラフィックがボットネットから発生していると判断し、コストを最小限に抑えながらAPIを保護したいと考えています。 このAPIを保護するため、企業が採用すべきアプローチはどれですか?
- A. Amazon CloudFrontディストリビューションを作成し、そのオリジンとしてAPIを指定します。AWS WAFのWeb ACLを作成し、1日あたり5回を超えるリクエストを送信するクライアントをブロックするルールを設定します。このWeb ACLをCloudFrontディストリビューションに関連付けます。CloudFrontにオリジンアクセスアイデンティティ(OAI)を設定し、それをディストリビューションに関連付けます。また、API Gatewayを設定して、POSTメソッドの実行をOAIのみに許可します。
- B. Amazon CloudFrontディストリビューションを作成し、そのオリジンとしてAPIを指定します。AWS WAFのWeb ACLを作成し、1日あたり5回を超えるリクエストを送信するクライアントをブロックするルールを設定します。このWeb ACLをCloudFrontディストリビューションに関連付けます。CloudFrontディストリビューションにカスタムヘッダー(APIキーで埋められる)を追加し、API側でPOSTメソッドの実行時にAPIキーを必須とするよう設定します。
- C. AWS WAFのWeb ACLを作成し、6社のパートナーが使用するIPアドレスへのアクセスを許可するルールを設定します。このWeb ACLをAPI Gatewayに関連付けます。さらに、リクエスト制限を設定したリソースポリシーを作成し、APIに関連付けます。また、APIを設定して、POSTメソッドの実行時にAPIキーを必須とします。
- D. AWS WAFのWeb ACLを作成し、6社のパートナーが使用するIPアドレスへのアクセスを許可するルールを設定します。このWeb ACLをAPI Gatewayに関連付けます。さらに、リクエスト制限を設定した使用量プラン(usage plan)を作成し、APIに関連付けます。APIキーを作成し、それを使用量プランに追加します。 ✓
正解: D. AWS WAFのWeb ACLを作成し、6社のパートナーが使用するIPアドレスへのアクセスを許可するルールを設定します。このWeb ACLをAPI Gatewayに関連付けます。さらに、リクエスト制限を設定した使用量プラン(usage plan)を作成し、APIに関連付けます。APIキーを作成し、それを使用量プランに追加します。
解説
選択肢Aは、CloudFrontディストリビューションとWAF Web ACLの関連付けを提案していますが、6社のパートナーのIPアドレスのみへのアクセス制限という要件には対応していません。選択肢Bは、CloudFrontにカスタムヘッダー(APIキー)を追加することを提案していますが、これも同様に、パートナーのIPアドレスのみへのアクセス制限という要件を満たしていません。選択肢Cは、6社のパートナーのIPアドレスを許可するWAF Web ACLの作成と、POSTメソッドでのAPIキーの必須化を提案していますが、ボットネットによる過剰なリクエストを防ぐためのレート制限や使用量制御機能を提供していません。したがって、選択肢Dが、コストを最小限に抑えつつAPIを保護する最も適切な解決策です。すなわち、6社のパートナーのIPアドレスのみを許可するWAF Web ACLを作成し、API Gatewayに関連付けてそれ以外の全トラフィックをブロックします。次に、各パートナーごとのリクエスト数を制限する使用量プランを作成し、APIに関連付けます。最後に、APIキーを作成して使用量プランに追加することで、認証済みのパートナーのみがAPIにアクセスでき、かつ定義されたレート制限が適用されるようにします。