どもども、ナスです。

さらっと嬉しい機能が追加されました。
New – CloudWatch Events for EBS Snapshots | AWS Blog

今までスクリプトで EBS スナップショットを作成したり AMI を作成したりしてましたが、完了のタイミングがわからない上にちゃんと完了したかどうかも追えてなかったんですよね。ちょいちょい Describe コマンドで確認してみたり。あと1年くらい早くほしかった。

が、しかし!もうそんなことはしなくても良くなったんです!

じゃあやってみましょう!

まずは CloudWatch Event のルールを作りましょう。イベントの選択で、Amazon EBS snapshots を選びます。下の画像のように選ぶと、スナップショットの作成が成功したら SNS でメール送信します。イベントは他にも、コピー、共有があって、それぞれ失敗したら、成功したら、の2種類があります。ターゲットも、Lambda、SQS、Kinesis、組み込みターゲットがあります。

20161115221419

最後にイベントの名前を決めたら終わりです。

20161115221537

じゃあ EBS スナップショットを作成してみよう。

20161115221541

完了しましたね。

20161115221542

メールで JSON 形式で内容が飛んできました。JSONPathで特定の要素だけメールで送る、とかもできます。

{
  "version":"0",
  "id":"****************************",
  "detail-type":"EBS Snapshot Notification",
  "source":"aws.ec2",
  "account":"************",
  "time":"2016-11-15T12:59:43Z",
  "region":"ap-northeast-1",
  "resources":["arn:aws:ec2::ap-northeast-1:snapshot/snap-********"],
  "detail":
  {
    "event":"createSnapshot",
    "result":"succeeded",
    "cause":"",
    "request-id":"",
    "snapshot_id":"arn:aws:ec2::ap-northeast-1:snapshot/snap-********",
    "source":"arn:aws:ec2::ap-northeast-1:volume/vol-********",
    "startTime":"2016-11-15T12:59:41.000Z",
    "endTime":"2016-11-15T12:59:42.866Z"
  }
}

条件とターゲットの組み合わせでスナップショットのイベントをもとにいろんなことができそうですね。

元記事はこちら

EBS snapshotの作成完了が簡単にわかる! [cloudpack OSAKA blog]