- aws eventbridge 功能主要使用场景为,针对账号发生各种事件,发生告警,可以发送sns告警,也可以配置发送到当前区域或者其他账号当前区域的事件总线上汇总,再做下一步规划
- eventbridge 事件总线类似与整个事件的一个目录集合,但是要注意一点:
单、多账户下都不支持跨区域传输事件
!!! - iam事件告警请创建在 国外是:美国东部(弗吉尼亚北部)-us-east-1 国内是北京区域
- 顺路贴个文:用cloudformation快速实现对iam的监控告警 [点我跳转]
- 若想使用eventbridge做一些告警实现,必须开启cloudtrail 并且启动一个跟踪
- 本文主要介紹一下 跨账号事件总线功能
思路解析:
1.A账号创建事件总线(开启对应权限)
2.同区域B账号开启eventbridge 设置对应采集规则,配置目标推送到A账号事件总线
3.A账号收到推送,根据规则发送sns下游发出告警邮件
A账户操作(发送告警账户,接受事件汇总)
1.创建事件总线(接收方)
创建时,先点击模板,修改成自己需要的场景
官方示例:点我跳转
账户id在页面右上角
创建完成后记录此事件总线的arn
一会会用到
2.创建一个sns通知会用到
3.回到eventbridge 创建事件告警
不赘述过程,使用事件模式,这里我使用json定义多个事件订阅
单项服务事件订阅示例
{
"source": ["aws.iam"],
"detail-type": ["AWS API Call via CloudTrail"],
"detail": {
"eventSource": ["iam.amazonaws.com"],
"eventName": ["UpdateAccessKey"]
}
}
目标配置 第二项配置了日志的记录 方便我们定位测试链路
其中想要定义邮件格式的话这里配置
B账户(事件订阅,发送目标到其他账户事件总线)
1.eventbridge创建 省略其他配置
这里规则按你想推送汇总到A账户去定义,建议最小化推送,应该涉及流量费用
2.目标配置
在配置一个目标2 发送到B账户的sns 方便调试 (需提前创建,过程不赘述参考上文sns创建即可)
配置阶段已经完成了,可以先在每个账号下,发送测试事件,保证sns正常
A账户
验证环节
B账户修改订阅的事件其中之一举例 UpdateAccessKey ,看是否会除非B账户的sns通知,并且推送到A账户事件总线。
再到A账户的捕获到记录日志,和sns告警
全程可以在cloudtrail中刷新获知进度
查看邮件
B账户的
A账户的
说明链路配置正确,到B账户删除对应的sns即可
其他也可以再A账户的clloudwatch日志组捕获相关日志