Amazon EventBridge Events ルール → Amazon SNS トピックが上手く連携されなかった件


構成

Amazon EventBridge Events ルール → Amazon SNS → Eメール

発生した問題

Eventsルールが発火した後も, Eメールが送信されない

原因

SNSトピックがEvents ルールからのアクションを許可していなかった

(プリンシパルの設定がなかった)

対処方法

SNSトピックに関連付けられているIAMリソースポリシーに, Events ルールからのアクションを許可するステートメントを追加する

例: AWS CDKの場合 (Python)

target_topic.add_to_resource_policy(
    iam.PolicyStatement(
        actions=["sns:Publish"],
        effect=iam.Effect.ALLOW,
        resources=[target_topic.topic_arn],
        principals=[iam.ServicePrincipal("events.amazonaws.com")]
    )
)

参考文献

[appendix] Events ルールが発火したかどうかを確認する方法

[Amazon EventBridge] → [ルール] → [ルールのメトリクス]

メトリクスを選択し, 統計を[合計], 期間は見やすい期間に変更する