Slide 1

Slide 1 text

Claude Code をローカルとサーバー上で利用した際の Bedrock 利用料をユーザー単位で一本化してみる クラウド事業統括本部/プロフェッショナルサービス事業本部 コンサルティング2部/ソリューションアーキテクト 堀⼝ 理

Slide 2

Slide 2 text

アジェンダ 1. ⾃⼰紹介 2. 課題と結論 3. 前準備:データエクスポートの設定 4. 検証:複数環境での Bedrock 利⽤料をユーザーごとに合算 5. まとめ 2

Slide 3

Slide 3 text

⾃⼰紹介 名前:堀⼝ 理 ロール:ソリューションアーキテクト 主な業務: ● AWS を⽤いた環境構築‧アーキテクチャ⽀援 ● Claude 関連の⽀援(設定レビュー、PoC) 好きな AWS サービス:Amazon Bedrock 3

Slide 4

Slide 4 text

はじめに Claude, ChatGPT などの⽣成 AI を使っている⽅ 🙋 4

Slide 5

Slide 5 text

はじめに ⽣成 AI をデスクトップアプリ(ローカル環境)で使っている⽅ 🙋 5

Slide 6

Slide 6 text

はじめに ⽣成 AI を EC2(リモート環境)で使っている⽅ 🙋 6

Slide 7

Slide 7 text

はじめに ローカル‧リモート環境 どちらも使っている⽅ 🙋 7

Slide 8

Slide 8 text

課題:各端末のコストを合算しユーザー単位の利⽤料を知りたい 複数端末‧AWS アカウントに利⽤料が散らばっていると管理側で統制しづらい → 複数環境の利⽤料をユーザー単位で合算できると 「結局この⼈はいくら使ったのか?」を簡単に把握することが可能 ローカル PC でのコスト ユーザーごとの合計 EC2 でのコスト 8

Slide 9

Slide 9 text

今回検証に使った構成 9

Slide 10

Slide 10 text

⽅法 1:モデル呼び出しログから概算する 各 AWS アカウントでモデル呼び出しログを有効化すると、トークン数にモデル 単価を掛けて利⽤料を概算できます ユーザー 1 ローカル トークン数 ユーザー 1 EC2 × モデル単価 = 利⽤料を概算 10

Slide 11

Slide 11 text

⽅法 2:コストと使⽤状況レポート (CUR 2.0) を利⽤する ● 2026 年 4 ⽉に追加された IAM プリンシパル単位のコスト配分 (コストと使⽤状況レポート 2.0:CUR 2.0)機能を利⽤します ● 端末(ローカル PC‧EC2)や AWS アカウントが違っても、同じ ユーザーの Bedrock 利⽤料を合算しやすくなります 出典:AWS What's New(2026年4⽉) 11

Slide 12

Slide 12 text

IAM プリンシパル単位のコスト配分で、誰が使ったかが分かる ● これまでは利⽤料が AWS アカウント単位の数値しか出なかった ● アップデートで呼び出した⼈ごとに記録されるようになりました これまで: 追加後:呼び出し元ごとに記録が分かれる IAM ユーザー Bedrock 全体の料⾦ や使われたモデル arn:aws:iam::123456789012:user/username IAM ロール arn:aws:sts::123456789012:assumed-role/rolename/session-name 出典:AWS What's New(2026年4⽉)、AWS ブログ(2026年4⽉)、AWS Data Exports テーブルディクショナリ(CUR 2.0) 12

Slide 13

Slide 13 text

IAM プリンシパル単位のコスト配分で、誰が使ったかが分かる ● これまでは利⽤料が AWS アカウント単位の数値しか出なかった ● アップデートで呼び出した⼈ごとに記録されるようになりました これまで: 追加後:呼び出し元ごとに記録が分かれる IAM ユーザー Bedrock 全体の料⾦ や使われたモデル arn:aws:iam::123456789012:user/username IAM ロール arn:aws:sts::123456789012:assumed-role/rolename/session-name 出典:AWS What's New(2026年4⽉)、AWS ブログ(2026年4⽉)、AWS Data Exports テーブルディクショナリ(CUR 2.0) 13

