はじめに
AWS上で生成AIを用いた機能開発において利用される Amazon Bedrock について、 各LLMが一体どのくらい利用しているのか監視をするために Amazon Bedrock の機能の一つである アプリケーション推論プロファイルを用いた方法をご紹介します。
背景
AWSを用いた機能開発では、1つのAWSアカウント上に複数のシステムまたは機能をデプロイすることは少なくありません。
近年話題に挙がっている生成AIを搭載した機能でも同様に、 1つのAWSアカウント上で複数のLLMを利用することが想定されます。
Amazon Bedrock 上で利用する各LLMにはクォータ制限が設けられており、 制限を超えた際にはエラーレスポンスが返ってきます。
従って1つのAWS上で同じLLMを用いた機能が存在する場合には、 それぞれの機能でクォータを消費するので、最悪の場合一方の機能で大量のクォータを消費することで、突如他方の機能が使えなくなってしまう可能性が発生します。
そこで、今回はアプリケーション推論プロファイルを利用して機能単位でクォータの消費量を監視できるような仕組みを用意したので紹介いたします。
アプリケーション推論プロファイルとは
Amazon Bedrock のリソースの1つでコストとモデルの使用状況を追跡するために、 ユーザーが作成する推論プロファイルのことです。
1つのリージョンのみでの推論を指定するプロファイル以外にも、 複数のリージョンを跨ぐ推論(クロスリージョン推論)向けのプロファイルを作成することができます。
手順
アプリケーション推論プロファイルを作成する
アプリケーション推論プロファイルを作成します。
AWS マネジメントコンソール からは作成できないので、今回はAWS CloudFormationで作成してみました。
# hoge.yaml
AWSTemplateFormatVersion: '2010-09-09'
Description: Bedrock AIP Create
Resources:
HogeAIP:
Type: AWS::Bedrock::ApplicationInferenceProfile
Properties:
InferenceProfileName: hoge-amazon-bedrock-aip
ModelSource:
# クロスリージョン推論の場合(例:Claude Haiku 4.5 Global)
CopyFrom: arn:aws:bedrock:<任意のリージョン>:<任意のAWSアカウントID>:inference-profile/global.anthropic.claude-haiku-4-5-20250929-v1:0
Description: <アプリケーション推論プロファイルの説明>
Tags:
- Key: hoge
Value: hoge-aip
Outputs:
HogeAIP:
Description: HogeAIP ARN
Value:
Fn::GetAtt:
- HogeAIP
- InferenceProfileArn
ここでアプリケーション推論プロファイルにタグを付与しておくことで、 AWS Billing and Cost Management にてタグでフィルタリングすることができ、プロファイル単位でコストを確認することも可能です。
yamlファイルを AWS CloudFormation にて実行することで、アプリケーション推論プロファイルを作成することができます。
出力にアプリケーション推論プロファイルのARNが含まれているので記録しておきます。
アプリケーション推論プロファイルを利用する
Amazon Bedrock API での呼び出し時には記録しているARNの値を指定することでアプリケーション推論プロファイル経由でのLLM呼び出しが可能です。
# hoge.py
response = bedrock.converse(
modelId=<記録したアプリケーション推論プロファイルのARN>,
...
)
また、Amazon Bedrock Prompt Management でも作成したアプリケーション推論プロファイルを指定することも可能です。
監視設定
Amazon CloudWatch > メトリクス を確認すると Amazon Bedrock にて記録しておいたアプリケーション推論プロファイルのARNの末尾のIDが ModelId のリストにあります。
各メトリクス名の内容は以下のとおりです。
| メトリクス名 | 内容 |
|---|---|
| Invocations | 呼び出し回数 |
| InputTokenCount | 入力トークン数 |
| OutputTokenCount | 出力トークン数 |
上記のメトリクスを元に機能単位でのLLMの利用回数や利用量を確認することができ、 また、アラートを設定することで予期せぬ利用増加を検知することも可能です。
以上です。
これから Amazon Bedrock を利用して機能開発を行うどなたかに届いたら幸いです。
最後まで読んでいただきありがとうございます。

