租用帮助

3分钟利用 Cloudformation 快速部署简单易用的 CDN/WAF 日志服务
2023-11-09 16:51:12
阅读()
摘要:     在使用 AWS CloudFront 进行前端加速的场景中,运维人员经常需要查询日志历史,以分析特定资源的状态是否正常。一个具体的案例是查询某张图片在一定时间内返回 200 或 304 状态码的次数。常规做法是在 Athena 中手动创建表格和分区,并根据需求编写相应的查询语句。

在使用 AWS CloudFront 进行前端加速的场景中,运维人员经常需要查询日志历史,以分析特定资源的状态是否正常。一个具体的案例是查询某张图片在一定时间内返回 200 或 304 状态码的次数。常规做法是在 Athena 中手动创建表格和分区,并根据需求编写相应的查询语句。


Cloudformation 快速部署http://www.hkt4.com/zt/2023-05-06/


当然,运维人员可以基于 AWS 控制台或 CLI 构建满足上述需求的服务。然而,如何将这些服务进行封装以实现重复使用的目的,是成熟运维体系必须考虑的重要问题。针对上述问题,本文介绍了利用 CloudFormation 的 Infrastructure as Code 能力来封装 AWS 相关服务,并在部署时只需输入相应参数,即可快速搭建满足需求的服务架构。


一、使用aws CloudFormation快速部署CDN/WAF日志服务


1. 创建aws CloudFormation模板:使用aws CloudFormation模板,您可以定义和配置将要部署的资源和服务。模板将包含CDN和WAF所需的参数、资源和策略。

2. 配置CDN:在aws CloudFormation模板中,配置CDN的相关参数,包括域名、缓存规则和定制配置等。按照具体需求进行配置,并确保CDN的正确部署和生效。

3. 设置WAF规则:在aws CloudFormation模板中,设置WAF的规则和策略,以保护您的应用程序免受各类Web攻击。配置WAF的防护策略,包括规则组、防火墙规则和封禁规则等。

4. 配置日志服务:利用aws CloudFormation,配置CDN和WAF的日志服务,以便收集、存储和分析网络流量日志。将日志数据导出到相关AWS服务或第三方日志分析工具中,以获得更详细的统计信息和分析报告。


Cloudformation 快速部署简单易用的 CDN/WAF

二、优势与应用场景


1. 高效简单易用:aws CloudFormation提供了一种便捷的方式来管理和部署CDN/WAF资源,无需手动操作和复杂设置。通过模板一键部署,即可实现快速、高效的CDN和WAF服务搭建。

2. 提升网站性能:CDN的使用可以加速网站访问,减少延迟时间和带宽消耗,提升用户体验。同时,WAF的保护功能可以有效地抵御恶意攻击和非法请求,保障网站的安全性。

3. 适用于多种应用场景:CDN/WAF日志服务适用于各种Web应用场景,如电子商务、媒体传输、在线游戏等。它可以帮助企业实现高速、安全的内容分发和网络保护,提供稳定可靠的用户体验。


通过利用aws CloudFormation服务快速部署简单易用的CDN/WAF日志服务,您可以轻松管理和分析网络流量日志,提升网站性能和安全性。这将为您的业务带来更好的用户体验,并保护您的应用程序免受各类攻击行为的侵害。


三、测试


当堆栈创建完毕后,内部自带了直接可以测试的场景:检测 200 或 304 的请求是否超过了 1000。


注意:这个可以在配置文件中修改。


1、手动测试

找到生成的 lambda 程序,直接执行即可

Cloudformation 快速部署简单易用的 CDN/WAF

2、自动测试

由于我们在 Cloudformation 配置的 EventBridge 间隔,比如每天 20 点自动跑一次, 可以找到对应的 EventBridge:


3、CloudWatch

在 CloudWatch 的 dashboard 界面,可以找到自定义面板,其内容包括了具体的 athena 语句,执行结果,以及 metricData 的图标。

在告警界面,可以看到 5 分钟内监控的数据值超过了 1000。


这种做法本身没有问题,但后续的流程却面临几个挑战:


1、查询都是单次执行的,无法根据业务需求实现自动化。

2、缺乏可视化手段,难以直观展示查询结果。

3、当结果异常时,如何快速通知相关人员?

4、常用查询语句需要一个统一管理的地方。


最后我们可以去注册的邮箱看下是否有收到告警邮件即可。目前该项目处于“脚手架”阶段,并与成熟的日志分析解决方案相比存在一些局限性。例如,目前仅支持指标的统计查询,而实际环境中的统计需求可能更加复杂。此外,它也依赖于在 Athena 中建立的日志表格。


除了以上特点之外,该方案适用于 CDN 日志、WAF 日志或其他类型的日志,只要日志具有固定格式且可以放置在 S3 存储桶中,即可建立相应的日志分析流程。此外,方案提供了配置文件,使客户能够自定义所需的查询场景。如果某些功能不需要开启,开发者们还可以对项目进行改造。最后,在通知方面,尽管展示了邮件通知的部分,开发者们也可以将其扩展到常用的即时通讯工具。

相关产品
HKT4为您的网站提供全球IDC资源
立即免费测试