多くの場合、課金全体の8割前後を占めることになるEC2の利用料金を設定した任意のユーザタグにてグルーピングすることができる。利用部門やサブシステム単位で課金情報を管理できるので、上手く活用したい。下記手順はEC2に任意のユーザタグが設定済みであることが前提となる。
S3バケット作成
まずは、任意の名称でS3バケットを用意する。ここでは一旦バケットポリシーの設定は不要。
S3バケットポリシー設定
Billing→Preferences設定画面から「Receive Billing Reports」欄のS3バケットにバケット名(ここでは何を入力しても問題無い)を入力すると、「sample policy」が表示できるようになるので、それをクリック。
「386209384616」が、Billingを書き込むのにAWSが利用しているアカウントなのだということが推測できる。CloudTrailで利用されているアカウントはRegion単位で用意されているようだけど、Billingはグローバルサービスなのでおそらく共通なのではないかと思う。
表示されたsample policyをコピーして、前項で作成したS3バケットポリシーに適用する。
Reportタグ設定
Billing→Preferencesに戻って、バケットポリシーを設定したS3バケット名を入力し、Verifyに成功すると、詳細Billing Reportを有効にできるようになる。ここでは、まず出力対象としたいRepotタグを設定する為、「Mange report tags」をクリックする。
レポートに含めたいタグにチェックを入れて「Save」。
Billing Reportの有効化
これまでの手順でタグ付きBilling Reportの出力準備が整ったので、有効化すれば順次S3にログが出力されるようになる。以前の記事にも書いたが、タグ付きのレポートが出力したい場合には、下記の2つ(月合計と時間ごとの詳細)にチェックを入れて「Save Preferences」をクリックすれば良い。
あとは、S3にログが吐き出されるもを待てば良い。ちなみに、出力タイミングは不明だが、月合計のレポートも時間単位の詳細レポートも設定すると定期的に追記型(上書きが正確か)でファイルに出力されている模様。Billing Reportを有効にする以前の情報も含まれて出力されるようだが、タグは後からEC2に設定してもタグを設定した以降のレポートにしか含まれない。
Cost Explorerからも確認
Cost Explorer画面からも設定したタグによるグルーピング表示が可能となる。
タグによるグルーピングが可能なリソース
タグ設定によるグルーピングが可能なリソースの内、確認したものは以下の通り。ELBやS3バケット、RDSもタグによる課金管理ができそう。
タグ設定対象 | 課金対象 |
EC2 | EC2インスタンス利用に対する課金 |
EC2 | EC2利用に伴うデータ転送への課金 |
EBS | EBSストレージ予約容量に対する課金 |
ELB | ELB利用に対する課金 |
S3 | S3バケット使用容量に対する課金 |
S3 | S3バケットへのリクエストに対する課金 |
RDS | RDSインスタンスに対する課金 |
RDS | RDSストレージ予約容量に対する課金 |
ちなみに、SnapshotやAMIにもタグ設定をしてみたが、タグ管理はできない模様。通常のS3バケットであれば、タグ管理は可能なのですが、これらは通常バケットとは管理が異なるのでタグ管理は難しそう。データ転送についてもこれで全てを網羅できるのかはやや疑問。ひとまず、EC2、S3、RDSの課金管理ができれば十分かなと。