この記事は約2分で読めます。
この記事は1年以上前に書かれたものです。
内容が古い可能性がありますのでご注意ください。
こんにちは!AWSチームの柳瀬です!
本日、いろいろな方が待ち望んだCloudWatchを使用したEstimated Chargeがリリースされました。
月額使用料金をCloudWatchで監視が出来る機能ですが、とても素晴らしいのでご紹介させて頂きます。
具体的に以下のような事を可視化する機能となっております。
- アカウントごとのAWS全体の月額使用料金の取得
- 各アカウントで使用しているAWSサービスごとの月額使用料金の取得
- Consolidated Billingで紐づいたアカウント全てのAWS月額資料料金の取得
- Consolidated Billingで紐づいたアカウント全てで使用した、各AWSサービスの月額使用料金の取得
念のため注意点も記載しておきます。
- Consolidated Billingを使用している方は親アカウントでのみ使用する事が可能です
- CloudWatchのus-east-1のみで値を取得出来ますが、取得した値は全てのリージョンを合計した値です
アカウント内に存在するEC2インスタンス個別での課金情報は現時点で取得出来ないようですが、課金情報を可視化出来るのはとても大きなインパクトがあります。
こちらの機能を使うには、Account ActivityページでEnable Nowをクリックすると有効化出来ます。
セキュリティに関する質問が設定されていない方は以下のようにアナウンスされますので、設定して下さい。
実際にCloudWatchからデータを取得するには、以下のアナウンスにあるように15分程度お待ち下さい。
15分後、Management Consoleから課金情報を参照する事が出来るようになります。
CloudWatchのAlarmを作成する事も可能です。
SNSを利用してメール通知も出来ます。
もちろん、CloudWatchのコマンドラインツールからでもデータを取得する事が出来ます。
$ mon-list-metrics EstimatedCharges AWS/Billing {ServiceName=AmazonCloudFront,Currency=USD} EstimatedCharges AWS/Billing {ServiceName=AWSDataTransfer,LinkedAccount=************,Currency=USD} EstimatedCharges AWS/Billing {ServiceName=AmazonRoute53,Currency=USD} EstimatedCharges AWS/Billing {ServiceName=AmazonVPC,LinkedAccount=************,Currency=USD} (中略) EstimatedCharges AWS/Billing {ServiceName=AmazonRoute53,LinkedAccount=************,Currency=USD} EstimatedCharges AWS/Billing {ServiceName=AmazonSNS,Currency=USD} EstimatedCharges AWS/Billing {ServiceName=AmazonEC2,Currency=USD} EstimatedCharges AWS/Billing {Currency=USD} EstimatedCharges AWS/Billing {LinkedAccount=************,Currency=USD} $ mon-get-stats EstimatedCharges --namespace "AWS/Billing" --dimensions "LinkedAccount=************,Currency=USD" --start-time 2012-05-09T00:00:00.000Z --end-time 2012-05-11T00:00:00.000Z --period 3600 --statistics "Average" 2012-05-09 00:00:00 569.6 None 2012-05-09 03:00:00 593.59 None 2012-05-09 07:00:00 615.78 None 2012-05-09 11:00:00 615.78 None 2012-05-09 15:00:00 638.1 None 2012-05-09 19:00:00 665.17 None 2012-05-09 23:00:00 665.17 None 2012-05-10 03:00:00 704.47 None 2012-05-10 07:00:00 739.89 None 2012-05-10 11:00:00 739.89 None 2012-05-10 15:00:00 767.03 None 2012-05-10 19:00:00 792.34 None 2012-05-10 23:00:00 792.34 None
AWS SDKでもCloudWatchに対応しているものであれば、課金情報を取得出来ると思います。
最後に、取得した課金データからグラフを生成してメール(SES)するスクリプトを作りましたので公開します。
※AWS SDK for RubyがCloudWatchに対応していないので、right_awsを使用しています。
※SESの設定はこちらを参考に事前に完了させておいて下さい。
※動作確認をしたRubyのバージョンは1.9.2と1.8.7です。 スクリプトを実行すると以下のようなグラフが添付されたメールが届きます。
以上で動作確認完了とさせて頂きます。
従量課金の料金体系はAWSの特徴だと思いますが、それが見える化されたのは本当に嬉しいですね:-)