写点什么

Amazon CloudWatch Events 监控您应用的安全

  • 2019-11-20
  • 本文字数:1262 字

    阅读完需:约 4 分钟

Amazon CloudWatch Events监控您应用的安全

每个应用程序时刻都在产生事件,Amazon CloudWatch Events 能帮助您针对应用的事件进行有针对性的响应和处理,及时响应,并处理错误事件,存储和分析潜在的告警信息。在接下来的篇幅里,我将利用 AWS 的 CloudWatch Events,Lambda,SNS,SQS 等服务向您展示如何及时分析与处理应用事件。


在这个场景中,我将应用事件划分分三个等级(当然,在您的具体业务场景中,您可以根据实际情况划分任意多的等级),Green,Yellow,Red。Green 代表应用正常,您不需要进行任何动作。Yellow 表示您应用的健康检查失败,通过 Lambda 来处理该类型事件。Red 表示您的应用在至少一台服务器上已经失败,立即通知运维部门处理。


以下是该场景中的架构示意图:


1. 最左边为您的应用服务器群,他们将各自的事件发送给 CloudWatch Events;


2. 在 CloudWatch Events 中设置 Rule 来进行区分,并将对应的事件发送相应的目标,如 Lambda,SNS,SQS;


3. 目标在收到事件后进行相应的处理;



具体步骤:


1.   创建 3 个目标,Lambda,SNS,SQS;


1.1, 目标 1,创建 Lambda 函数,SampleAppDebugger;



1.2, 目标 2,创建 SNS 主题,RedHealthNotifier;



1.3, 目标 3,创建 SQS 消息队列,ReportInspectionQueue;



2.   创建 CloudWatch Events Rule


2.1, 将以下内容保存为 YellowPattern.json;



2.2, 使用以下命令创建名为 myCustomHealthStatusYellow 的规则;



2.3, 使用以下命令创建目标;



2.4, CloudWatch Event 需要将事件发送给 Lambda,所以需要给 Lambda 添加适当权限允许 CloudWatch 这么做;



3.   重复上面的步骤创建第 2 条规则,并设置目标为 SQS 和 SNS,特别注意,不要忘记给 SNS,SQS 设置相应权限以允许 CloudWatch 发送事件过来;


3.1, 使用以下命令创建名为 myCustomHealthStatusRed 的规则,这里的 RedPattern.json 文件其实是将 2.1 步骤中的 YellowPattern.json 是一样的,只是将内容中的 Yellow 替换成了 Red;




3.2, 创建两个目标,SQS,SNS;




3.3, 添加权限允许 CloudWatch Events 发送事件;




其他 SNS,SQS 权限设置相关,请参考该官方链接:http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/events/resource-based-policies-cwe.html#sns-permissions


4.   进行测试,手动放入一些 Red 事件(我设置了个小脚本,每次运行都会放入 61 个事件),看看 SQS 及 SNS 情况;



这里我运行了三次脚本,所以 SQS 中有 183 条消息



看看邮箱中是否会收到邮件



5.   测试 Yellow 事件及 Lambda 反应;



Lambda 被触发的次数



作者介绍:



郑进佳


亚马逊 AWS 解决方案架构师,在加入 AWS 之前,在多家跨国公司有着超过 7 年的架构设计和项目管理的经验,对 AWS 云端高可用架构有着深刻的理解,以及对企业级应用如何迁移到云端的架构设计有实战方面的经验。


TAGS:


Amazon CloudWatch


,


大咖专栏


,


安全


,


管理工具



View Comments


[


亚马逊 AWS 官方博客目录


__](https://aws.amazon.com/cn/blogs/china/all/?nc1=b_nrp)


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/cloudwatch-events/


2019-11-20 08:00684

评论

发布
暂无评论
发现更多内容

【Spring 学习笔记(十四)】Spring AOP 通知中获取数据

倔强的牛角

Java spring 6月月更

DOM核心——Element类型

大熊G

JavaScript 前端 6月月更

架构实战营模块4作业

挖了蘑菇哩斯

架构实战营 存储方案

scanf的使用,cin和scanf的区别

工程师日月

6月月更

【作业四 千万级学生管理系统的考试试卷存储方案】

wuli洋

初创公司,如何拥有企业级Java脚手架

昵称不能为null

Java脚手架 企业级代码架构

【LeetCode】出现次数最多的子树元素和Java题解

Albert

LeetCode 6月月更

redis内存优化

乌龟哥哥

6月月更

【愚公系列】2022年06月 通用职责分配原则(八)-中介原则

愚公搬代码

6月月更

IAST 初探:博采众长、精准定位、DevOps友好

SEAL安全

DevOps 安全 IAST 应用安全测试 开源软件供应链

Python 设计模式:原型模式

宇宙之一粟

设计模式 原型模式 6月月更

ImportSelector与DeferredImportSelector的区别(spring4)

程序员欣宸

Java spring SpringFramework 6月月更

基于集群的动态反馈负载均衡策略

No Silver Bullet

集群 6月月更 负载均衡策略

Linux开发_采用线程处理网络请求

DS小龙哥

6月月更

C#入门系列(二十) -- 面向对象之封装

陈言必行

C# 6月月更

vivo 容器集群监控系统架构与实践

vivo互联网技术

云原生 监控 系统架构 Prometheus

读书笔记之:麦肯锡高效工作法

甜甜的白桃

读书笔记 读书 笔记 6月月更

uni-app进阶之生命周期【day8】

恒山其若陋兮

6月月更

解决k8s调度不均衡问题

劼哥stone

Kubernetes 云原生 调度 调度不均衡 kube-scheduler

dart使用技巧集合【01】

坚果

6月月更

echo命令实用技巧

Nick

Docker 镜像源 echo 6月月更 tldr

618战报销冠谜底:“收割机”联想屠榜背后的三大利器是什么?

脑极体

远程办公三部曲 - 如何提高工作效率| 社区征文

耳东@Erdong

工作效率 远程办公 6月月更 初夏征文

面试突击58:truncate、delete和drop的6大区别

王磊

Java java常见面试题 常见面试题

开源生态|超实用开源License基础知识扫盲帖(下)

Orillusion

开源 WebGL 元宇宙 Metaverse webgpu

我理解的微服务 -- 读《微服务设计模式》总结

潜水员

golang 微服务

敲了几万行源码后,我给Mybatis画了张“全地图”

小傅哥

源码分析 面试 小傅哥 mybatis 大厂面试

Jenkins 通过检查代码提交自动触发编译

HoneyMoose

【Python技能树共建】字符编码与解码

梦想橡皮擦

Python 6月月更

DOM

Jason199

DOM js 6月月更

《网络是怎么样连接的》读书笔记 - Tcp/IP连接(二)

懒时小窝

TCP 网络编程 IP

Amazon CloudWatch Events监控您应用的安全_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章