どもども、ナスです。
さらっと嬉しい機能が追加されました。
New – CloudWatch Events for EBS Snapshots | AWS Blog
今までスクリプトで EBS スナップショットを作成したり AMI を作成したりしてましたが、完了のタイミングがわからない上にちゃんと完了したかどうかも追えてなかったんですよね。ちょいちょい Describe コマンドで確認してみたり。あと1年くらい早くほしかった。
が、しかし!もうそんなことはしなくても良くなったんです!
じゃあやってみましょう!
まずは CloudWatch Event のルールを作りましょう。イベントの選択で、Amazon EBS snapshots を選びます。下の画像のように選ぶと、スナップショットの作成が成功したら SNS でメール送信します。イベントは他にも、コピー、共有があって、それぞれ失敗したら、成功したら、の2種類があります。ターゲットも、Lambda、SQS、Kinesis、組み込みターゲットがあります。
最後にイベントの名前を決めたら終わりです。
じゃあ EBS スナップショットを作成してみよう。
完了しましたね。
メールで 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" } }
条件とターゲットの組み合わせでスナップショットのイベントをもとにいろんなことができそうですね。