アプリケーション推論プロファイルでBedrockモデルを特定リージョン実行 - Claude Sonnet 4を東京だけで動かす
Claude Sonnet 4等の新しい基盤モデルをAmazon Bedrockの InvokeModel
/Converse
APIで呼び出す際、モデルIDの代わりに推論プロファイルの指定が求められる場合があります。
本記事では、 アプリケーション推論プロファイル を利用し、特定のリージョンでのみ、モデルを実行する方法を紹介します。
AWSがデフォルトで提供するクロスリージョン推論プロファイルを利用すると、Claude Sonnet 4.5のように東京・大阪リージョンと国内に閉じたものもあれば、Claude Sonnet 4 のようにアジア広域で実行させるものもあります。
特に、後者のようなモデルに対して、リージョンを限定して実行したい場合におすすめです。
背景
Claude Sonnet 4のような最近の基盤モデルをBedrock の InvokeModel
/Converse
APIなどで呼び出すと、オンデマンド実行には対応しておらず、推論プロファイルで呼び出してください、というエラーメッセージが表示されます。
ValidationException
An error occurred (ValidationException) when calling the Converse operation: Invocation of model ID anthropic.claude-sonnet-4-20250514-v1:0 with on-demand throughput isn’t supported. Retry your request with the ID or ARN of an inference profile that contains this model.
推論プロファイルというのは、モデルとルーティング可能な呼び出し先リージョンを定義するAmazon Bedrockのリソースです。この推論プロファイルは、以下の様な用途で使われます。
- 使用状況のメトリクス
- コスト配分タグ
- クロスリージョン推論
モデル実行を複数のリージョンにルーティングしてスループットとパフォーマンスを向上させるのが最後の クロスリージョン推論 であり、AWSはこのような推論プロファイルをあらかじめ用意しています。
Claude Sonnet 4.5 の場合、日本国内に閉じた JP Anthropic Claude Sonnet 4.5 というプロファイルが存在し、JP のプリフィックスの通り 以下の 国内リージョンにのみルーティング されます
- ap-northeast-1(東京)
- ap-northeast-3(大阪)
Claude Sonnet 4 の場合、日本国内に閉じたプロファイルは存在せず、もう少し広域のアジアエリアに閉じた APAC Claude Sonnet 4 という推論プロファイルが存在し、以下のリージョンにルーティングされます。
- ap-northeast-1(東京)
- ap-northeast-2(韓国)
- ap-northeast-3(大阪)
- ap-south-1(ムンバイ)
- ap-south-2(ハイデラバード)
- ap-southeast-1(シンガポール)
- ap-southeast-2(シドニー)
- ap-southeast-4(メルボルン)
ただし、次の記事にあるように、クロスリージョン推論プロファイルを利用すると、呼び出し元のリージョンでモデルアクセスを有効化するだけで、グルーピングされた全てのリージョンが呼び出し対象となってしまいます。許可リストや拒否リストのように、特定のリージョンだけを対象とする機能は提供されていません。
Amazon Bedrock クロスリージョン推論の理解を深める | DevelopersIO
そのため、 モデル実行は日本国内に限る といった要件がある場合、APAC Claude Sonnet 4 のような 広域のクロスリージョン推論プロファイル を採用できません。
実は、Bedrockの推論プロファイルは2種類あります。
1つ目が、「JP Anthropic Claude Sonnet 4.5」のようなAWSが提供するクロスリージョン推論プロファイルです(system-defined)。
もう一つが、ユーザーが作成するアプリケーション推論プロファイルです(application-defined)。
後者のアプリケーション推論プロファイルを利用すると、特定のリージョンでのみモデルを実行できます。
やってみる
Claude Sonnet 4.5 の場合は、素直に 日本国内クロスリージョン推論プロファイル の「JP Anthropic Claude Sonnet 4.5」を呼び出しましょう。
以下では、Claude Sonnet 4 を例に、東京リージョン限定で実行する アプリケーション推論プロファイル を作ってみます。
アプリケーション推論プロファイルを作る
非常に大事な点として、 アプリケーション推論プロファイルはコンソールから操作ができません。
そのため、AWS CLIやSDK等を利用してAPI経由で操作する必要があります。
利用したいモデルを model-source
引数に指定して bedrock::create-inference-profile
API で推論プロファイルを作成するだけです。
Claude Sonnet 4の場合は、以下の通りです。
$ aws bedrock create-inference-profile \
--inference-profile-name "claude-4-sonnet-tokyo" \
--model-source '{
"copyFrom": "arn:aws:bedrock:ap-northeast-1::foundation-model/anthropic.claude-sonnet-4-20250514-v1:0"
}' \
--description "Claude 4 Sonnet for Tokyo region only" \
--region ap-northeast-1
{
"inferenceProfileArn": "arn:aws:bedrock:ap-northeast-1:123456789012:application-inference-profile/3qqmemokowuf",
"status": "ACTIVE"
}
このARNを控えましょう。
アプリケーション推論プロファイルを使う
Bedrock の InvokeModel
/Converse
APIの ModelId に作成したアプリケーション推論プロファイルのARNを渡すだけで利用できます。
import boto3
bedrock = boto3.client("bedrock-runtime")
# XXX ここに先ほど取得したApplication Inference ProfileのARNを記載
profile_arn = "arn:aws:bedrock:ap-northeast-1:123456789012:application-inference-profile/3qqmemokowuf"
response = bedrock.converse(
modelId=profile_arn,
messages=[{"role": "user", "content": [{"text": "Who are you?"}]}],
)
for content in response["output"]["message"]["content"]:
print(content["text"])
制限事項:アプリケーション推論プロファイルのクロスリージョン化はできない
アプリケーション推論プロファイルは、本記事で紹介した「特定のモデルARNを指定する方法」の他に、「既存のクロスリージョン推論プロファイルを指定する方法」があります。
前者はリージョンが一つに制限され、後者はグルーピングされた全てのリージョンが呼び出し対象となります。
Claude Sonnet 4.5の「JP Anthropic Claude Sonnet 4.5」のように、システム定義のクロスリージョン推論プロファイルが定義されていない場合、ユーザーが東京と大阪リージョンだけをターゲットとしたアプリケーション推論プロファイルを作成できないことにご注意ください。
最後に
本記事では、データレジデンシーやコンプライアンス要件等により、モデルを特定のリージョン・エリアででのみ実行が求められるケースがあります。
Claude Sonnet 4.5 の場合、日本国内向けのクロスリージョン推論プロファイル の「JP Anthropic Claude Sonnet 4.5」を使うとよいでしょう。
Claude Sonnet 4 などの場合、本記事のようにAmazon Bedrockの アプリケーション推論プロファイルを使って、特定リージョンでのみ実行 しましょう。
参考
- Amazon Bedrock クロスリージョン推論の理解を深める | DevelopersIO
- Introducing Claude Sonnet 4.5 in Amazon Bedrock: Anthropic’s most intelligent model, best for coding and complex agents | AWS News Blog
- Create an application inference profile - Amazon Bedrock
- Increase throughput with cross-Region inference - Amazon Bedrock
- Migrate from Anthropic’s Claude 3.5 Sonnet to Claude 4 Sonnet on Amazon Bedrock | Artificial Intelligence