5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Amazon BedrockのコストをIAMユーザー・ロール単位で把握できるようになったので試してみた

5
Posted at

はじめに

「先月のBedrock利用料、どのチームがどれだけ使ったの?」

生成AIの業務活用が進むにつれて、こんな質問がFinOpsチームに飛んでくること、増えていませんか? これまでのAWSのコスト管理では、Bedrockの利用料をアカウント単位やサービス単位では把握できても、誰が(どのIAMユーザー・ロールが)どれだけ使ったかを直接追跡するのは簡単ではありませんでした。

2026年4月9日、AWSから待望のアップデートが発表されました。

Amazon BedrockがIAMユーザー・ロール単位でのコスト配分に対応!

この記事では、このアップデートの内容を解説し、実際にセットアップして動作確認するところまでやってみます。

忙しい人のためにポイント解説

  • Amazon Bedrockの利用コストをIAMユーザー・ロール単位で追跡できるようになった
  • CUR 2.0(Cost and Usage Report 2.0)Cost Explorer で確認可能
  • IAMプリンシパルにタグ(departmentcost-centerなど)を付けて、コスト配分タグとして有効化するだけ

IAMプリンシパルによるコスト配分とは

これまでの課題

Bedrockを複数チームで利用している場合、「どのチームがどのモデルをどれだけ呼び出して、いくらかかったのか」を把握するのは意外と大変でした。

これまでもコストを追跡する方法がなかったわけではありません。AWSブログでも紹介されていたように、以下のようなアプローチがありました。

方法 概要 課題
アプリケーション推論プロファイル 推論プロファイルにタグを付けてCost Explorerで追跡 アプリケーション単位の追跡には向くが、IAMユーザー・ロール単位の配分には別途工夫が必要
マルチアカウント戦略 チームごとにAWSアカウントを分離 アカウント管理の運用コストが増大

どの方法も一長一短で、「誰がどれだけ使ったか」をシンプルに把握するのは難しい状況でした。

何が変わったのか

今回のアップデートにより、IAMプリンシパル(ユーザーやロール)に付与したタグをベースに、Bedrockの利用コストを自動的に振り分けられるようになりました。

仕組みの全体像

IAMプリンシパルのコスト配分は、以下のようなアーキテクチャで動作します。

何がうれしいのか

1. チームごとの生成AI利用コストが一目瞭然

「開発チームはClaude Sonnetを月10万円分、データ分析チームはClaude Haikuを月3万円分」といった把握が、レポートを見るだけで可能になります。

2. チャージバック・ショーバックが簡単に

部門ごとにAI利用料を配賦したいFinOpsチームにとって、タグベースの自動集計は大きな助けになります。

3. コスト最適化のヒントが得られる

「このロールからの呼び出しが突出して多いのはなぜ?」といった異常検知や、モデル選定の見直しに活用できます。

4. 既存のAWSコスト管理ワークフローにそのまま統合

Cost ExplorerやCUR 2.0という既存のツールがそのまま使えるため、新しいツールの導入やラーニングコストがほぼゼロです。

やってみた

実際にIAMプリンシパルによるコスト配分をセットアップしてみます。

手順1: IAMロールにタグを付ける

まず、Bedrockを呼び出すIAMロール(またはユーザー)にコスト配分用のタグを付けます。

AWSコンソールの場合

  1. IAMコンソールを開く
  2. 対象のロール(例: bedrock-app-role)を選択
  3. 「タグ」タブから以下のようなタグを追加
キー
department engineering
cost-center CC-1234
project chatbot-v2

AWS CLIの場合

# IAMロールにタグを付与
aws iam tag-role \
  --role-name bedrock-app-role \
  --tags \
    Key=department,Value=engineering \
    Key=cost-center,Value=CC-1234 \
    Key=project,Value=chatbot-v2

# タグが付いたか確認
aws iam list-role-tags --role-name bedrock-app-role

IAMユーザーの場合は tag-user / list-user-tags を使います。

# IAMユーザーにタグを付与
aws iam tag-user \
  --user-name bedrock-user \
  --tags \
    Key=department,Value=data-science \
    Key=cost-center,Value=CC-5678

