回答:
AWSは、Amazon CloudWatchを介して請求アラートを使用して推定請求額を監視する機能が一般に利用可能になったことを発表しました(2011年の終わりからAWSプレミアムアカウントで既に利用可能になっているようです。DanielLopezのAmazon AWSを設定する方法はありますか?請求限度額?):
使用する各AWSサービスの月額料金の合計を定期的に見積もります。アカウントのモニタリングを有効にすると、推定値をCloudWatchメトリックスとして保存し始め、通常の14日間は使用可能なままになります。[...]
入門ブログ投稿で概説されているように、請求アラートを使用して、AWS請求が予想よりも高くなる時期を知らせることができます。この機能の詳細については、Amazon CloudWatchを使用した推定請求額の監視を参照してください。
これはすでに多くの基本的なニーズに非常に役立ちますが、CloudWatch APIを使用して保存されたメトリックを自分で取得することで(GetMetricStatisticsを参照)、実際にこのデータに基づいて任意のワークフローとビジネスロジックを駆動でき、もちろん日次レポートを生成できます同様に前日に費やした金額についても。
後者については、このオファリングの範囲も同様に強調されています。
これらは予測であり、予測ではないことに注意することが重要です。この見積もりは、現在の請求サイクル内での現在までのAWS使用量の概算であり、リソースを消費し続けると増加します。[...] AWSの使用パターンの傾向や潜在的な変化は考慮されません。[強調鉱山]
つまり、レポートされたメトリックの粒度はまだ分析されていないため(4〜8時間ごとにデータポイントが表示されますが、実際に予想されるように毎回値が更新されるとは限りません)。統計後処理。
残念なことに、特にアカウントを介して手動で目的のデータを検査できることを考えると、これは考えているほど簡単ではありません。予想される2つの監視オプションがあります。
AWSも、私が知っている他のIaaS / PaaS / SaaSベンダーも、現在、会計データへのAPIアクセスを提供していない(おそらく、潜在的な財務/法的影響のため)最近では)せいぜい面倒です。最初からデータを取得するには、Webスクレイピングに頼る必要があります。
幸いなことに、Cloudability [無料利用枠の廃止後に削除されたリンク]からの新しいオファリングは、専門家やベンダーにとらわれない方法でこれを行うために最近ステージに入りました。ただし、1か月の支出に関する日次(または頻度の低い)レポートのみを受け取ります。つまり、まだ1日の支出に分類されていません。毎日の増加を追加することはもちろん些細なことなので、このような情報が今後さらに利用可能になることを期待し、期待しています。
価格へのアプローチ[無料利用枠の廃止後に削除されたリンク]も同様に更新され(明らかではありますが)、単純に独自のクラウド支出に結び付けられているため、それぞれの節約の可能性に気付いたらすぐに費用を支払う必要があります費用が$ 2.5k / mo未満の場合はすべて)。
20121016の更新:残念ながら、Cloudabilityは価格モデルをより一般的なものに変更しましたが、これには無料枠が含まれており(一般的にはリーズナブルな価格です)、高度な機能へのアクセスが削除されています。予算が小さい場合は、他の場所でまだ乗数を増やしたり、成長してからアップグレードしたりできます。
更新20150115:残念ながら、Cloudabilityは多くのフリーミアムSaaSベンダーの道を選択し、最終的に無料利用枠を完全に廃止しました。2月1日から、現在使用しているCloudability Freeエディションは提供されなくなります。
メインのAWS認証情報を要求するという以前の注意事項(以下参照のために保持)はもう適用されません-AWSが最近導入した新しいIAM機能:アカウントアクティビティおよび使用状況レポートページへのアクセス:
この新しい機能を使用すると、ビジネスおよび技術的な目的で、個別のIAMユーザーを作成できます。AWSウェブサイトのアカウントアクティビティおよび/または使用状況レポートページへのアクセスをビジネスユーザーに許可して、S3のEC2インスタンスやファイルなどの他のAWSリソースへのアクセスを許可せずに、請求および使用状況データにアクセスできるようにすることができます
Cloudabilityはこれも統合しているので、メインのAWSクレデンシャルを渡す必要がなく、クラウドの支出に関する洞察を得るために統合請求書を作成するために余分な労力を費やす必要がありません。AmazonIAMの設定方法(IDアカウント管理)詳細。
ただし、前もって注意する必要がある注意事項が1つあります。
データにアクセスするには、メインのAWS認証情報を渡す必要があります。そうしないと、明らかにアカウントをスクレイプできないためです。AWSのために特にあなたはまだ容易にすることにより、これを避けることができ、連結課金あなたは、複数のアマゾンAWSの支払いを統合は、単一の支払いを口座指定して[...]アカウント順番にあなたのコンピューティングリソースやデータにアクセスできません。
awscliツールを使用して、今月の合計を取得できます。
$ aws --region us-east-1 cloudwatch get-metric-statistics \
--namespace "AWS/Billing" \
--metric-name "EstimatedCharges" \
--dimension "Name=Currency,Value=USD" \
--start-time $(date +"%Y-%m-%dT%H:%M:00" --date="-12 hours") \
--end-time $(date +"%Y-%m-%dT%H:%M:00") \
--statistic Maximum \
--period 60 \
--output text | sort -r -k 3 | head -n 1 | cut -f 2
2494.47
2つの異なる日の合計を差し引いて、毎日のデルタを取得できます。または、時間枠(end-time
- start-time
)を24hに増やし、最新のデータポイントから最も古いデータポイントを差し引くことにより、見積もりを一度に取得できます。
ノート:
アマゾンは、ここにあなたの現在の月から現在までの料金を提供します:
http://aws-portal.amazon.com/gp/aws/developer/account/index.html?ie=UTF8&action=activity-summary
ページの上部に向かって、データがどれだけ最新かを示します。数時間遅れる傾向があります。
これは、現時点でAmazonまたは他のユーザーから取得できる最も正確で最新のレコードです。
たぶん、GithubのこのPythonモジュールは、始めるのに役立ちます: pyec2costs(予約済みまたはオンデマンドインスタンス用)。
Netflixによってオープンソース化されたIceというかなり新しいツールがあります:https : //github.com/Netflix/ice。S3バケットに生成されたAWSレポートで取得した請求詳細を視覚化できます。
Xervmonをご覧ください。それらは、履歴に関する分析に加えて、日々の支出と使用状況を提供します。彼らは、今後3か月以内にAmazon AWSとの詳細な統合を予定しているサービスプロバイダーです。
私の現在のアカウントのスクリーンショットの一部は次のとおりです。 http://cloudmaya.net/~develop/demo/Slide1.jpg http://cloudmaya.net/~develop/demo/Slide2.jpg
多くの専門家が構築し、それは非常にきちんとしています。
詳細なAWS請求CSVファイルを解析および分析する方法を示す簡単なスクリプトを次に示します。
あなた自身の分析を構築できるように、十分に簡単でなければなりません!
CostExplorer AWS CLIコマンドの使用アカウントのコストと使用量のメトリックを取得することが可能です
例:月の初めから現在までのコストを取得する必要がある場合は、以下のコマンドを使用できます。
aws ce get-cost-and-usage --time-period Start=$(date -u -d "$TODAY" '+%Y-%m-01'),End=$(date -u +"%Y-%m-%d" --date="+1 day") --granularity MONTHLY --metrics UnblendedCost --output text | sort -r -k 3 | head -n 1 | cut -f 2
出力:615.6129260967
毎日のコストを取得する必要がある場合は、以下に示すように、GRANULARITYをDAILYとして使用します。
aws ce get-cost-and-usage --time-period Start=$(date -u -d "$TODAY" '+%Y-%m-01'),End=$(date -u +"%Y-%m-%d" --date="+1 day") --granularity DAILY --metrics UnblendedCost
企業はこのために独自の社内ツールを構築しているのを見てきました-基本的に、AWS請求ページを破棄し、独自のダッシュボードで現在のコストを表示し、1つの例では、経過した月の日数で割ります、およびその倍数で、推定総月額コストを取得します。
AWSはまだ課金APIを提供していません(将来的には提供されると確信しています)が、役立つ外部サービスがいくつかあります。1つはCloudVertical(開示:私はここで働いています)で、毎日、毎月、および毎時のコストをサービスごとに、また複数のアカウントごとに取得できます。
ただし、AWSのようなサービスの本当の聖杯は、1日の支出を追跡するだけでなく、効率に関する洞察を示し(コスト+使用量=効率)、節約の機会(つまり、予約またはスポットインスタンスを使用する時間)を強調することでもあります
AWS Billing Usageを表示するツールがあり、さまざまなAWSリソース全体で30分まで使用状況をスライスおよびダイスできます。私は/programming//a/37585673/1526342でより徹底的な答えを投稿しました