誰もスプリントボードに「レート制限を実装する」とは書きません。それはユーザーストーリーではありません。メトリクスを動かすものでもありません。プロダクトが求めることもありません。
そしてある日、誰かが30秒でAPIに5万リクエストを送るスクリプトを仕込み、あなたのデータベースはダウンします。あるいはもっと悪いケースでは、たった一人のユーザーの暴走スクリプトが、一晩でAWS Lambdaの呼び出し料金として800ドルを費やします。
この両方を私は経験しました。今ではレート制限は私のスターターテンプレートに組み込まれています。
三つのレイヤー
私はレート制限を三つのレイヤーで実装しています。それぞれが異なる悪用パターンを捕捉するからです:
レイヤー1:エッジ(CloudFront / Vercel)
\\
