1. はじめに
AWS上でプロジェクトごとの料金を把握できていますか。
AWSアカウント上に複数のプロジェクトが稼働していて、特定のプロジェクトでどのくらい料金がかかっているか確認する方法を書いていきます。
プロジェクトごとに料金を把握するのに必要な要素は、 Billing and Cost Management
の コスト配分タグ
です。
コスト配分タグについて学んでいきましょう。
2. コスト配分タグとは?
コスト配分タグとは、AWSリソースにタグ付けを行い、コストをタグ単位で分析、可視化できる仕組みのことを言います。
2.1 コスト配分タグの概要
タグは、多くのAWSリソースにKey, Valueの形式で付与可能です。
リソースタイプ | キー | バリュー |
---|---|---|
Lambda | Project | cloud-steps |
S3 | Project | cloud-steps |
このようにLambda, S3にProjectキーを付与することができます。 Projectごとにタグを設定するとcloud-stepsで利用しているリソースを抽出することができます。
2.1 「ユーザー定義タグ」と「AWS生成タグ」の違い
ユーザー定義タグとAWS生成タグの違いについて説明します。
ユーザー定義タグとは、その名の通りユーザーがAWSリソースに対して定義できるタグのことです。
CloudFormationテンプレート例
VPC:
Type: AWS::EC2::VPC
Properties:
CidrBlock: 192.168.0.0/20
EnableDnsSupport: true
EnableDnsHostnames: true
Tags:
- Key: Name
- Key: Project
一方で、AWS生成タグとは、AWSが自動的にAWSリソースに付与するタグのことをいいます。
AWSタグ例
aws:cloudformation:stack-id
aws:createdBy
aws:cloudformation:stack-name
3. コスト配分タグの使い方ステップ
3.1. タグの付与
タグをリソースに付与します。
タグの付与単位は各現場のタグの付与方針によります。
ここでは、プロジェクト単位でタグを付与します。
タグの設定意図は、プロジェクト単位のコストを可視化すとためです。
VPC:
Type: AWS::EC2::VPC
Properties:
CidrBlock: 192.168.0.0/20
EnableDnsSupport: true
EnableDnsHostnames: true
Tags:
- Key: Project
Value: cloud-steps
3.2. コスト配分タグ(ユーザー定義タグ)の有効化
- AWSマネージメントコンソールの検索フォームから
Billing and Cost Management
- 左メニューのコスト組織>コスト配分タグをクリックする
- コスト配分タグ画面が表示されたらユーザー定義のコスト配分タグタブを選択
- コスト配分タグとして有効化したいタグキーにチェックを入れる。※ここでは、cloud-stepsを選択
- 有効化ボタンをクリック
3.3. コスト配分タグ(AWS生成コスト配分タグ)の有効化(任意)
- AWSマネージメントコンソールの検索フォームから
Billing and Cost Management
- 左メニューのコスト組織>コスト配分タグをクリックする
- コスト配分タグ画面が表示されたらAWS生成コスト配分タブを選択
- コスト配分タグとして有効化したいタグキーにチェックを入れる。※ここでは、aws:createdByを選択する
- 有効化ボタンをクリック
3.4. コストエクスプローラーの利用
- AWSマネージメントコンソールの検索フォームから
Billing and Cost Management
- 左メニューのコストと使用状況の分析>Cost Explolerを選択する
- 右メニューのレポートパラメータのフィルター機能でユーザータグごとのコストを抽出する
- グループ化の条件>ディメンション>Tag>Project
- フィルター>タグ>Project>cloud-stepsをクリックする。
5. 躓いたポイント
コスト配分タグは有効化直後反映されないことがあります。
ユーザー定義のタグを作成してリソースに適用した後、アクティブ化のためにタグキーがコスト配分タグページに表示されるまでに最大で 24 時間かかる場合があります。タグキーがアクティブ化されるまでに最大 24 時間かかることがあります。
6. まとめ
- AWSでプロジェクトやチームごとのコストを正確に把握・管理するには、コスト配分タグの活用が不可欠です。
- コスト配分タグとは、リソースに付与したタグを元にコストを可視化・分析できる仕組み。
- タグには、ユーザーが自由に付与できる「ユーザー定義タグ」と、AWSが自動で付与する「AWS生成タグ」がある。
- コスト配分に利用するには、タグを有効化する作業が必須。これは Billing and Cost Management 画面で明示的に設定する。
- 有効化されたタグは、Cost Explorer や CUR(Cost and Usage Report) で分析・レポートに利用可能。
特にユーザー定義タグは、プロジェクト名・環境・担当者などの軸で柔軟に管理でき、現場での費用対効果分析や、請求振り分けの根拠としても非常に役立ちます。 最初の設定と運用ルールをしっかり決めることで、AWSコストの透明性が大きく向上し、ムダな支出を抑え、予算の適切な割り当てが可能になります。