Cloud Intelligence™
AIコスト配賦を「信頼できる数字」にする検証プロセス
このページはEnglish、Deutsch、Español、Français、Italiano、Portuguêsでもご覧いただけます。
About Gregory Wiedeman
Senior Cloud Architect I
Greg is a Cloud Architecture Strategist at DoiT International and holds an M.S. in Systems Engineering from Regis University. He specializes in cloud architecture, FinOps consulting, and technical advisory services—helping clients optimize infrastructure and make smarter build decisions. When he's not immersed in cloud cost strategies, he enjoys writing about AI governance for non-technical leaders, playing cornhole, or climbing Colorado's many 14ers.
My personal pageAIにコストを割り当てられることを示すのは簡単ですが、その割り当てを信頼するのは難しいものです。
ダッシュボードにはトークン数、リクエスト数、GPU使用量を表示できます。難しいのは、それらの数字が正しい顧客、プロダクト機能、チーム、エージェントに対応しているのか、そして合計値が財務部門とエンジニアリング部門が現在信頼している数字と一致しているのかを確認することです。
本記事では、本番環境におけるAIコストの配賦を検証するための実践的なアプローチを紹介します。初日から完璧に機能するダッシュボードを用意することが目的ではありません。ランタイムのアクティビティとビジネスコンテキストをつなぐ、測定可能な証拠の連鎖を確立することが狙いです。
「正しい」の定義から始める
配賦の仕組みを構築する前に、まずその結果がどのような問いに答えるためのものなのかを決める必要があります。
例えば:
- サービス提供にかかるコストは顧客単位でいくらか
- モデルのコストを最も押し上げているプロダクト機能はどれか
- 各AIエージェントの運用コストはいくらか
- インフラコストの原因となっている共有ワークロードはどれか
- 対象範囲内の支出のうち、現時点で配賦できない割合はどれくらいか
これらの問いは、配賦のそれぞれ異なる側面に関わるものです。ショーバックが目的であればチーム単位の粒度で十分かもしれませんが、顧客単位の可視化を実現するには、テナント識別子、機能に関する詳細、そしてランタイム識別子とビジネス上の名称とのマッピングが必要になります。
アウトプットを確認する前に、検証基準を文書化しておく必要があります。有効な検証計画には以下を明記すべきです:
- 対象となるワークロードとプロバイダー
- 可視化すべきディメンション
- 比較の拠り所となる信頼できる情報源
- 比較対象の時間枠
- 許容される差異
- 未配賦の支出の扱い
Attribute™は、ランタイムの消費量をチーム、ネームスペース、ワークロード、モデル、機能、環境、テナント、顧客といったさまざまなディメンションに割り当てます。重要なのは、考えられるすべてのラベルを収集することではなく、ビジネス上の問いに対応するディメンションを選ぶことです。
1. 範囲を限定したワークロードから始める
クラウド環境全体を一度に検証しようとしてはいけません。まずは小規模で代表的な一部分から始めましょう:
- 本番サービス1つ
- モデルまたはゲートウェイ1つ
- 顧客向け機能1つ
- Kubernetesネームスペース1つ
- 請求アカウントまたはプロジェクト1つ
範囲を限定することで不一致を特定しやすくなり、プラットフォームチームにとっては、今後拡張していくための基準となる結果も得られます。
最初のテストでは、想定されるアクティビティを独立して記録しておきます。比較に有用なデータには次のようなものがあります:
- プロバイダーの使用量データまたは請求データ
- LLMゲートウェイのリクエスト数・トークン数カウンター
- アプリケーションログ
- テナントまたは顧客の識別子
- Kubernetesワークロードのメタデータ
- GPUまたはコンピュートの使用率
すべてのシステムが同じ用語を使っている必要はありません。各システムが互いにどう対応しているのかを理解できれば十分です。
2. 配賦キーをランタイムで観測できることを確認する
配賦の失敗は、たいていコストの計算より前の段階で始まります。テレメトリーを収集する時点で、配賦キー、つまり、ある使用量を別の使用量と区別するために必要な識別子が欠落している場合があるのです。
対象とする各ディメンションについて、次の3つの問いに答えてください:
- 顧客、機能、テナントを示す識別子はどれか
- その識別子はリクエストパスのどこに現れるか
- ランタイムコレクターはそれを継続的に観測できるか
例えば、顧客識別子は認証済みリクエスト、ゲートウェイヘッダー、データベース接続属性、あるいはアプリケーション固有のフィールドに含まれているかもしれません。しかし、識別子がアプリケーションのメモリ内にしか存在せず、観測可能な境界を一度も通過しない場合は、別のインテグレーション手法やインストルメンテーション手法が必要になります。
だからこそ検証は、ダッシュボードに表示される合計値ではなく、ランタイムでキーを観測できるかどうかから始めるべきです。キーを確実に観測できなければ、レポーティングレイヤーをどれだけ丁寧に設定しても、下流の配賦は不完全なままです。
タグでは、共有GPUやゲートウェイを通過するAI支出を追跡できません。 ランタイムの可観測性がインストルメンテーションに勝る理由は、AI Features Have a Visibility Problemをご覧ください。 eBookをダウンロード →
3. 収集の境界を定める
Attribute™は、eBPF(extended Berkeley Packet Filter — 低オーバーヘッドの可観測性を実現するために設計されたLinuxカーネル技術)を用いてカーネルレベルでランタイムの消費量に関する情報を収集するため、アプリケーションコードやアプリケーションSDKの変更は不要です。ただし、収集の境界は依然として重要です。
以下を文書化してください:
- 対象となるクラスター、ホスト、アカウント
- 対象に含める/除外するワークロード
- サポートされるOSとカーネルバージョン
- 観測可能な境界に到達する前にトラフィックが暗号化されるかどうか
- 共有インフラが測定対象範囲に含まれるかどうか
配賦のモデリングを開始する前に、DoiTのオンボーディングプロセスでは、クラスタートポロジーの確認、カーネルとOSの互換性チェック、セキュリティ要件の確認、テレメトリーフローの確認を行います。エンゲージメントモデルの詳細については、Attributeの概要ドキュメントをご参照ください。
有効なカバレッジの記述は次のようなものです:
本検証の対象は、月曜0:00 UTCから火曜0:00 UTCまでの本番推論ネームスペース、セルフホスト型ゲートウェイ、および関連するGPUノードとし、開発トラフィック、バッチワークロード、既存のコネクションは除外する。
境界を明確に定めておけば、意図的に部分的にとどめた結果を不具合とみなしたり、測定していない領域のコストをゼロと考えたりすることがなくなります。
4. 識別子とビジネスのマッピングを作成する
ランタイムテレメトリーは多くの場合、技術的な識別子から始まります:
- Pod名
- コンテナID
- ネームスペース名
- モデルID
- APIキー
- テナントID
- サービス名
一方、財務チームやプロダクトチームには、理解しやすいディメンションが必要です:
- 顧客名
- プロダクト機能
- 事業部門
- 環境
- 料金プラン
- 担当チーム
マッピングを明確にし、記録として残してください。誰が責任者か、最終更新日はいつか、対応するビジネスレコードが存在しない識別子をどう扱うかを明記します。
マッピングテーブルには、例えば少なくとも次のような列を含めるべきです:
| ランタイム識別子 | ビジネスディメンション | 責任者 | 適用開始日 | 検証ステータス |
|---|---|---|---|---|
tenant-4821 |
Acme / Search Assistant | Product Platform | 2026-09-01 | 確認済み |
tenant-5177 |
ExampleCo / Document Review | AI Applications | 2026-09-01 | 確認済み |
tenant-unknown |
未マッピング | Platform FinOps | 2026-09-01 | 要調査 |
未マッピングの行は重要です。これを隠してしまうと、配賦が完全であるかのように見える一方で、カバレッジ改善に必要な証拠が失われてしまいます。
どの顧客に最もコストがかかっているかを知りたいですか? AWS、Google Cloud、Azureでそのまま使えるSQLを収録したCost Per Customer: A FinOps Field Guide to Multi-Tenant Cloud Attributionをご覧ください。 ガイドをダウンロード →
5. 同じアクティビティに対する3つの視点を突き合わせる
信頼できる検証では、少なくとも次の3つの視点を比較します:
- ランタイムアクティビティ — ワークロードが何を呼び出し、何を消費したか
- プロバイダーまたはゲートウェイの使用量 — トークン、リクエスト、コンピュートについてプラットフォームが報告する値
- 配賦済みコスト — その使用量がビジネスディメンションにどう割り当てられているか
比較は同じ時間枠で行い、タイミングのずれを考慮してください。請求データのエクスポートは遅延する可能性があり、ゲートウェイのカウンターはリクエストを異なる形で解釈するかもしれず、ランタイムテレメトリーはリトライやキャッシュされた呼び出しをプロバイダーの請求書とは異なる形で観測する可能性があります。
シンプルな指標が2つ役立ちます:
Coverage = attributed in-scope spend / total in-scope spend
Variance = absolute (source total - attributed total) / source total
全体の合計パーセンテージでは特定の顧客や機能に関わる深刻な問題が隠れてしまう可能性があるため、これらの指標はワークロード単位で日次で監視する必要があります。
不一致が見つかった場合は、すぐに配賦ルールを変更するのではなく、まず分類してください:
- 対象範囲の不一致
- 時間枠の不一致
- プロバイダー請求の遅延
- ランタイム識別子の欠落
- 未マッピングの識別子
- リトライまたは重複リクエスト
- キャッシュ処理または非同期処理
- 非対応のトラフィックパス
この分類のプロセスによって、照合作業が一連のエンジニアリングタスクへと変わります。次の例では、エッジケースのテストに進む前に、この照合を最後まで行う方法を示します。
Cloud bill shouldn't be a mystery
One platform for AI and Cloud optimization.
検証プロセスの例
以下の例はあくまで説明用のものであり、実際の顧客の結果に基づくものではありません。
あるSaaS企業が、文書要約機能のコストをテナントごとに把握したいと考えています。この機能は、Kubernetes上で稼働する共有LLMゲートウェイを通じてリクエストを送信します。
チームは、本番ネームスペース1つ、ゲートウェイ1つ、モデルプロバイダー2社を対象とする24時間の検証期間を設定し、ゲートウェイのトークンカウンター、プロバイダーの使用量、Attribute™の出力を比較します。
| 検証ステージ | 結果 |
|---|---|
| プロバイダーとゲートウェイの合計 | 対象範囲内のAI使用量10,200ドル |
| 既知のテナントに配賦された支出 | 9,650ドル |
| 未マッピングまたは未配賦の支出 | 550ドル(対象範囲の5.4%) |
| 当初の結論 | 配賦は有用だが、まだ完全ではない |
チームはこの差異を計算ミスとして扱うのではなく、調査します。その結果、2つの原因が判明します:
- 直近にローンチしたテナントのランタイム識別子がビジネスマッピングに登録されていなかった
- バッチワークロードが同じゲートウェイを使用しているものの、当初のネームスペースの対象範囲外に存在していた
チームは欠落していたテナントのマッピングを追加し、バッチワークロードを切り分けたうえで、時間枠を揃えて再度比較を行います。今回は、定義した機能スコープに対して99%のカバレッジが得られ、残りの差異はプロバイダー請求のタイミングに起因するものでした。
重要なのはパーセンテージそのものではありません。チームはこの数字に対する一貫した説明、未マッピングの支出に対する明確な責任の所在、そして新しいテナント、モデル、ワークロードが追加されるたびに利用できる検証手順を手に入れたのです。
いまだに未配賦のAI支出が残っていませんか? 5 Reasons AI Costs Don't Add Upで、タグやSDKではこのギャップを埋められない理由をご覧ください。 eBookをダウンロード →
6. ユニットエコノミクスを歪めるエッジケースをテストする
単にリクエストを送るだけでは不十分です。本番のAIシステムは、機能や顧客ごとの見かけ上のコストに影響する挙動を示すことがあるからです。少なくとも次の項目をテストしてください:
- プロバイダーエラー後のリトライ
- ストリーミングレスポンス
- キャッシュされたプロンプトやレスポンス
- バッチリクエスト
- 1つのゲートウェイの背後にある複数モデル
- 人間とエージェントが生成するトラフィック
- 共有GPUワークロード
- 長時間維持されるデータベース接続やゲートウェイ接続
- プロバイダー間のフェイルオーバー
Javaワークロードには特別な配慮が必要です。Javaプラットフォーム内で暗号化されるTLSトラフィックに対しては、カーネルレベルのeBPFによる可視性では不十分なためです。Attribute™がこのシナリオ向けにJavaエージェントを開発しているのはそのためです。サポートされるデプロイモード、制限事項、インストール後に実施すべきチェックについては、Java Instrumentation Guideをご参照ください。
検証とは、センサーが稼働しているかどうかだけの問題ではありません。そのワークロードが実際に動作する形で、そのワークロードに関連するトラフィックをセンサーが観測しているかどうかも問われるのです。
7. カバレッジを運用指標として管理し続ける
配賦の品質は環境によって変化します。初期デプロイの検証後も、新しいテナント、ゲートウェイ、モデル、ネームスペース、機能が追加されるとギャップが生じる可能性があるためです。
次の項目を確認する定期レビューを設けてください:
- マッピングのない新規の識別子
- 不明なディメンションや共有ディメンションに割り当てられた支出
- 配賦カバレッジの変化
- リクエスト単価や機能単価の予期しない変動
- レポートを停止したワークロード
- プロバイダーの合計と配賦済み合計の差異
カバレッジは一度達成すれば終わりの成果ではなく、運用指標として捉えてください。
実践的な受け入れチェックリスト
配賦の仕組みを本番運用可能と判断する前に、次の点を確認してください:
- ビジネス上の問いと関連するディメンションを文書化している
- 正確な対象範囲と時間枠が明確に定義されている
- 対象の識別子がランタイムトラフィックのパス上で観測できる
- クラスター、ホスト、アカウント、ワークロードがすべて記録されている
- ランタイム識別子にビジネス上わかりやすい名称が付いている
- 未マッピング・未配賦の支出が可視化されている
- ランタイムアクティビティがプロバイダーまたはゲートウェイのデータと照合されている
- リトライ、キャッシュ、ストリーミング、共有ワークロードをテスト済みである
- Java TLSワークロードが適切に評価されている
- カバレッジと差異の責任者、およびレビューのスケジュールが定まっている
まとめ
AIコスト配賦は、関係者がその数字を十分に信頼し、意思決定の根拠として使えて初めて価値を持ちます。
その信頼は、再現可能なプロセスから生まれます。そのためには、問いを明確にし、対象範囲に境界を定め、ランタイムでの可視性を確認し、技術的な識別子をビジネスコンテキストに結び付け、複数の視点を照合し、本番環境でエッジケースをテストし、カバレッジを継続的に監視する必要があります。
Attribute™は、AIと共有インフラのためのランタイム測定レイヤーを提供します。それでもなお、結果の品質を左右するのは、配賦モデル、収集の境界、そしてそれに伴う検証プロセスです。
AI費用の総額把握から、顧客・機能・エージェント単位のコスト把握へと移行するチームにとって、検証はデプロイ後の最終ステップではありません。測定プログラム全体を動かすオペレーティングシステムそのものなのです。