【アップデート】 AWS Budgets が追加のコストメトリクスとフィルタリング機能をサポートしました
こんにちは!クラウド事業本部のおつまみです。
みなさん、AWS Budgets を使ってコスト管理をされていますか?
本日は、AWS Budgets に追加された新機能「コストメトリクスとフィルタリング機能の強化」についてご紹介します。
3行まとめ
- AWS Budgets に純非ブレンドコストや純償却コストなどの新しいコストメトリクスが追加
- 特定のディメンション値(サービス、アカウント、インスタンスタイプなど)を除外する機能が追加
- 追加料金なしで全リージョンで利用可能
新機能の詳細
追加された機能概要と主な特徴です。
機能 | 説明 |
---|---|
新しいコストメトリクス | 純非ブレンドコストや純償却コストなど、割引適用後の実際のコストをトラッキング可能 |
ディメンション除外機能 | 特定のサービス、アカウント、リージョンなどを除外したフィルタリングが可能 |
課金タイプのフィルタリング | 新しいコストメトリクスの追加により、SPやRIの前払い料金、定期料金、税金、クレジットなどを除外するかを細かく制御可能 |
拡張API機能 | Cost Explorerと一貫性のあるフィルター表現をサポート |
「新しいコストメトリクス」と「ディメンション除外機能」の使いどころに着目して、紹介します。
新しいコストメトリクスについて
今回追加された新しいコストメトリクスの純非ブレンドコストや純償却コストについて解説します。
純非ブレンドコストとは
純非ブレンドコストは、すべての割引(ボリューム割引、クレジットなど)が適用された後の実際のコストです。
通常の非ブレンドコストは割引前の標準料金に基づく金額ですが、純非ブレンドコストは割引後の実際に支払う金額を示します。
つまり、
純非ブレンドコスト = 非ブレンドコスト(通常の毎月の利用料金) - すべての割引(ボリューム割引、クレジットなど)
となります。
純償却コストとは
純償却コストは、通常の償却コストに対して、前払いコストを対象期間全体に分散させ、さらにすべての割引を適用した後のコストです。
通常の償却コストは前払いコストを使用期間に均等配分しますが、純償却コストはさらに割引も考慮したより実態に近い値となります。
つまり、
純償却コスト = 償却コスト(使用期間に均等配分されたコスト) - すべての割引(ボリューム割引、クレジットなど)
となります。
コストメトリクス別のユースケース
「純非ブレンドコストと純償却コストはどういう時に設定するの?」
という声が聞こえてきそうなので、ユースケースを紹介します。
コストメトリクス | 説明 | 適したユースケース | 推奨する組織・チーム |
---|---|---|---|
ブレンドコスト | RI/SPの特典を均等に配分したアカウント全体の平均コスト | ・組織全体のコスト平準化 ・アカウント間の公平なコスト配分 ・RI/SP特典の共有 |
・複数アカウントを持つ大規模組織 ・コミットメント特典を共有する組織 ・一貫した内部課金が必要なチーム |
非ブレンドコスト | 使用時に請求される実際のリソースコスト(割引前) | ・個々のアカウントの正確な追跡 ・リソースごとの実コスト把握 ・使用量ベースの分析 |
・独立したビジネスユニット ・使用量に基づく課金モデル ・個別アカウント管理者 |
純非ブレンドコスト | すべての割引とクレジットを適用した後の実際のコスト | ・実際のキャッシュフローに基づく予算管理 ・月ごとの実支出額の監視 ・財務報告での使用 ・最終的なコストの監視 |
・財務部門 ・キャッシュフロー重視の組織 ・厳格な予算管理が必要なチーム ・実際の支出を追跡するチーム |
償却コスト | 前払い費用と継続費用を期間全体にわたって均等に配分したコスト | ・月ごとの一貫した予算計画 ・前払いコストの影響の平準化 ・安定したコスト表示 |
・予算計画チーム ・長期的な財務計画を行う組織 ・月次の安定したレポートが必要なチーム |
純償却コスト | すべての割引とクレジットを適用した上で前払い費用を期間全体に分散させたコスト | ・長期的なコスト管理 ・RI/SPなどの前払いコストの影響を均等化 ・部門別コスト配分 ・長期的な予算計画 |
・IT管理部門 ・RI/SPを多用する組織 ・部門間コスト配分を行う管理者 ・長期予算計画チーム |
メトリクス選択のガイド
以下は、異なるシナリオに基づいたコストメトリクスの選択
-
組織構造に基づく選択
- 複数アカウントを持つ組織で、RI/SP特典を共有:ブレンドコスト
- 独立したビジネスユニットごとのコスト追跡:非ブレンドコスト
- 最終的な財務報告用:純非ブレンドコストまたは純償却コスト
-
財務報告のスタイルに基づく選択
- 実際の請求額ベースでの報告:純非ブレンドコスト
- 月次で安定したコスト配分が必要:償却コストまたは純償却コスト
- 前払いコストの影響を均等化:純償却コスト
-
Savings PlansやReserved Instancesの利用状況
- 大量のRI/SPを購入し、その影響を平準化したい:償却コストまたは純償却コスト
- RI/SPの使用率を監視したい:非ブレンドコストと純非ブレンドコストの比較
- RI/SP特典の公平な配分が必要:ブレンドコスト
-
予算管理の時間軸
- 短期的な実際のキャッシュフロー管理:純非ブレンドコスト
- 長期的な予測と計画:純償却コスト
- 月次の一貫した予算配分:償却コスト
-
コスト分析の目的
- リソース使用量の詳細分析:非ブレンドコスト
- 最終的な支出の把握:純非ブレンドコスト
- 長期的なコスト傾向分析:純償却コスト
これらのメトリクスを適切に選択することで、組織の財務管理とコスト最適化の目標に最も適した予算設定が可能になります。
ディメンション除外機能について
「ディメンション除外機能」は、特定のディメンション値(サービス、アカウント、リージョンなど)を予算計算から除外できるようする設定です。
これまでは除外機能がなかったため、包括的なコストでしか予算管理できていませんでした。
しかし、この機能により以下のようなシナリオで活用ができます。
除外機能の活用シナリオ
除外シナリオ | メリット | 適用例 |
---|---|---|
共有サービスの除外 | チームやプロジェクト固有のコストを正確に把握 | AWS Shield、AWS Support、共有ネットワークコストなどを除外し、アプリケーション固有のコストのみを追跡 |
開発環境の除外 | 本番環境のコストのみを監視 | 開発/テスト用アカウントやリソースを除外し、本番環境のコスト予算を管理 |
特定リージョンの除外 | 地域ごとのコンプライアンス要件に対応 | データ主権要件がない地域を除外し、特定地域のコスト追跡を実現 |
一時的リソースの除外 | 通常のビジネスコストに焦点を当てる | 一時的なプロジェクトやテスト用リソースを除外し、継続的なコストの傾向を把握 |
コミットメントコストの除外 | 変動コストの監視に集中 | RI/SPの前払いコストを除外し、変動コストのみを監視する予算を作成 |
共有サービスや開発環境の除外は実際の運用でも使用できそうですね。
除外フィルタリングの実装例
上記シナリオに倣って、実装例を紹介します。
例1: 共有インフラを除外したチーム予算
開発チームが自分たちのリソースのみのコストを監視する場合、共有インフラ(セキュリティ、モニタリング、ネットワークサービス)を除外します。
- 除外するディメンション: サービス
- 除外する値: AWS Shield, AWS WAFなど
例2: 本番環境のみの予算監視
本番環境のコストのみを監視し、開発環境を除外します。
- 除外するディメンション: タグ(Environment)
- 除外する値: dev, test, staging
設定してみた
前提条件
これらの機能を使用するには、Cost Explorer IAMアクセス許可(ce:GetCostAndUsage
とce:GetDimensionValues
)が必要です。
詳細はAWS Cost Managementのアイデンティティベースのポリシーに関するドキュメントを参照してください。
AWS コスト管理におけるアイデンティティベースのポリシー (IAM ポリシー) の使用 - AWS コスト管理
AWS Budgetsへのアクセス方法
- Billing and Cost Management サービスページに移動し、「予算」>「予算の作成」の順にクリック
- 「予算の作成」画面で「予算のカスタマイズ」、「コスト予算」を選択して「次へ」をクリック
- 「予算を設定」で以下を設定し、「次へ」をクリック
- 予算名:わかりやすい名前(例:「純非ブレンドコスト予算-クレジット・サポート料金除外」)
- 期間:月次、四半期、年次など
- 予算額:今回は固定$50
- 予算の範囲:フィルターの設定
- 「ディメンション」と「除外するディメンション」「値」を設定
- 今回は新しく追加された「請求タイプ」の「クレジット」、「サポート料金」を除外
- コストの集計基準:「純非ブレンドコスト予算」を選択
- アラートをを設定し、「次へ」をクリック
- 確認画面で設定内容を確認したら、「予算を作成」をクリック
- 「正常に作成されました」と表示されたら、作成完了です。
おまけ:CLI例 - 除外機能を使った予算設定
新しい機能をAWS CLIで利用する例として、除外フィルタを使ったコマンドを紹介します。
aws budgets create-budget \
--account-id 111122223333 \
--budget '{
"BudgetName": "DevelopmentCostsExcludingShared",
"BudgetLimit": {
"Amount": "1000",
"Unit": "USD"
},
"CostFilters": {
"TagKeyValue": ["user:Environment$Development"]
},
"CostTypes": {
"IncludeTax": true,
"IncludeSubscription": true,
"UseNetUnblendedCost": true,
"IncludeRefund": false,
"IncludeCredit": false,
"IncludeUpfront": true,
"IncludeRecurring": true,
"IncludeOtherSubscription": true,
"IncludeSupport": true,
"IncludeDiscount": true,
"UseAmortized": false
},
"ExcludeFilters": {
"Service": ["Amazon EC2", "Amazon RDS"],
"Region": ["us-west-1"]
},
"TimePeriod": {
"Start": 1477958399,
"End": 3706473600
},
"TimeUnit": "MONTHLY"
}'
このコマンドで作成される予算の解説
上記のCLIコマンドでは以下のような予算が作成されます。
-
基本設定
- 予算名:
DevelopmentCostsExcludingShared
- 予算上限: 月額1,000 USD
- 期間: 月次予算
- 予算名:
-
コストフィルタ
Environment=Development
タグが付いたリソースのみを対象- つまり開発環境のリソースに限定
-
メトリクス設定
- 純非ブレンドコスト(
UseNetUnblendedCost: true
)を使用 - 割引適用後の実際に支払う金額を追跡
- 純非ブレンドコスト(
-
除外フィルタ
- Amazon EC2とAmazon RDSのコストを除外
- us-west-1リージョンのコストを除外
- これにより開発環境の共有インフラコストを予算から除外
-
コストタイプの詳細設定
- 税金を含む(
IncludeTax: true
) - サブスクリプション費用を含む(
IncludeSubscription: true
) - 返金を含まない(
IncludeRefund: false
) - クレジットを含まない(
IncludeCredit: false
) - 前払い費用を含む(
IncludeUpfront: true
) - 定期料金を含む(
IncludeRecurring: true
)
- 税金を含む(
この予算は、開発環境の特定コストのみを追跡することに特化しており、共有インフラやサービスのコストを除外することで、開発チームが実際に制御できるコストに焦点を当てています。タグベースのフィルタリングと除外機能を組み合わせることで、より精密なコスト追跡が可能になっています。
アラートを追加する場合は、上記の予算作成コマンドに続けて、create-notification
コマンドを使用する必要があります。
最後に
今回はAWS Budgets に追加された新機能「コストメトリクスとフィルタリング機能の強化」についてご紹介しました。
AWS Budgetsの新機能により、より精緻なコスト管理が可能になりました。
新しいコストメトリクスと除外フィルターを活用することで、実際のビジネス単位に合わせた正確な予算追跡ができるようになります。
ぜひ皆さんも自社のコスト管理プロセスに活かしてみてください!
最後までお読みいただきありがとうございました!
以上、おつまみ(@AWS11077)でした!