過剰コストやDDoS攻撃の対策に有効、「Amazon API Gateway」でAPI実行数を管理、制限するにはAWSチートシート

AWS活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は「Amazon API Gateway」のみでできるアクセス元ごとのAPI実行数管理のポイントをする。

» 2023年09月14日 05時00分 公開
[金光適株式会社システムシェアード]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 「Amazon Web Services」(AWS)活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は「Amazon API Gateway」(以下、API Gateway)のみでできるアクセス元ごとのAPI実行数管理のポイントを紹介します。

 APIの実行数を適切に管理することで、バックエンドのシステムへの影響を最小限にすることや、意図しないリクエスト増によるコスト過剰が起こらないようにすることができます。

API実行数を管理する理由

 API Gatewayでアクセス元ごとにAPI実行数を適切に管理することで、想定以上のアクセスがあった場合にAPI Gatewayで「429 To Many Request」を返却して以降の処理を中断させることができます。その理由としては、大きく3つ挙げられます。

  1. 使う分だけのリソースを確保するため
  2. 悪意のあるアクセス増(DDoS攻撃など)の影響を最小限にするため
  3. アクセス元の利用傾向を把握し、分析にも利用できるため

 1つ目については、AWSのリソースはアーキテクチャをしっかり設計しておけば、使われるだけスケールできます。ただし、スケールするとコストもかさんでいくので、悪意がなくても想定以上のアクセスは防いでおき、アクセス元で制御した方がよい場合があります。

 2つ目については、アクセス元ごとにAPI実行数を管理するので、攻撃を受けているアクセス元からのリクエストのみ、以降の処理を中断させることができます。その他のアクセス元は正常に処理するので、被害を最小限に抑えることができます。

 3つ目については、直接APIの実行数管理がメリットになるわけではないのですが、アクセス元ごとに管理する使用量プランを設定するので、APIキーごとのリクエスト状況が確認できるようになり、分析しやすくなります。

Amazon API GatewayのAPI実行数管理の概要

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。