AWS EventBridge使用SNS Topic推送EC2计划事件通知不生效问题
问题排查及解决方法
- 首先确认你的AWS账号已开通*Business Support、Enterprise Support或Developer Support计划:AWS Health的事件推送至Eventbridge的功能不支持免费的Basic Support计划,这是最常见的配置遗漏点。
- 确认Eventbridge规则的部署区域:AWS Health的事件默认仅发布到美国东部(弗吉尼亚北部,us-east-1)区域的默认EventBridge事件总线。如果你将规则部署在其他区域,且未开启AWS Health的跨区域事件聚合功能,规则将无法匹配到事件。
- 若你使用的是AWS组织的成员账号,需要确认组织管理账号已开启AWS Health的组织共享功能,否则成员账号无法接收全组织范围的健康事件。
- 检查Eventbridge规则到SNS Topic的权限配置:
- 确认EventBridge规则关联的执行角色包含
sns:Publish权限,且授权范围覆盖你使用的SNS Topic - 确认SNS Topic的访问策略允许
events.amazonaws.com服务主体对其进行调用
- 确认EventBridge规则关联的执行角色包含
- 可优化事件模式匹配精度:你当前的事件模式可以正常匹配EC2计划变更事件,如果需要更精准匹配实例重启维护事件,可补充eventTypeCode字段:
{ "source": ["aws.health"], "detail-type": ["AWS Health Event"], "detail": { "service": ["EC2"], "eventTypeCategory": ["scheduledChange"], "eventTypeCode": ["AWS_EC2_INSTANCE_SCHEDULED_REBOOT"] } }
关于控制台铃铛事件触发的说明
只要控制台顶部铃铛展示的事件属于AWS Health生成的EC2计划内变更事件,且满足上述所有配置要求,规则就会正常触发。
测试方法
你可以通过AWS CLI运行以下命令生成模拟的AWS Health测试事件,验证规则是否能正常触发:aws health test-event-notification --event-arn arn:aws:health:us-east-1::event/AWS_EC2_INSTANCE_SCHEDULED_REBOOT/test_event_123 --event-type-category scheduledChange --service EC2
内容的提问来源于stack exchange,提问作者vjwilson
相关产品推荐
相关产品推荐

