naoki86star

インターネットの片隅でなにかしら書いてみる

CostExploler API in aws sdk

 まず今回の自分の結論:AWS CostExplorer API使うと便利だけど、個人ユースならコストチェックはコンソール画面でいいや。なぜかというとAPIコールで料金がかかる。

 特にこれをやって今のところ実入のないステータスの元で、smsとかec2とか少しapi経由で試していて、awsでかかる料金は都度awsコンソール画面でチェックしていた。で、Cost ExplorerにもAPIがあるのを見つけたので、見たい値のサマリーだけ取る分にはこれ使うほうが便利かもと思いやってみた。

AWSCostExplorerClient (AWS SDK for Java - 1.11.774)

 getCostAndUsageメソッドで結果が戻ってくる。試したのは、メトリクスで"BlendedCost"というのを指定して日単位で集計した値を取るもの。結果がGetCostAndUsageResultってクラスのオブジェクトで戻ってくるのでこの中身をほどいて結果が得られる。
 次の日、このAPIで日ごと一覧を取ってみたら、これ書いていた日に料金発生していた。billingコンソールで見直したら「CostExplorer」って項目があった。えー、料金の記載は目につかなかったし、かかるものではないと思っていた。
 ということで、awsのドキュメントページ外探してみたら、ここAWS コスト管理の料金に書いてあった。1リクエストで1centかかるとあった。

 テストで40リクエストくらい投げちゃったのかな。実装ガイドラインに、一度参照した結果はキャッシュしたほうがいいぜ、みたいにどこか書いてあったので、同じ結果を参照するのは無駄だっていうこと。まぁ意味ない参照は負荷のもとになるので、料金かかること自体はおかしいことではない。
 コンソールで見る分には料金かかってないと思う。なんらかの状況でコンソール見るよりAPI使って参照するとものすごくいいことある、ことであればAPI使うのがいいのかと感じた。