为AWS WAF指标创建CloudWatch Alarm

之前我们为合作伙伴限制了PHPCrawler的访问速率,现在设置一个报警规则,如果PHPCrawler 速率限制规则被触发,该系统将通知我们。

我们将创建一个 CloudWatch 警报,用于跟踪phpcrawl-rate-limiter规则,事件触发时发送消息到SNS。

操作

先创建一个SNS主题waf-alerts,里面添加一个邮件订阅,具体步骤这里不详细说明。

在 cloudwatch中创建一个新的告警规则:

image-20240101222928501

选择metric:

image-20240101223013234

导航到WAFV2->Region,Rule,WebACL

image-20240101223112795

选择phpcrawl-rate-limiterBlockedRequests指标:

image-20240101223212161

在下一页中,将 “Period” 更改为1 分钟:

image-20240101223256500

在“Conditions”下,设置为大于0:

image-20240101223333356

“Notification” 下,选择使用一开始创建的SNS waf-alerts

image-20240101223449127

进入下一步,输入phpcrawl-alarm作为警报名称,然后单击下一步

image-20240101223650541

最后创建CloudWatch Alarm。

验证

创建大量请求来触发速率限制 WAF 规则,当限速规则被触发时,请求将被阻止并导致429 Too Many Requests响应 :

image-20240101223851064

CloudWatch 警报可能需要几分钟时间才能进入In alarm状态,此时也会收到报警邮件。

image-20240101230151868