【问题标题】:AWS Eventbridge Notifications Does Not Work Using SNS topicAWS Eventbridge 通知无法使用 SNS 主题
【发布时间】:2021-12-28 14:20:09
【问题描述】:

当我的 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 计划维护(重启)通知,但是我创建的这个事件桥并没有为此触发,也没有向 slack 通道发送任何通知。

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

【问题讨论】:

    标签: amazon-web-services amazon-ec2 aws-lambda amazon-sns aws-event-bridge


    【解决方案1】:

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

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

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

    即使顶部的铃铛图标中出现了一个日程安排事件(如上面的屏幕截图所示),它也应该可以工作,对吗?

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

    【讨论】:

    • 感谢 Ervin 在这里提供的一些好的意见。你能检查截图吗? c2n.me/4e2fqht c2n.me/4e2fqrR 你能帮我进一步吗?它显示已发布和交付为值 1。这意味着工作,对吗?但我在我的 slack 频道上看不到任何内容。
    • 我看到您有来自 CloudWatch 的维护事件,但我没有看到 SNS 成功发布或失败的值。请检查您是否有 Lambda 或订阅 SNS 主题的东西。
    • 嗯,SNS 主题已经订阅了 lambda 函数,并且它们已经用于一些 CloudWatch 警报松弛。您认为是否需要在 AWS Eventbridge 和 SNS 之间或 AWS Eventbridge 和 Lambda 之间指定任何 IAM 角色?。
    【解决方案2】:

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

    【讨论】:

    • 请不要在答案部分发布您的问题!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-28
    • 1970-01-01
    • 2021-05-21
    • 1970-01-01
    • 2021-04-19
    • 1970-01-01
    相关资源
    最近更新 更多