DVA-C02開発MEDIUM複数選択

ある企業が、API GatewayのREST APIを使って外部パートナーにAPIを提供している。以下の2つの要件を同時に満たす構成として最も適切なものを2つ選択してください。 要件1: 特定のパートナーが1日に呼び出せるAPIリクエスト数を月単位で制限したい(クォータ管理)。 要件2: パートナーごとに異なるスロットリングレートを設定したい。

  1. A. Lambda Authorizerでパートナーを識別してリクエストカウントをDynamoDBに記録し、上限超過時は403を返す
  2. B. パートナーごとにAPIキーを発行し、それぞれを別々のUsage Planに関連付ける
  3. C. API Gatewayのステージレベルのデフォルトスロットリングにパートナー数で割った値を設定する
  4. D. Usage Planにクォータ(例: 月10,000リクエスト)とスロットリングレートを設定する
  5. E. API GatewayのリソースポリシーにパートナーのIPアドレスレンジを設定して流量を制御する
解答と解説を見る

正解: B, D

API GatewayのUsage PlanとAPIキーの組み合わせが、パートナーごとのクォータとスロットリングの管理に最も適した機能である。APIキーをパートナーごとに発行して(選択肢B)、異なるUsage Planに紐付けることでパートナーごとに異なるスロットリングレートを設定できる。Usage PlanにはAPIリクエスト数の月次クォータ(選択肢D)とスロットリングのrps/バースト制限を同時に設定でき、両要件をネイティブ機能で実現できる。選択肢EのリソースポリシーはIPレンジによるアクセス制御に使うものであり、リクエスト数のクォータ管理やスロットリング設定には使えない。選択肢AのDynamoDB記録によるカスタム実装は機能するが、Lambda Authorizerの追加コスト・開発工数・DynamoDBのプロビジョニングが必要であり、Usage Planというネイティブ機能で代替できる場合は過剰実装となる。選択肢Cのステージレベルスロットリングはすべてのリクエストに均一に適用されるため、パートナーごとに異なるレートを設定する要件2を満たせない。

▸ この試験を本気で演習する(全150問・無料)