AWSビリングのネタ、第2回。初心のビリングレポート分解編

8688

モビンギの幸道です。前回に引き続きAWSビリンクのネタ第2回です。

前回の操作で各アカウントの請求を1つにまとめた状態になり一括請求による管理に変更され、請求データもCSVに出力できるようになりました。

今回は、関連するビリンクレポートとそのCSVについて整理していきたいと思います。

早速の妄想シーン

上司  ー> 部下 (サーバー管理兼任)

上司)以前頼んでおいたサーバー利用データを取得するための整備はどうなった?

部下)各アカウントの請求を1つにまとめてCSVデータを取得できる状態までは終わってますよ。

上司)そうかー、そのデータいつから見れるようになる?

部下)日次で更新されるのでサービスを利用してる状態であれば、データ自体は生成されてると思います。おおよその利用状況であればコストエクスプローラで確認はできますが、操作を少し覚えてもらう必要がありますね。

上司)ふーーん。。いい感じでエクセルとかで見れるようにならないの?

上司)ちなみに、どんな具合のCSVファイルが出てくるの?

部下)今回設定した方法の場合、1つのファイルで全ての連結アカウントのサービス利用詳細データが取得できるようになっています。

個々の利用詳細データの他に消費税や個別に購入したサービスなどがそれぞれが1レコードとして記録されてきます。

ただ請求が確定するタイミングとは連動してないため、現状、請求データから判断することはできないですね。

必要な設定をしておくことで請求書PDFがメールで受け取れるので、これが届いた時点で確定したものとしてチェックすることになりますね。

 

上司)これってタグは出力できないの?識別できるような項目がないみたいだけど?

部下)ほんとですね、ちょっと確認しておきます。

部下)あとエクセルの件は後日報告します。ただ、用意するまで少々時間はかかりますね。取り急ぎ確認したいのであればカスタムの請求レポート用意するので、そちらで見ておいてください。

上司)それはわかったけど、各アカウントの方でも見れる様にしておいてくれよ。各自で把握してもらう必要もあるからさ。

部下)はぁ、わかりましたよ。

・・・・

・・・1ヶ月後

部下)一通り設定はできましたよ。各アカウントでコストエクスプローラから参照できるので、簡易的な確認にはそちらを使ってください。

上司)コストエクスプローラね。それはウィンドウズなんか?

部下)いえ、違いますよ。AWSのコンソールから使う機能です。いまさら、そんなこと聞いてないでください。

上司)それで、請求データはどうなったんだ?

部下)CSVは取得できているので、適当なタイミングで事務の方に集計してもらうことになりますね。課長は集計されたファイルを受け取ることになります。

上司)おー、そうかー。ひとまず、わかった!

 

とりあえず請求ダッシュボードを開放

1.連結アカウント側で請求レポートの参照

一括請求の構成に変更すると連結アカウント側では参照できない状態になります。が、そもそもルートアカウント以外は見れない状態がデフォルトなのでIAMで運用している場合は設定を変更します。

https://docs.aws.amazon.com/ja_jp/awsaccountbilling/latest/aboutv2/grantaccess.html

組織に統合している場合はこちらも関係するので一通り熟読。

https://docs.aws.amazon.com/ja_jp/awsaccountbilling/latest/aboutv2/control-

access-billing.html

 

 

前回の設定では一括請求のみ有効にするよう構成していました。連結アカウントで請求レポートを参照できるようにするには、組織を構成した上でポリシーを作り必要な権限を割当てる必要があります。

連結アカウント側で請求ダッシュボードを参照するとこんな状態ですね。

EC2などの使用状況レポートはコストエクスプローラが起動するため、連結アカウントでも見ることはできます。ただ、その下にある「レポートの使用状況ダウンロード」は権限がないと表示エラーになってしまいます。

 

まず下記リンクを参考にマスターアカウント側で組織の設定を変更します。

https://docs.aws.amazon.com/ja_jp/awsaccountbilling/latest/aboutv2/billing-permissions-ref.html

 

最初にポリシーの利用を有効にします。右パネルにある「サービスコントロールポリシー」の有効化をクリックします。

次に組織とポリシーを設定していきます。

必要な権限を割当てるためポリシーを作成します。

請求コンソールの参照権限を追加します。この時、ステートメントビルダーで必要なアクセス許可の指定を追加します。参照権限を付与する場合、「ViewBilling,ViewUsage」を追加します。

レポートの使用状況ダウンロードを使える様にする場合、ViewUsageを追加します。

 

ルートアカウントと区別するためポリシーを割当てる人を作成した組織に分類します。

