はじめに
Bedrockのログの設定についてです。
久々に1から設定したら少しつまづいたので書いてみます。
今ではAgentCore オブザーバビリティという便利なものがありますが、Bedrock単体やナレッジベース、Bedrockエージェントの利用時には必要になってきます。
今回は設定手順含め書いていこうと思います。
Bedrockのログの設定方法
前提条件
- まだBedrockのロググループを作成していないリージョンで実施する
- 今回はオハイオ(us-east-2)リージョンで実施
ロググループの作成
まずログを出すためのロググループを作成します。
CloudWatchのコンソールの「Log Management」を開きます。
前までは「ロググループ」でしたが、変わったみたいです。
以下のようになるので、ロググループを作成します。
Bedrock側のログの設定
ログの設定はBedrock側でも別途必要になります。
ロググループには先ほど作成したロググループを入力します。
IAMロールは新規作成を選択します。
ポリシーの設定
作成されたIAMロールに以下のような許可ポリシーを設定します。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:us-east-2:{AccountId}:log-group:logGroupName:log-stream:aws/bedrock/modelinvocations"
}
]
}
信頼関係の設定
信頼エンティティを同様に設定します。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "bedrock.amazonaws.com"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"aws:SourceAccount": "{AccountId}"
},
"ArnLike": {
"aws:SourceArn": "arn:aws:bedrock:us-east-2:{AccountId}:*"
}
}
}
]
}
ログの出力を確認
以下のように試しに呼び出してみます。
出てきたログは以下のようになります。
{
"timestamp": "2025-12-06T03:24:45Z",
"accountId": "{AccountId}",
"identity": {
"arn": "arn:aws:iam::{AccountId}:user/yakumo"
},
"region": "us-east-2",
"requestId": "6edd32a0-0676-4c4d-9fcc-09110404031d",
"operation": "ConverseStream",
"modelId": "arn:aws:bedrock:us-east-2:{AccountId}:inference-profile/us.anthropic.claude-haiku-4-5-20251001-v1:0",
"input": {
"inputContentType": "application/json",
"inputBodyJson": {
"messages": [
{
"role": "user",
"content": [
{
"text": "こんにちは!今日はいい日ですね!"
}
]
}
],
"inferenceConfig": {
"maxTokens": 32000,
"temperature": 1
},
"additionalModelRequestFields": {}
},
"inputTokenCount": 23,
"cacheReadInputTokenCount": 0,
"cacheWriteInputTokenCount": 0
},
"output": {
"outputContentType": "application/json",
"outputBodyJson": {
"output": {
"message": {
"role": "assistant",
"content": [
{
"text": "こんにちは!そう言ってくださるのは嬉しいです😊\n\n今日がいい日というのは、何か良いことがあったのですか?それとも、単に天気が良いとか、気分が良いとかいった感じでしょうか?\n\n何かお手伝いできることがあれば、ぜひ教えてください!"
}
]
}
},
"stopReason": "end_turn",
"metrics": {
"latencyMs": 1569
},
"usage": {
"inputTokens": 23,
"outputTokens": 106,
"totalTokens": 129
}
},
"outputTokenCount": 106
},
"inferenceRegion": "us-east-2",
"schemaType": "ModelInvocationLog",
"schemaVersion": "1.0"
}
usageエリアに注目すると、どのくらいトークンを消費したのかがわかります。
Bedrockはトークンあたりの課金なのでチェックしておくといいかもしれません。
今回の場合消費したトークンは以下のようになります。
"usage": {
"inputTokens": 23,
"outputTokens": 106,
"totalTokens": 129
}
課金される料金は入力トークンと出力トークンでか金額が微妙に違います。
今回利用したUS Anthropic Claude Haiku 4.5の場合、課金体系は以下のようになります。
- 1,000入力トークンあたりの価格:0.0011ドル
- 1,000出力トークンあたりの価格:0.0055ドル
今回消費したトークンは
- 入力トークン:23
- 出力トークン:106
となります。
これをそれぞれ計算すると、合計0.00061ドルとなります。日本円で0.095円くらいです。
流石に1回なら安い!となりますが、いつの間にすごい課金されてしまっていた、というのはよくあることです。利用は計画的にしましょう。
さいごに
今回は改めてBedrockのログ設定を初めからやってみました。
昔やった設定などを、また改めてやろうとすると忘れてる...なんてことはよくあることですよね。
こういう機会にアウトプットできてよかったと思います。
本記事が誰かのお役に立てば幸いです。




