AWS CloudWatch Event のSNS通知を見やすく整形する

AWSCloudWatch EventSNSを使用して通知設定をすると、ただひたすら長文のJSONが送信され見にくいので、整形する方法を探ったときのメモ。

イベントの設定

  1. AWSコンソールでCloudWatchのページに移動し、イベント -> ルールの順に選択。
  2. 対象となるルールを選択し、編集状態にする。
  3. ターゲットでSNS トピックを選択する。
  4. 「入力の設定」でインプットトランスフォーマーを選択する。
  5. 次章以降の内容を入力する(GuardDutyの結果を編集するサンプルです)

入力パス

{
  "type": "$.detail.title",
  "title": "$.detail.title",
  "description": "$.detail.description",
  "severity": "$.detail.severity",
  "updatedAt": "$.detail.updatedAt",
  "createdAt": "$.detail.createdAt",
  "arn": "$.detail.arn"
}

入力テンプレート

"GuardDuty で次の脅威が発見されました。"

"種別  :<type>"
"タイトル:<title>"
"説明  :<description>"
"重要度 :<severity> ( https://docs.aws.amazon.com/ja_jp/guardduty/latest/ug/guardduty_findings.html#guardduty_findings-severity )"
"更新日時:<updatedAt>"
"作成日時:<createdAt>"
"ARN   :<arn>"

まとめ

SNS経由で届く内容が見やすくなりました。