AWS Eventbridge 通知无法使用 SNS 主题

AWS Eventbridge Notifications Does Not Work Using SNS topic

我想在我的 Amazon Elastic Compute Cloud (Amazon EC2) 实例有预定事件时接收来自 AWS Eventbridge 的通知。

我创建了一个 Eventbridge 规则并将目标设置为一个已经工作的 SNS 主题。 SNS 主题订阅了一个可用的 Lambda 函数,该函数已用于其他“Cloudwatch to slack”警报。 eventbridge设置如下:

{
  "source": ["aws.health"],
  "detail-type": ["AWS Health Event"],
  "detail": {
    "service": ["EC2"],
    "eventTypeCategory": ["scheduledChange"]
  }
}

我已经收到来自 AWS 的 EC2 计划维护(重启)通知电子邮件,但我创建的这个 eventbridge 没有触发,也没有向 slack 通道发送任何通知。

我现在不确定我是否遗漏了设置中的某些内容。我是第一次设置它,没有办法用假输入简单地测试它。即使在顶部的铃铛图标中出现单个计划事件(如上面的屏幕截图所示),它也应该工作,对吗?

为了找出此问题的根本原因,我建议查看 SNS 的 CloudWatch 使用指标。 SNS 报告以下可能对您有用的指标:NumberOfMessagesPublishedNumberOfNotificationsDelivered NumberOfNotificationsFailed。如果您发现报告的这些指标的值不是 0,这意味着 SNS 从 Event Bridge 接收事件,而问题出在其他地方。

如果您使用 Lambda 向 Slack 发送消息,您应该查看 CloudWatch 中的日志以查看 Lambda 是否执行成功。您可能想查看 AWS 推荐的 Lambda 设置:(link)

如需进一步调试,您可能需要查看 test-event-pattern CLI 命令。

It is supposed to work even if there is a single schedule event that appears in the top bell icon(as shown in the screenshot above), correct?

是的,即使已经有一个事件,它也应该可以工作。

我在使用 cloudformation 构建 eventbridge 规则时遇到了类似的问题。我不得不通过 AWS 控制台手动进入 eventbridge 规则并再次转到触发器和 select SNS 主题。现在可以了。我花了一段时间才弄明白。您能否确认该修复程序是否为您解决了这个问题,因为我不确定如何修复此问题...