検索
連載

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

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

PC用表示 関連情報
Share
Tweet
LINE
Hatena

 「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.

[an error occurred while processing this directive]
ページトップに戻る