はじめに
AWS の利用料金は AWS サービスごとに、使用した量に応じて課金されます。
しかし、これだけではコスト管理が十分に実施できないケースがあります。
例えば、同一 AWS アカウント上で別々のプロジェクトが進められているケースや、同一 AWS アカウント上に本番用サーバーと開発用サーバー両方が存在するケースなどです。
使用する AWS サービスが同じであれば、利用料金はまとまって算出されてしまい、それぞれどのぐらい課金されているかわからないということになります。
そのような場合に、「コスト配分タグ」の機能を利用します。
「コスト配分タグ」を活用することでプロジェクトごと、リソースごとの料金を確認することができます。
AWS における "タグ" とは
「コスト配分タグ」を活用していく上でまず AWS における "タグ" の概念を理解しておく必要があります。
タグとは、リソースに対して設定可能なキーと値のペアです。
タグはリソース作成時や作成後に設定できます。
タグキーはリソースごとにそれぞれ一意である必要があります。
また各タグキーに設定できる値は 1 つのみです。
例えば、プロジェクト A で利用している EC2 に以下のようにタグを付与できます。
タグキー:"Project"
タグ値:"A"
リソースにタグを付与する目的は様々です。
タグごとにフィルターをかけてデータを一つにまとめたり、タグを基にアクセス権限を設定できたりします。
コスト配分タグ とは
上記のタグ付け機能をコスト管理にも応用させたのが「コスト配分タグ」です。
文字通り、コストをタグごとに配分するので、
どのタグのリソースにどれぐらい料金がかかっているかを算出することができます。
例えば、同一 AWS アカウント上で別々のプロジェクトが進められていて、どちらのプロジェクトも EC2 を利用しているケースを想定します。
コスト配分タグを活用しない場合、AWS はサービスごとに料金が算出されるため、どちらのプロジェクトがどれぐらい EC2 を利用したかがわかりません。
そこで EC2 に以下のようにタグを設定します。
キー | 値 | 備考 |
---|---|---|
Project | A | プロジェクト A で利用している EC2 に設定 |
Project | B | プロジェクト B で利用している EC2 に設定 |
タグ付けすることで、コストをタグで分割して表示することができます。
これらは、Cost Explorer や、Cost Usage Report(CUR)、Detailed Billing Report(DBR)にて確認可能です。
例)Cost Explorer にてフィルタリング
タグキー:Cost Allovcation Tag
タグ値:A
以前は、コスト配分タグ有効化前の料金については算出できませんでしたが、
最大 12 か月間、コスト配分タグのバックフィルをリクエストできます。
バックフィルをリクエストすると、選択した期間遡って料金を算出可能です。
-AWS コスト配分タグが遡及適用のサポートを開始
https://aws.amazon.com/jp/about-aws/whats-new/2024/03/aws-cost-allocation-tags-retroactive-application/
コスト配分タグを有効化する手順
リソースにタグを設定するのみでは、コスト配分タグとして利用することはできません。
タグ設定後、そのタグをコスト配分タグとして有効化する必要があります。
有効化は、請求を取りまとめている管理アカウントから実施します。
Billing の画面にて、すでにリソースに設定しているタグを選択して有効化を押下し、ステータスがアクティブになると完了です。
※このキャプチャでは「Cost Allocation Tag」タグキーが既に有効になっています。
リソースへのタグ設定 → コスト配分タグ有効化 の順序です
どのリソースにも設定されていないタグキーは上画面に表示されないためです
有効化後、アクティブになるまで最大 24 時間ほどかかる場合があります
おわりに
ここまでコスト配分タグについてまとめてきました。
ご利用中の環境に応じてコスト配分タグを活用し、コストを適切に管理しながら AWS を運用していきましょう。