Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Amazon Bedrock のコスト内訳を気合でトラッキングする
Search
Hayato Kawai
February 18, 2026
0
47
Amazon Bedrock のコスト内訳を気合でトラッキングする
Japan Datadog User Group Meetup#15@東京 で話した資料です。
https://datadog-jp.connpass.com/event/378380/
Hayato Kawai
February 18, 2026
Tweet
Share
More Decks by Hayato Kawai
See All by Hayato Kawai
Bedrock のコスト監視設計
fohte
2
530
Data Access Control で実現するより細かい権限制御
fohte
0
350
Datadog が支える Wantedly のシステム運用
fohte
0
120
Devin や Cursor などの生成 AI ツール導入に向けて何を取り組んだのか
fohte
2
340
Datadog Network Monitoring を活用して NAT Gateway 課金を 80 % 削減した話
fohte
2
770
Trace Metrics と Istio Metrics でサービス健全性を監視する
fohte
0
540
段階的リリースを実現する kube canary
fohte
1
230
巨大 tfstate に立ち向かう技術
fohte
1
1.2k
RubyKaigi で LT 初登壇したきっかけと感想
fohte
1
1.4k
Featured
See All Featured
Done Done
chrislema
186
16k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
200
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
440
AI: The stuff that nobody shows you
jnunemaker
PRO
2
300
How to make the Groovebox
asonas
2
2k
A Soul's Torment
seathinner
5
2.3k
Color Theory Basics | Prateek | Gurzu
gurzu
0
210
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
450
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
89
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Transcript
Japan Datadog User Group Meetup #15 Amazon Bedrock の コスト内訳を気合で
トラッキングする Feb.18 2026 - Hayato Kawai (@fohte) © 2026 Wantedly, Inc.
自己紹介 名前 Fohte ( ふぉーて) 川井 颯人 (Hayato Kawai) 所属
• ウォンテッドリー株式会社 / Infra Squad • Japan Datadog User Group アカウント • @fohte • @fohte © 2026 Wantedly, Inc.
持ち帰ってほしいこと • Bedrock のコスト内訳は Datadog APM の手動計装 + Trace Metrics
で追える ◦ ingestion も sampling される点に注意 • 正確性が必要なら Inference Profile と併用しよう © 2026 Wantedly, Inc.
CONTENTS 01 Bedrock コスト監視のつらさ 02 Datadog APM で解決する 03 ハマりどころ:
span の sampling 04 Inference Profile との使い分け © 2026 Wantedly, Inc.
01 Bedrock コスト監視のつらさ © 2026 Wantedly, Inc.
Bedrock のコスト監視のつらさ • ウォンテッドリーでは生成 AI をプロダクトに組み込む事例が増加し ている 昨年 11 月に採用候補者を探すための生成
AI エージェントをリリース https://www.nikkei.com/nkd/company/article/?DisplayType=1&ng=DGKKZO92778390T21C25A1TB1000&scode=3991&ba=1 © 2026 Wantedly, Inc.
コスト監視でやりたいこと • どのアプリケーションが • どの環境で • どのモデルを • どのくらい使っているか を見たい
© 2026 Wantedly, Inc.
解決策: Inference Profile による分離 詳細は JAWS-UG 東京 ランチタイム LT 会
#29 のスライドにて https://speakerdeck.com/fohte/bedrock-nokosutojian-shi-she-ji © 2026 Wantedly, Inc.
Inference Profile による分離 • 用途ごとに Application Inference Profile を作成 ◦
この inference profile に env , application のようなタグをつける • Cost Explorer 上でタグごとに分類する © 2026 Wantedly, Inc.
Inference Profile の課題 • 作成するのがまあまあ大変 ◦ Terraform module を作ったものの、module は複雑怪奇に…
• ひとつのアプリケーションの中でも機能ごとに inference profile を 作りたい ◦ 欲を言えば、どのメソッドから呼ばれているのかも知りたい • Cost Explorer はリアルタイム性がない ( 当日は反映されない) © 2026 Wantedly, Inc.
02 Datadog APM で解決する © 2026 Wantedly, Inc.
アプローチ: Bedrock 呼び出しを全部計装する • Datadog::Tracing.trace で Bedrock API 呼び出しを計装 •
span tag に必要な情報を詰め込む ◦ どの機能から呼び出されたか ( 例: feature:sourcing_ai ) ◦ input/output トークン数 ◦ モデル • ( 余談) dd-trace-rb に自動計装がなかった (Python はある) © 2026 Wantedly, Inc.
計装のイメージ (Ruby / dd-trace-rb) • Bedrock API 呼び出しを #trace で囲み、レスポンスから
usage を 取得して tag に詰める Datadog::Tracing.trace("bedrock.converse") do |span| bedrock_client.converse(params).tap do |res| span.set_tag("feature", "sourcing_ai") span.set_tag("input_tokens", res.usage.input_tokens) span.set_tag("output_tokens", res.usage.output_tokens) end end © 2026 Wantedly, Inc.
span から metrics 化 • Datadog APM は span から
custom metrics を生成できる ◦ コスト分析に必要な情報は span tag から tag を設定 namespace / env / model / feature ごとに閲覧可能に © 2026 Wantedly, Inc.
03 ハマりどころ: span の sampling © 2026 Wantedly, Inc.
前提: APM の trace pipeline • App → Agent →
Datadog backend の流れで 2 段階ある ◦ Ingestion: Agent から backend への送信 ◦ Indexing: Retention Filter による保持 ( 検索・閲覧用) • 今回使った Span-based Metrics は Ingested Spans から生成され る ◦ → Ingestion で落ちた span からは metrics が作れない ( 詳細) https://docs.datadoghq.com/tracing/trace_pipeline/ © 2026 Wantedly, Inc.
Span-based Metrics が実態と大きく乖離していた • Cost Explorer の実態と比較したところ、約 5% しか捕捉できていな かった
◦ 残りの 95% は Datadog に届く前に drop されていた • 原因: Datadog Agent の head-based sampling ◦ Datadog Agent のデフォルト: 10 traces/sec/Agent ◦ 手動計装した大部分が ingest 前に drop ◦ Span-based Metrics は Ingested Spans のみから生成される © 2026 Wantedly, Inc.
解決策: Single Span Sampling • head-based sampling で落とされた trace の中から、特定の
span だけを個別に ingest する仕組み ◦ trace 全体ではなく span 単位で保持判定できる • → bedrock.converse だけを 100% ingest 可能 ◦ root span は保持されず、trace 全体の可視化はできない 実際のトレースの例 © 2026 Wantedly, Inc.
04 Inference Profile との使い分け © 2026 Wantedly, Inc.
正確性 vs 柔軟性 Inference Profile Datadog APM (span) コストの正確性 100%
~90% ( ネットワーク不調等で欠損しうる) 粒度 Inference Profile 単位 ( 管理コストと粒度のトレードオフ) 機能・アクション単位 リアルタイム性 最大 24h 遅延 ほぼリアルタイム 運用コスト 作成・管理が大変 アプリ側で完結 © 2026 Wantedly, Inc.
どう使い分けるか • 正確なコスト把握 → Inference Profile + Cost Explorer •
機能単位の傾向分析・リアルタイム監視 → Datadog APM • 併用がベスト © 2026 Wantedly, Inc.
まとめ • Bedrock のコスト内訳は Datadog APM の手動計装 + Trace Metrics
で追える ◦ ingestion も sampling される点に注意 • 正確性が必要なら Inference Profile と併用しよう © 2026 Wantedly, Inc.