Amazon Data Lifecycle Manager でマルチボリュームスナップショットを取得したときに CloudWatch Events をトリガーする方法

複数の EBS がアタッチされているインスタンスに対して、Amazon Data Lifecycle Manager でスナップショットを取得すると、マルチボリュームスナップショットを取得する挙動となります。そのため、CloudWatch Events のイベントパターンには、マルチボリュームスナップショットを取得したことをトリガーと設定する必要があります。
2020.10.06

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

Amazon Data Lifecycle Manager でインスタンスを対象にスナップショット取得をスケジュールしています。

スナップショットが取得されたことを、CloudWatch Events でトリガーしたいと考えています。

CloudWatch Events ルールを作成し、イベントソースに以下のイベントパターン JSON を設定しましたが、スナップショットが正常に取得されても CloudWatch Events がトリガーされません。

{
  "source": [
    "aws.ec2"
  ],
  "detail-type": [
    "EBS Snapshot Notification"
  ],
  "detail": {
    "event": [
      "createSnapshot"
    ],
    "result": [
      "succeeded"
    ]
  }
}

どう対応すればいいの?

Amazon Data Lifecycle Manager を用いてインスタンスを対象にスナップショットを取得した場合、 インスタンスに複数の EBS がアタッチされていると、マルチボリュームスナップショットを取得する挙動となります。

マルチボリュームスナップショットを取得が正常に行われた際に、CloudWatch Events をトリガーする場合は、以下の JSON を入力します。

{
  "source": [
    "aws.ec2"
  ],
  "detail-type": [
    "EBS Multi-Volume Snapshots Completion Status"
  ],
  "detail": {
    "event": [
      "createSnapshots"
    ],
    "result": [
      "succeeded"
    ]
  }
}

参考資料

Amazon EBS スナップショット - Amazon Elastic Compute Cloud

Amazon EBS での Amazon CloudWatch Events - Amazon Elastic Compute Cloud