選択して移動をクリック

割り当る必要があるポリシーの「アタッチ」をクリックします。アタッチ後は、リンクの表示が以下のようになります。

請求ダッシュボードからレポートコンソールを開き、「レポートを有効化」をクリックします。

有効後、使用状況レポートのデータ取得中になります。

 

連結アカウント側で再ログインしてもらい請求ダッシュボードからレポートのを確認します。使用状況レポートのダウンロードが表示されれば設定完了です。

 

本題のCSV分解

前回請求ダッシュボードのレポートからレポート設定を作っていましたが、最終的に日別に変更しています。

S3バケットを確認すると以下の具合で請求データが保存されています。「reporepo」がレポート設定ごとに指定できる分類用のプレフィックスになっています。

月単位の期間でフォルダが生成されていて、その配下に集約された各ファイルが確認できます。

AWSがレポート生成を行う都度、フォルダが生成されてzipファイルが保管されていきます。

日付範囲のフォルダにはマニフェストファイルが生成され、このファイルに直近で最後に生成された請求データのパスが出力されます。

これを元に最終更新のファイルを取得します。

https://docs.aws.amazon.com/ja_jp/awsaccountbilling/latest/aboutv2/billing-reports-costusage-files.html

こんな具合で最終出力のフォルダにCSVを集約したzipファイルが出来上がります。

このCSVを取得してエクセル等で開くと各サービスの請求レコードを表すデータを確認することができます。

一括請求の設定にしている場合、連結アカウントの請求データも含んだ状態になります。

残念ながらエクセルが使える環境がないのでNumberでフィルタかけながら確認することに。

とりあえず、lineItem/ProductCodeとlineItem/Operationで判別していきます。

AmazonEC2の場合、RunInstanceがEC2の課金対象になる具合ですね。データ転送もEC2に含まれるようになっているようで、通信量を含めた集計ができそうですね。

lineItem/OperationとlineItem/ResourceIdでピポットしていくとサーバー毎の集計月の利用料が集計できることになります。

単にサーバー毎の利用料を集計したい場合であれば、ResourceIdがあるためタグを用意しなくても識別できるようになっています。部門別や他のサービスと合算するなど固有の分類を加えたい場合には、各サービスでタグを設定した上で請求データにも出力されるように設定する必要があります。

コスト自体はUsageAmountとBlendedCostの数字を見ていくことになります。下の例の場合、無料枠によるサーバになるため全て0で出力されています。

明細項目の詳細は、公式のリンクにある内容も参考にしてください。

 

コストと使用状況レポートの公式

https://docs.aws.amazon.com/ja_jp/awsaccountbilling/latest/aboutv2/billing-reports-costusage.html

CSVの項目詳細

IDや期間のレコードヘッダ部分

https://docs.aws.amazon.com/ja_jp/awsaccountbilling/latest/aboutv2/enhanced-identity-columns.html

請求種類等の項目

https://docs.aws.amazon.com/ja_jp/awsaccountbilling/latest/aboutv2/enhanced-billing-columns.html

各利用料の明細部分

https://docs.aws.amazon.com/ja_jp/awsaccountbilling/latest/aboutv2/enhanced-lineitem-columns.html

 

タグを出力するには

先の請求データにはタグの情報が出ていません。一括請求の構成にした場合、コスト配分タグの管理を行うことで請求データにタグが出力されます。

 

上から順に有効化していきます。各アカウントでタグが追加されると一覧に出てくるようになるので、必要に応じて有効にします。

タグをアクティブにした後は、約1日後に請求データに出力されるようになります。

残念ながら、このアクティブ化はマスターアカウント側のコンソール操作でしか行えないので都度対応が必要になります。

公式ページ

https://docs.aws.amazon.com/ja_jp/awsaccountbilling/latest/aboutv2/enhanced-resource-columns.html

 

 

基本の請求データ出力と分解はここまで。残念ながら1ヶ月ねかせた請求データは用意できなかったので、また別の機会にアップデートしたいと思います。

ではでは、また来週〜。

 

2回目

5 請求ファイルが出来上がるまで1ヶ月ほどねかしておく

6 いい感じの集計ができるエクセルシートを手に入れる

6.5 請求ファイルにタグが出てないのでタグの出力を設定する

 

次回以降の連載ネタはこんな予定。

7 不明な請求を追う

8 請求データと請求PDFのつじつまが合ったか確かめる

9 出せるようになったと上司に通報する

10 RI買いたいってさ

11 RIの闇にせまる

12 なんか良いツールないか探す

MobingiWave
AWS コスト計算・分析ツール MobingiWave