【AWS】Claude Platform on AWSの利用状況の詳細を可視化したい
こんにちは、ホワイトバードです。Claude Platform on AWSを利用すると、AWSのマネジメントコンソールとは別にClaude Consoleが用意されます。利用状況のレポートや可視化の機能は用意されているのですが、詳細項目のカスタマイズをしていきたいニーズがあり、独自のダッシュボードを作成してみることにしました。
Claude Consoleで見えるもの
Claude Consoleで提供される利用状況分析ダッシュボードでは、ワークスペースごとのトークンやキャッシュ、使用したモデルなどを見ることができます。日ごと、時間ごとに区切ってみることもできます。
Claude コンソールでのコストと使用状況レポート
しかしながら現時点のダッシュボードでは細かく見たい場合、ログレベルで分析する必要があります。
- AssumeRoleで入ってきたユーザーごとに使用状況を知りたい
- 分単位や、時間範囲を区切って利用状況の分析を行いたい
そこで、CloudTrail DataEventsを使って、こうした細かい利用状況の分析を行います。
CloudTrail DataEventsで見えるもの
CloudTrail DataEventsを使うと、Claude Platform on AWSではこのようなものが見えるようになります。
- イベント名
- 推論の履歴(CreateInference)
- トークンのカウント (TokenCounts)
- データメッセージの中身
- いつ、どのIAMプリンシパルで実行されたか
- 使用されたAPIキーの種別(長期キー・短期キー)
- 呼び出し元のIPアドレス
- TLSバージョン
- ユーザーエージェント(Claude CLIのバージョン)
- 接続先のエンドポイント
アーキテクチャ
これらのCloudTrail DataEventsを可視化するためのアーキテクチャは次の通りです。

Oktaを経由でAssumeRoleWithSAMLでログインし、Claude PlatformのIAMロールを使います
ClaudePlatformのIAMロールを通じて払い出されたShort Termキーを使ってClaudeへの推論を実施する際に Platform on AWS APIを使用すると、CloudTrail DataEventsが発行され、それを証跡用のS3バケットと、CloudWatch Logsのロググループに発行されます。
CloudWatch Logs InsightsとCloudWatch Dashboardを使って可視化を行います。ダッシュボードの閲覧者は、閲覧用のIAMロールで見るようにします。
CloudFormationサンプル
CloudTrail DataEventsの有効化、Claude用のS3バケットの作成、CloudWatch Logsロググループ、CloudWatch Dashboard、閲覧用のIAMロールの作成を行うCloudFormationのサンプルです。
ダッシュボードは、AssumeRoleWithSAMLの利用者ごとの推論回数、全体のトークン数と推論回数、CloudTrailの履歴を表示するものとなります。
CloudWatch Dashboardのクエリを変えることで見たい項目を増やしたりカスタマイズすることもできます。
結果
このサンプルを利用した結果はこのような形になります。

利用者ごとのグラフや呼び出し回数の推移、履歴の詳細を把握するシンプルなグラフを見ることができます。
まとめ
Claude Consoleの情報とは異なり、CloudTrail DataEventsを使った場合は、モデルの利用状況やキャッシュヒットといった情報を見ることはできません。
一方でインフラ環境やCLIバージョン管理などを行えるため、プラットフォームの安全性の観点でClaude Consoleと並行して使っていく方向がよさそうに見えます。
適材適所に合わせて使っていければと思いますので、ぜひClaude Platform on AWSを利用中の方は、インフラレベルの可視化も併せてご検討ください!