AWS Support ケースの更新をChatbotでSlackに通知する

4277 ワード

やること

AWS Supportに問い合わせたSupportケースのイベント(ケース更新など)をSlackへ通知するように設定します。

構成

サービス構成はこのようになります。

各サービスを公式ドキュメントに沿って設定すればOKですが、以下が注意点です。

私ははじめap-northeast-1で作成して「どうして動かないんだ…」となり、この注意点を喧伝したいがためにこの記事を書きました。

設定手順

  1. SNS Topicの作成 (us-east-1)
  2. AWS Chatbotのクライアント設定
    • Getting started with AWS Chatbotを参照。
    • 必要に応じてChatbot用の IAM Role, Policyも作成します。
      Chatbotは結構色々できるので権限を与えすぎないように注意します。割り当てるIAMロールで絞るか、ガードレールポリシーで更に制限をかけます。
  3. EventBridgeルールの作成 (us-east-1)

イベントパターン例

{
    "source": ["aws.support"],
    "detail-type": ["Support Case Update"],
    "detail": {
        "event-name": ["AddCommunicationToCase"],
        "origin": ["AWS"]
    }
}

"event-name"

"event-name"では通知するイベントの種類を指定します。
Supportのイベントには以下がありますが、AddCommunicationToCaseだけを通知したい場合が多いんじゃないかと思います。

  • CreateCase (サポートケースの作成)
  • AddCommunicationToCase (既存のサポートケースにケース対応を追加する)
  • ResolveCase (サポートケースの解決)
  • ReopenCase (サポートケースを再度開く)

"origin"

"origin"ではケースの更新元を指定します。
回答者(AWS Support)がサポートケースを更新した場合のみ通知させたければ"AWS"を指定します。
質問者・回答者双方による更新を通知させたい場合、"origin"を指定しなければOKです。

こんな感じで通知される

参考