読者です 読者をやめる 読者になる 読者になる

sorta kinda...

主にAWS関連ですが、これに限らずいろいろ勉強したことや思ったことを書いていきます。

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

AWS SNS CloudWatch EBS Script

どもども、ナスです。

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

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

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

 

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

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

最後にイベントの名前を決めたら終わりです。 f:id:nasrinjp1:20161115221537p:plain

じゃあ EBS スナップショットを作成してみよう。 f:id:nasrinjp1:20161115221541p:plain:w500

完了しましたね。 f:id:nasrinjp1:20161115221542p:plain

メールで 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"
  }
}

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