EC2インスタンスの使用料金が閾値を超えたときに通知を出す方法

Amazon EC2を使い始めると、AutoScale などで起動しているインスタンスの数が増加して、使用料金が増えてしまうんじゃないか?って不安に思うことありますよね。

今回は、使用料金の閾値を設定して、それを越えたときに通知を出す方法を載せておきます。

まずは、AWS Management Consoleにログインして、右上の「Account Activity」を選択します。

f:id:kenjifunasaki:20120815171754p:plain

Account Activityのページが表示されると、下記のようなメッセージが表示されています。

f:id:kenjifunasaki:20120815172003p:plain

「Enable Now 」をクリックすると、CloudWatchから、使用料金の監視ができるようになります。

その後、1,2時間経過後にAWS Managment Consoleで、CloudWatchのbillingの設定を見てみると、下記のように計測ができるようになっていました。

f:id:kenjifunasaki:20120815172321p:plain

そこで、通知が飛ばせるようにアラームを作成してみます。

f:id:kenjifunasaki:20120815172509p:plain

インスタンスの使用料金の合計(1時間ごとの合計)が、0.4ドル以上になると、アラームが飛ぶ設定にします。アラームは、360分ごとのチェックになるようです。

f:id:kenjifunasaki:20120815172951p:plain

アラームが生じたときに、メールが飛ぶように設定します。メールの宛先も入力します。

f:id:kenjifunasaki:20120815173025p:plain

確認して、Create Alarm を選択します。

すると、指定したメールアドレスにメールが飛んできます。そのメールの中にあるリンクをクリックすると、下記のようなWebページが表示され、設定完了となります。

f:id:kenjifunasaki:20120815173140p:plain

これで、1時間ごとのインスタンス使用料金が0.4ドルを越えると、通知が飛んでくるはずです!

インスタンスの使用料金が超えた状態で、数時間待ってみると、来ました!通知が。通知のメールの内容は、↓こんな感じです。

  • タイトル:ALARM: "Test Alarm" in US - N. Virginia
  • 本文: You are receiving this email because your AmazonEC2 estimated charges are greater than the limit you set for the alarm "Test Alarm" in AWS Account xxxxxxxxxxxx. (以下省略)

とりあえず、通知が飛んできてよかったです。