К сожалению, если у вас есть требование Я хочу предотвратить злоупотребление этими конечными точками до очень низкого уровня, например, 1 запрос каждые 5 секунд для данного общедоступного IP-адреса. , тогда AWS WAF не подойдет.
Минимальное пороговое значение, которое вы можете установить для правила на основе тарифа WAF, составляет 2000 запросов в течение 5 минут.
Если вы хотите внедрить агрессивные правила, основанные на тарифах, основанные на IP, вам нужно написать собственное решение, которое либо:
- Проверяет журналы доступа CloudFront и задним числом блокирует неверные IP-адреса
- Используйте Lambda @ Edge для оценки запросов в реальном времени + забаньте соответственно
Что может быть более подходящим для вашего варианта использования, так это использование регулирования на этапе API, но не на основе IP. Что вы можете сделать, так это установить максимальное количество запросов в секунду в среднем, и заставить API возвращать 429, слишком много запросов, когда это число превышено. Вы можете быть очень агрессивными с этим или более расслабленными, используя десятичное значение: