Masteries

技術的なことや仕事に関することを書いていきます.

Amazon CloudWatchでAWSの利用料金を監視する

あらすじ

とある業務でAWSをモリモリ使う事になったので, 個人アカウントを取得していろいろ実験してみようと思いました.

そうなってくると心配になるのがAWSの利用料金で, 意図せずAWSのサービスを使いすぎて, 膨大な請求がクレジットカードへ... から始まるAWS破産は避けたいです. というわけで, Amazon CloudWatchを使ってAWSの利用料金の変化を監視してみることにしました.

設定

Amazon CloudWatchは, Amazonが提供するモニタリングサービスで, EC2やRDSなどのAWSが提供するリソースや, 利用者が用意するカスタムメトリックを可視化してくれるサービスです. このシステムを利用して, AWSの利用料金も監視/モニタリングすることも可能らしいので, 今回はこれを利用することにしました.

まず, AWSにログインした上で, 請求&コスト管理ダッシュボードへアクセスします.

f:id:papix:20150806005315p:plain

左側メニューにある, 「設定」をクリックすると, 次のような画面に遷移します.

f:id:papix:20150806005321p:plain

2つ目のチェックボックス, 「請求アラートを受け取る」のチェックボックスを入れ, 「設定の保存」ボタンを押します.

これで, この後指定する条件を満たした場合, 設定したメールアドレスに請求アラートが届くようになります.

続いて, 具体的なアラートの条件を設定していきます. 「設定アラートを受け取る」のチェックボックスの説明文の末尾にある, 「請求アラートを管理する」というボタンを押します.

f:id:papix:20150806005327p:plain

すると, アラームの作成や管理が出来る画面に遷移しますので, 早速アラームを作成していきましょう. 画面中部, 「アラームの要約」の辺りにある, 「アラームの作成」ボタンをクリックします.

f:id:papix:20150806005338p:plain

今回は, AWSの全サービスの利用料を監視したいので, 「請求メトリックス」の「概算合計請求額」をクリックします.

f:id:papix:20150806005344p:plain

「Currency」が「USD」, 「メトリックス名」が「EstimatedCharged (EstimatedCharges)」が選択できるのでこれをクリックして選択し, 最後に「時間範囲」を指定します.

今回は, とりあえずAWSが提供する何かしらのサービスを利用したことによって課金が生じているかどうかを把握したいので, 「過去6時間あたりの利用料が0ドルより大きい」というアラートを作ろうと思うので, 「時間範囲」は「相対値」で「開始」を「6時間前」, 「終了」を「0時間前」に設定します(「ズーム」の「6時間」というリンクを踏むと同等の設定を行ってくれるようです).

f:id:papix:20150806005352p:plain

後は, アラームが発生する条件を指定するだけです. 前述の通り, 「過去6時間あたりの利用料が0ドルより大きい」時にアラートを流したいので, 「EstimatedCharges」に対する条件は「> USD $0」を指定します.

また, アラームの状態に応じてアクションを指定することが出来ます. 今回の場合, 「状態: 警告」, つまり6時間あたりの利用料が0ドルを越えた時と, 「状態: OK」, つまり警告状態から回復し, 6時間あたりの利用料が0ドルに戻った時に通知を出すようにしました.

通知の送信先は最初は設定されていないので作成する必要がありますが, 一度作ってしまえば使い回すことが可能です.

設定が終われば, 「アラームの作成」ボタンを押せば設定は完了です.

まとめ

Amazon CloudWatchを利用して, AWSの利用料を監視する方法についてまとめました. これでAWSの利用料に怯えることなく(?), AWSを試すことが出来ますね!