Slide 14

Slide 14 text

下準備:データエクスポートの設定 「請求とコスト管理」のコンソールからデータエクスポートを作成します 14

Slide 15

Slide 15 text

下準備:データエクスポートの設定 請求とコスト管理のコンソールでデータエクスポートを作成します 15

Slide 16

Slide 16 text

下準備:データエクスポートの設定 「発信者 ID (IAM プリンシパル)割り当てデータを含める」を選択することで Bedrock の利⽤者データをコストレポートに紐付けます 16

Slide 17

Slide 17 text

【再掲】今回検証に使った構成 17

Slide 18

Slide 18 text

CUR 2.0 のデータでユーザーごとのコストが合算できた CUR 2.0 の結果を Amazon Athena で合計し、ユーザーごとの利⽤料を計算する ことができました! 18

Slide 19

Slide 19 text

CUR 2.0 のデータでユーザーごとのコストが合算できた CUR 2.0 の結果を Amazon Athena で合計し、ユーザーごとの利⽤料を計算する ことができました! やったー! 19

Slide 20

Slide 20 text

CUR 2.0 のデータでユーザーごとのコストが合算できた CUR 2.0 の結果を Amazon Athena で合計し、ユーザーごとの利⽤料を計算する ことができました! やったー! 解決!! 20

Slide 21

Slide 21 text

この利⽤料って本当に信⽤してもいいの? 21

Slide 22

Slide 22 text

ユーザー別の利⽤額が正しいと⾔えるために⾒たい項⽬ CUR 2.0 実際の請求額 User-1 User-2 トークン数を ⽐較する 呼び出しログ 実際の使⽤量 User-1 User-2 呼び出しログと CUR のトークン数が同じなら、 実際に利⽤した際の使⽤量とそれに対する請求の対応が正しいことがわかります 22

Slide 23

Slide 23 text

呼び出しログのトークン数を合計して⽐較します 2 アカウント、2 ユーザー、2 端末で 8 通りの呼び出しを記録しました。 23

Slide 24

Slide 24 text

呼び出しログのトークン数を合計して⽐較します 2 アカウント、2 ユーザー、2 端末で 8 通りの呼び出しを記録しました。 各アカウントごとのトークン数を合計し、CUR 2.0 の結果と⽐較します。 User 1 147,555.0 User 2 147,548.0 24

Slide 25

Slide 25 text

呼び出しログのトークン数と CUR 2.0 のトークン数が⼀致 Bedrock の使⽤量と、それに対する請求の対応が正しいことがわかりました 利用者 test-user-1 test-user-2 アカウント 端末 トークン数 A EC2 20,677.0 A LOCAL 21,226.0 B EC2 20,678.0 B LOCAL 84,974.0 A EC2 20,681.0 A LOCAL 21,244.0 B EC2 20,676.0 B LOCAL 84,947.0 呼び出しログの CUR 2.0 の 費用( USD) トークン数合計 トークン数合計 147,555.0 147555.0 0.573093 147,548.0 147548.0 0.153768 25

Slide 26

Slide 26 text

ユーザーごとのコスト合算⽅法のまとめ 1 設定 2 記録 3 集計 エクスポートで有効化 ARN が CUR に載る 各ユーザーの請求を SUM 「発信者 ID 割り当てデータを 含める」のボックスにチェックを ⼊れる 呼び出し元の IAM ARN が CUR 2.0 に⼊る ARN の末尾(ユーザー名)を キーに利⽤料を合計する ユーザーごとのコストを、端末‧アカウントをまたいで合算できる test-user-1:$0.57309 test-user-2:$0.15377 26

Slide 27

Slide 27 text

CUR 2.0 と呼び出しログの使い分けに関するポイント CUR 2.0 呼び出しログ ⼿間 料⾦まで⾃動で計算 トークン数 × 単価を⾃前で計算 リアルタイム性 低い(最低 1 ⽇ 1 回更新) ⾼い(リクエスト単位) 料⾦まで⾃動で計算してほしいなら CUR 2.0 リアルタイム性を重視するなら 呼び出しログ 27

Slide 28

Slide 28 text

No content