身に覚えのない Bedrock 請求!犯人は Beanstalk の「AI分析」ボタンだった(with Amazon Q 調査記録) |岡山、広島、福山の人材支援、IT化支援の株式会社シーズ

身に覚えのない Bedrock 請求!犯人は Beanstalk の「AI分析」ボタンだった(with Amazon Q 調査記録) - 株式会社シーズ|岡山、広島、福山の人材支援、IT化支援の株式会社シーズ

身に覚えのない Bedrock 請求!犯人は Beanstalk の「AI分析」ボタンだった(with Amazon Q 調査記録)

はじめに

こんにちは!システム開発チームです。

AWS の利用料金をチェックしていたら、「身に覚えのない項目」を見つけてヒヤッとした経験はありませんか?
先日、弊社の AWS 利用料金の通知メールを眺めていたところ、見慣れない文字が飛び込んできました。

Claude Opus 4.6 (Amazon Bedrock Edition): $0.13

「えっ、Claude Opus? Bedrock? 最近使った覚えが全くないんだけど……」
わずか0.13ドル(数十円)とはいえ、原因不明の課金は恐怖でしかありません。どこかでアクセスキーが漏洩したのか、あるいは誰かが勝手に検証を始めたのか。
今回は、この謎の課金を Amazon Q に調査してもらったところ、予想以上の大活躍で犯人が特定できたお話、そしてそこに潜んでいた 「Elastic Beanstalkのうっかりトラップ」 について共有します。

犯人は誰だ? Amazon Q に丸投げしてみた

さっぱり見当がつかなかったので、AWS コンソールに常駐しているAIアシスタント「Amazon Q」に、「6月2日のこの請求、全然覚えがないんですけど…」とチャットでそのまま丸投げしてみました。
すると、秒速でめちゃくちゃ詳細なレポートが返ってきたのです。

Amazon Q からの第一報

Amazon Q がコストデータを即座に分析し、以下の情報を割り出してくれました。

  • 利用地域: xxxxリージョン(xx-xxxxx-x)
  • 利用日: 2026年6月2日(この日、1回きりの単発利用)
  • 課金内訳: 入力トークンと出力トークンによる Bedrock の従量課金

「東京リージョンで6月2日の1回だけ? でもやっぱり触った記憶がない……」
困惑する私に、Amazon Q はさらに深掘りした CloudTrail ベースのログ分析を提示してくれました。ここからが優秀すぎました。

突き止められた決定的な証拠

Amazon Q が提示した、6月2日の詳細なタイムラインがこちらです。

時刻 (JST)イベント
12:06:06Elastic Beanstalk の環境更新が開始
12:07:29EC2 インスタンス (i-09b1...) が環境に追加
12:08:16AI 分析リクエスト開始 🚨
12:08:44Claude Opus API 呼び出し実行($0.1372の課金発生)
12:09:29環境ヘルスがOkに移行
  • 呼び出し元サービス: AWS Elastic Beanstalk
  • 対象環境: xxxxxx-dev-xxxx
  • 実行されたAPI: InvokeModel (global.anthropic.claude-opus-4-6-v1)

「あ、Elastic Beanstalk の画面にあった『AI分析』ボタン、うっかり押したわ……!」
記憶のピースが完全に繋がりました。 開発環境のヘルスチェックが一時的に悪化した際、コンソール上に現れた謎の「AI分析」というボタン。興味本位でポチッと押した、あの瞬間の行動がすべての原因でした。

Elastic Beanstalk の仕様変更に物申したい

原因が判明してスッキリしたものの、一言言いたい。 「ユーザーに黙って裏で Bedrock を叩いて課金するなんて、ちょっとトラップが過ぎやしませんか!?」
調べてみると、さらに驚きの事実が判明しました。

勝手にBedrock権限が付与されている?

「そもそもBedrockのポリシーなんてアタッチしたっけ?」と思い Amazon Q に確認したところ、なんとElastic Beanstalkの標準管理ポリシー(AWSElasticBeanstalkWebTier など)に、最初から自動で Bedrock の実行権限(bedrock:InvokeModel)が含まれるよう仕様変更されていたのです。
AWS 公式が提供する「AI を活用した環境分析機能」のためとはいえ、事前アナウンスなしでポリシーが拡張され、ボタンワンクリックで他サービス(Bedrock)の課金が発生する動線は、正直ちょっと人騒がせだなと感じてしまいました。

【注意】「AI分析」ボタンが出現する条件

ちなみに、この「AI分析」ボタンはいつでも表示されているわけではありません。 ドキュメントによると、環境ヘルスが以下のステータス(条件)になった時だけ出現するそうです。

  • Warning(黄色)
  • Degraded(オレンジ)
  • Severe(赤)

トラブルシューティングの際、藁にもすがる思いで「AI分析」をうっかり押すと、裏で Claude Opus(または Nova モデル)が走り、しっかり課金されますのでご注意ください。

💡 対策オプション 開発環境などで勝手に Bedrock を呼ばれたくない場合は、カスタムポリシーを使って明示的に bedrock:InvokeModelDeny(拒否) に設定したインスタンスプロファイルを作成・適用することをおすすめします。

まとめ:Amazon Q、実はめちゃくちゃ使える奴だった

最初は「うっかり押しそうなボタンで課金するなんて…」と不満に思いましたが、今回の件で Amazon Q の評価が爆上がりしました。
本来なら、Cost Explorer を見て、CloudTrail の膨大なログから該当のイベント ID を探し、IAM ロールや EC2 の紐付けを自分で調査しなければならないところです。それをチャットで一言愚痴(?)を言っただけで、ここまで完璧なタイムラインと原因を特定してくれたのですから。
ちなみに、Amazon Q に「今回の質問って課金される?」と恐る恐る聞いてみたところ、

「いいえ、AWSコンソール内でのAmazon Qの使用は無料です。安心してご利用ください!」

と、優しい回答(しかも可愛い絵文字付き)をくれました。
みなさんも、AWS の請求で「身に覚えのない課金」を見つけた際は、パニックにならず、まずは AWS コンソールの左側にいる Amazon Q に相談してみてはいかがでしょうか?
想像以上の名探偵っぷりを発揮してくれますよ!

(参考ドキュメント: AWS Elastic Beanstalk – AI を活用した環境分析)