AWS Certified Solutions Architect Associate(SAA-C03) 練習問題 33:API Gatewayのスロットリングとキャッシュによる最適化
Amazon API Gatewayのスロットリングとキャッシュ機能について、正しい説明はどれか。
- API Gatewayのレスポンスキャッシュを有効にすると、バックエンド(Lambda等)への呼び出し回数を削減し、レイテンシーを改善できる。
- API Gatewayのスロットリング設定はAPIレベルでのみ設定可能であり、メソッド単位や利用者(APIキー・使用量プラン)単位での個別設定はサポートされていない。
- API Gatewayのキャッシュはデフォルトで有効になっており、無効化すると追加料金が発生する。
- 使用量プラン(Usage Plan)とAPIキーを組み合わせても、クライアントごとにリクエストレート制限やクォータを個別に設定することはできない。
- API Gatewayのバーストリミットとレートリミットは常に同一の値でなければならず、個別に設定することはできない。
正解と解説を見る
正解:API Gatewayのレスポンスキャッシュを有効にすると、バックエンド(Lambda等)への呼び出し回数を削減し、レイテンシーを改善できる。
API Gatewayにはバックエンドの負荷軽減とレイテンシー改善のための機能が複数用意されています。正しいのは「レスポンスキャッシュを有効にすると、バックエンドへの呼び出し回数を削減しレイテンシーを改善できる」という内容です。キャッシュを有効化すると、同一リクエストに対する応答を指定したTTLの間キャッシュし、Lambda関数などバックエンドを都度呼び出す必要がなくなります。
スロットリングはAPIステージ全体だけでなく、メソッド単位や使用量プランに紐づくAPIキー単位でも個別に設定できます。使用量プランとAPIキーを組み合わせることで、クライアントごとに異なるリクエストレートやクォータ(月間リクエスト数上限など)を設定でき、SaaS型APIの提供によく使われます。キャッシュはデフォルトでは無効であり、有効化すると別途料金が発生します。スロットリングはトークンバケットアルゴリズムに基づき、定常的なレートリミットと瞬間的なバーストリミットを別々の値として設定できます。