手順2: BedrockのAPIを呼び出す(タグ検出のため)

重要: IAMプリンシパルのタグがコスト配分タグとして表示されるのは、そのプリンシパルがBedrockのAPIを少なくとも1回呼び出した後です。

タグを付けたロールやユーザーでBedrockを呼び出しておきましょう。

# リクエストボディをファイルに保存
cat <<'EOF' > /tmp/body.json
{"messages":[{"role":"user","content":[{"text":"Hello, this is a test call for cost allocation."}]}]}
EOF

# タグ付きユーザーでBedrockを呼び出す例
aws bedrock-runtime invoke-model \
  --profile bedrock-user \
  --model-id global.amazon.nova-2-lite-v1:0 \
  --region ap-northeast-1 \
  --content-type application/json \
  --accept application/json \
  --body fileb:///tmp/body.json \
  /dev/stdout | jq .

手順3: コスト配分タグを有効化する

APIを呼び出したら、最大24時間待ってからコスト配分タグを有効化します。

AWSコンソールでの操作

  1. Billing and Cost Managementコンソール(https://console.aws.amazon.com/costmanagement/)を開く
  2. 左メニューから Cost OrganizationCost Allocation Tags を選択
  3. 「IAM principal」タイプでフィルタリング
  4. departmentcost-centerproject などのタグキーを選択
  5. Activate をクリック
  6. ステータスが Active になったことを確認

スクリーンショット 2026-04-13 20.05.36.png

AWS CLIの場合

# コスト配分タグのステータスを確認
aws ce list-cost-allocation-tags \
  --tag-keys department cost-center project \
  --type IAMPrincipal

# タグを有効化
aws ce update-cost-allocation-tags-status \
  --cost-allocation-tags-status \
    TagKey=department,Status=Active \
    TagKey=cost-center,Status=Active \
    TagKey=project,Status=Active

手順4: CUR 2.0でIAMプリンシパルデータを有効化する

CUR 2.0のデータエクスポートを作成(または更新)して、IAMプリンシパルの情報を含めるようにします。

AWSコンソールでの操作

  1. Billing and Cost Managementコンソールを開く
  2. Data Exports を選択
  3. Create をクリック(または既存のエクスポートを編集)
  4. Standard data export (CUR 2.0) を選択
  5. Additional export content セクションで、Include caller identity (IAM principal) allocation data にチェックを入れる
  6. S3バケットなどの出力先を設定して保存

手順5: コストを確認する

Cost Explorerで確認

  1. Cost Explorer を開く
  2. Group by ドロップダウンで Tag を選択
  3. iamPrincipal/departmentiamPrincipal/cost-center を選択
  4. チーム別・プロジェクト別のコストが表示される

スクリーンショット 2026-04-14 22.53.18.png
スクリーンショット 2026-04-14 22.53.31.png

気をつけるポイント・注意点

タグ反映のタイムラグ

  • IAMタグを付与してからコスト配分タグとして表示されるまで、最大24時間かかります
  • さらにタグを有効化してからCUR 2.0に反映されるまでもう24時間かかる場合があります
  • テスト時は余裕を持ったスケジュールで確認しましょう

タグの命名規則を統一する

組織全体で一貫したタグキーを使うことが重要です。departmentDepartmentdept が混在していると、集計時に混乱します。タグポリシー(AWS Organizations Tag Policy)の活用も検討してみてください。

まとめ

Amazon BedrockのIAMプリンシパル別コスト配分は、生成AIの利用コストを組織構造に沿って可視化するための強力な機能です。

特にうれしいのは以下のポイントです。

  • 既存のCost ExplorerやCUR 2.0の仕組みにそのまま乗れる
  • タグを付けて有効化するだけの簡単セットアップ

生成AIの活用が広がるほど、「誰がどれだけ使っているか」の可視化は組織にとって不可欠になります。FinOpsチームはもちろん、チームリーダーやプロジェクトマネージャーにとっても価値のあるアップデートではないでしょう。

参考リンク

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?