Amazon Bedrock 上の Claude Code
Amazon Bedrock を通じた Claude Code の設定方法(セットアップ、IAM 設定、トラブルシューティングを含む)について学習します。
export const ContactSalesCard = ({surface}) => {
const utm = content => utm_source=claude_code&utm_medium=docs&utm_content=${surface}_${content};
const iconArrowRight = (size = 13) => ;
const STYLES = .cc-cs { --cs-slate: #141413; --cs-clay: #d97757; --cs-clay-deep: #c6613f; --cs-gray-000: #ffffff; --cs-gray-700: #3d3d3a; --cs-border-default: rgba(31, 30, 29, 0.15); font-family: inherit; } .dark .cc-cs { --cs-slate: #f0eee6; --cs-gray-000: #262624; --cs-gray-700: #bfbdb4; --cs-border-default: rgba(240, 238, 230, 0.14); } .cc-cs-card { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 16px; margin: 0; background: var(--cs-gray-000); border: 0.5px solid var(--cs-border-default); border-radius: 8px; flex-wrap: wrap; } .cc-cs-text { font-size: 13px; color: var(--cs-gray-700); line-height: 1.5; flex: 1; min-width: 240px; } .cc-cs-text strong { font-weight: 550; color: var(--cs-slate); } .cc-cs-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; } .cc-cs-btn-clay { display: inline-flex; align-items: center; gap: 8px; background: var(--cs-clay-deep); color: #fff; border: none; border-radius: 8px; padding: 8px 14px; font-size: 13px; font-weight: 500; transition: background-color 0.15s; white-space: nowrap; } .cc-cs-btn-clay:hover { background: var(--cs-clay); } .cc-cs-btn-ghost { display: inline-flex; align-items: center; gap: 8px; background: transparent; color: var(--cs-gray-700); border: 0.5px solid var(--cs-border-default); border-radius: 8px; padding: 8px 14px; font-size: 13px; font-weight: 500; } .cc-cs-btn-ghost:hover { background: rgba(0, 0, 0, 0.04); } .dark .cc-cs-btn-ghost:hover { background: rgba(255, 255, 255, 0.04); } @media (max-width: 720px) { .cc-cs-actions { width: 100%; } };
return
https://claude.com/pricing?${utm('view_plans')}#plans-business} className="cc-cs-btn-ghost">
View plans
<a href={https://claude.com/contact-sales?${utm('contact_sales')}} className="cc-cs-btn-clay">
Contact sales {iconArrowRight()}
前提条件
Claude Code を Amazon Bedrock で設定する前に、以下を確認してください。
- Amazon Bedrock アクセスが有効になっている AWS アカウント
- Amazon Bedrock で目的の Claude モデル(例:Claude Sonnet 4.6)へのアクセス
- AWS CLI がインストールされ、設定されていること(オプション - 認証情報を取得する別のメカニズムがない場合のみ必要)
- 適切な IAM 権限
Amazon Bedrock 認証情報を使用してサインインするには、以下の Amazon Bedrock でサインインに従ってください。チーム全体に Claude Code をデプロイするには、手動でセットアップの手順を使用し、ロールアウト前にモデルバージョンをピン留めしてください。
Bedrock でサインイン
AWS 認証情報を持っていて、Amazon Bedrock を通じて Claude Code の使用を開始したい場合、ログインウィザードがその手順を案内します。AWS 側の前提条件はアカウントごとに 1 回完了します。ウィザードが Claude Code 側を処理します。
AWS アカウントで Anthropic モデルを有効にする
Amazon Bedrock コンソールで、モデルカタログを開き、Anthropic モデルを選択して、ユースケースフォームを送信します。送信直後にアクセスが許可されます。AWS Organizations についてはユースケースの詳細を送信を、権限についてはIAM 設定を参照してください。
Claude Code を起動して Amazon Bedrock を選択する
claude を実行します。ログインプロンプトで、3rd-party platform を選択してから、Amazon Bedrock を選択します。既にサインインしていてチャットプロンプトが表示されている場合は、/setup-bedrock を実行してウィザードを開きます。CLAUDE_CODE_USE_BEDROCK=1 が設定されるまで、Claude Code はコマンドメニューからコマンドを非表示にします。完全に入力してください。
ウィザードプロンプトに従う
AWS への認証方法を選択します。~/.aws ディレクトリから検出された AWS プロファイル、Amazon Bedrock API キー、アクセスキーとシークレット、または環境に既に存在する認証情報です。ウィザードはリージョンを要求し、アカウントが呼び出せる Claude モデルを確認し、それらをピン留めできます。結果はユーザー設定ファイルの env ブロックに保存されるため、環境変数を自分でエクスポートする必要はありません。
サインイン後、いつでも /setup-bedrock を実行してウィザードを再度開き、認証情報、リージョン、またはモデルピンを変更できます。モデルピンステップは、現在ピン留めされているモデルから開始します。ウィザードは ~/.claude/settings.json に書き込むか、CLAUDE_CONFIG_DIR が設定されている場合は $CLAUDE_CONFIG_DIR/settings.json に書き込みます。
手動でセットアップする
ウィザードの代わりに環境変数を使用して Amazon Bedrock を設定する場合(例えば CI やスクリプト化されたエンタープライズロールアウト)、以下の手順に従ってください。
1. ユースケースの詳細を送信する
Anthropic モデルを初めて呼び出す前に、ユースケースの詳細を送信してください。これは AWS アカウントごとに 1 回行います。
- 以下に説明する適切な IAM 権限があることを確認してください
- Amazon Bedrock コンソールに移動します
- Model catalog から Anthropic モデルを選択します
- ユースケースフォームを完成させます。アクセスは送信直後に付与されます。
AWS Organizations を使用している場合、PutUseCaseForModelAccess API を使用して管理アカウントからフォームを 1 回送信できます。この呼び出しには bedrock:PutUseCaseForModelAccess IAM 権限が必要です。承認は自動的に子アカウントに拡張されます。
2. AWS 認証情報を設定する
Claude Code は AWS SDK のデフォルト認証情報チェーンを使用します。以下のいずれかの方法を使用して認証情報を設定してください。
オプション A: AWS CLI 設定
aws configure
オプション B: 環境変数(アクセスキー)
export AWS_ACCESS_KEY_ID=your-access-key-id
export AWS_SECRET_ACCESS_KEY=your-secret-access-key
export AWS_SESSION_TOKEN=your-session-token
オプション C: 環境変数(SSO プロファイル)
これらのコマンドを実行する前に、your-profile-name を AWS プロファイルの名前に置き換えてください。
aws sso login --profile=your-profile-name
export AWS_PROFILE=your-profile-name
Claude Code は、プロファイルの sso_region で指定された IAM Identity Center リージョンからロール認証情報をリクエストします。これは Amazon Bedrock を実行するリージョンと一致する必要はありません。v2.1.207 では、Amazon Bedrock リージョンが sso_region をオーバーライドしていたため、IAM Identity Center インスタンスが別のリージョンにあるプロファイルは Session token not found or invalid エラーで認証に失敗しました。
オプション D: AWS Management Console 認証情報
aws login
aws login について詳しく学ぶ。
オプション E: Amazon Bedrock API キー
export AWS_BEARER_TOKEN_BEDROCK=your-bedrock-api-key
Amazon Bedrock API キーは、完全な AWS 認証情報を必要としない、より簡単な認証方法を提供します。Amazon Bedrock API キーについて詳しく学ぶ。
認証情報キャッシングと解決タイムアウト
Claude Code は AWS デフォルト認証情報プロバイダーチェーンを 1 回解決し、解決された認証情報をメモリに保持します。認証情報の有効期限の 5 分前まで、または有効期限がない場合は 1 時間の間、それらを再利用するため、SSO でサポートされたプロファイルは認証情報の有効期間ごとに約 1 回 IAM Identity Center から認証情報をリクエストします。API からの認証情報エラーはキャッシュをクリアし、再試行は新しい認証情報を解決します。Claude Code v2.1.207 以降が必要です。
キャッシュは上記のすべての認証情報オプションをカバーしていますが、Amazon Bedrock API キーはプロバイダーチェーンを使用しないため除外されます。代わりにすべてのリクエストでチェーンを解決するには、CLAUDE_CODE_SKIP_AWS_CRED_CACHE=1 を設定してください。
チェーンの各解決は 60 秒後にタイムアウトします。チェーン内のステップが停止した場合(例えば、受け取ることができない入力を待つ credential_process ヘルパー)、リクエストは AWS default-chain credential resolve timed out で失敗します。チェーンが正当に長い時間が必要なインタラクティブサインイン(aws-vault のようなラッパーを使用した MFA 付きブラウザベースの SSO など)を実行する場合、CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS でミリ秒単位で制限を引き上げてください。v2.1.207 より前では、停止した認証情報解決はリクエストを無期限に待機させていました。
Amazon Bedrock API キーで認証する場合を除き、セットアップウィザードは認証情報を検証する際に行う各 AWS 呼び出しに同じ制限を適用し、各モデルチェック前の認証情報ルックアップにも適用します。認証情報検証中に、制限を超えるチェックは Timed out after 60s waiting for AWS で失敗します。
高度な認証情報設定
Claude Code は AWS SSO および企業 ID プロバイダーの自動認証情報更新をサポートしています。これらの設定を Claude Code 設定ファイルに追加してください(ファイルの場所については Settings を参照)。
これら 2 つの設定には異なるトリガー条件があります。
awsAuthRefresh: Claude Code がタイムスタンプに基づいてローカルで AWS 認証情報が期限切れであることを検出した場合、または API が認証情報エラーを返した場合にのみ実行され、更新された認証情報でリクエストを再試行します。awsCredentialExport: セッション開始時および各認証情報リロード時に実行されます。AWS デフォルト認証情報プロバイダーチェーン内の認証情報がまだ有効な場合でも実行されます。Amazon Bedrock アカウントがデフォルトプロバイダーチェーンが解決するものと異なるクロスアカウント認証情報を必要とする場合に使用してください。
awsAuthRefresh コマンドを実行する前に、Claude Code は STS GetCallerIdentity 呼び出しを行って、認証情報が実際に期限切れであることを確認し、認証情報がまだ機能している場合はコマンドをスキップします。Claude Code はこのチェックを プロキシ設定 を通じて送信し、HTTPS_PROXY と NO_PROXY を尊重します。v2.1.239 より前では、Claude Code はこのチェックを直接送信し、プロキシを通じてのみエグレスを許可するネットワークでスタートアップでハングしていました。
設定例
{
"awsAuthRefresh": "aws sso login --profile myprofile",
"env": {
"AWS_PROFILE": "myprofile"
}
}
設定の説明
awsAuthRefresh: .aws ディレクトリを変更するコマンド(認証情報、SSO キャッシュ、または設定ファイルの更新など)に使用してください。コマンドの出力はユーザーに表示されますが、インタラクティブ入力はサポートされていません。これは CLI が URL またはコードを表示し、ブラウザで認証を完了するブラウザベースの SSO フローに適しています。
awsCredentialExport: .aws を変更できず、認証情報を直接返す必要がある場合にのみ使用してください。出力はサイレントにキャプチャされ、ユーザーに表示されません。コマンドは次の形式で JSON を出力する必要があります。
{
"Credentials": {
"AccessKeyId": "value",
"SecretAccessKey": "value",
"SessionToken": "value",
"Expiration": "2026-01-01T00:00:00Z"
}
}
aws configure export-credentials --format process からのフラット出力も受け入れられます。同じキーが Credentials の下にネストされるのではなく、トップレベルにあります。
Expiration はオプションです。コマンドが有効な ISO 8601 Expiration を返すと、Claude Code はその時刻の 5 分前まで認証情報をキャッシュします。それがない場合、認証情報は 1 時間キャッシュされます。
awsCredentialExport を awsAuthRefresh なしで設定する場合、Claude Code はエクスポートされた認証情報を直接使用し、スタートアップで AWS デフォルト認証情報プロバイダーチェーンを再解決しません。Claude Code v2.1.206 以降が必要です。
3. Claude Code を設定する
Amazon Bedrock を有効にするには、以下の環境変数を設定してください。
# Bedrock 統合を有効にする
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=us-east-1 # AWS プロファイルがすでにリージョンを設定している場合はオプション
# オプション: 小型/高速モデル(Bedrock と Mantle)の AWS リージョンをオーバーライドします。
# Bedrock では ANTHROPIC_DEFAULT_HAIKU_MODEL
# または非推奨の ANTHROPIC_SMALL_FAST_MODEL が設定されていない場合、効果がありません。
export ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION=us-west-2
# オプション: カスタムエンドポイントまたはゲートウェイ用に Bedrock エンドポイント URL をオーバーライドします
# export ANTHROPIC_BEDROCK_BASE_URL=https://bedrock-runtime.us-east-1.amazonaws.com
Claude Code で Amazon Bedrock を有効にする場合、以下の点に注意してください。
-
AWS_REGIONを設定する必要があるのは、AWS プロファイルのリージョンをオーバーライドする場合、またはプロファイルにリージョンがない場合のみです。Claude Code はこの順序でリージョンを解決します。AWS_REGIONAWS_DEFAULT_REGION- AWS 共有認証情報ファイルから最初に読み込まれ、次に共有設定ファイルから読み込まれるアクティブな AWS プロファイルに設定された
region(AWS SDK の優先順位と一致) us-east-1
これらのソースからの値がリージョン名のような形をしていない場合、Claude Code はそれを未設定として扱い、順序を続けます。例えば、Claude Code はスラッシュ、ドット、またはスペースを含む値を未設定として扱います。
アクティブなプロファイルは、設定されている場合は
AWS_PROFILE、そうでない場合はdefaultです。AWS_SHARED_CREDENTIALS_FILEまたはAWS_CONFIG_FILEを設定して、デフォルト以外のファイルパスを指定してください。/statusを実行して、解決されたリージョンを確認してください。リージョンが AWS 設定ファイルまたはデフォルトフォールバックから来た場合、Claude Code は/status出力でソースも記載します。 -
Amazon Bedrock を使用する場合、認証は AWS 認証情報を通じて処理されるため、
/logoutコマンドは利用できません。 -
WebSearch ツールは Amazon Bedrock では利用できません。WebSearch ツールの動作を参照してください。
-
AWS_PROFILEのような他のプロセスにリークしたくない環境変数に設定ファイルを使用できます。詳細については Settings を参照してください。
4. モデルバージョンをピンする
複数のユーザーにデプロイする場合、特定のモデルバージョンをピンしてください。ピンしない場合、sonnet や opus などのモデルエイリアスは Claude Code の Amazon Bedrock 用の組み込みデフォルトに解決されます。これは最新リリースより遅れる可能性があり、アカウントでまだ利用できない場合があります。Claude Code はスタートアップ時にデフォルトが利用できない場合、以前のモデルまたは下位層のモデルにフォールバックしますが、ピンすることでユーザーが新しいモデルに移行するタイミングを制御できます。
これらの環境変数を特定の Amazon Bedrock モデル ID に設定してください。
ANTHROPIC_DEFAULT_OPUS_MODEL がない場合、Amazon Bedrock の opus エイリアスは Opus 5.5 に解決され、ANTHROPIC_DEFAULT_SONNET_MODEL がない場合、sonnet エイリアスは Sonnet 4.5 に解決されます。この例では各エイリアスを特定のバージョンにピンしています。
export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'
export ANTHROPIC_DEFAULT_SONNET_MODEL='us.anthropic.claude-sonnet-4-6'
export ANTHROPIC_DEFAULT_HAIKU_MODEL='us.anthropic.claude-haiku-4-5-20251001-v1:0'
これらの ID は us. クロスリージョン推論プロファイルプレフィックスを使用しています。別のリージョンプレフィックスまたはアプリケーション推論プロファイルを使用する場合は、それに応じて調整してください。AWS GovCloud リージョンでは、us-gov. プレフィックスを使用してください。
組み込みデフォルトモデルを保持し、優先プレフィックスのみを変更するには、ピンの代わりに ANTHROPIC_BEDROCK_REGION_PREFIX を設定してください。opus エイリアスが解決する内容の違いを示します。
| 設定内容 | opus エイリアスが解決する内容 |
|---|---|
ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8' |
us.anthropic.claude-opus-4-8、ピンした正確な ID |
ANTHROPIC_BEDROCK_REGION_PREFIX=eu |
eu.anthropic.claude-opus-5-5、優先プレフィックス付きの組み込みデフォルト |
現在および従来のモデル ID については、Models overview を参照してください。ピン環境変数の完全なリストについては、Model configuration を参照してください。
ピン変数が設定されていない場合、Claude Code はこれらのデフォルトモデルを使用します。
| モデルタイプ | デフォルトモデル |
|---|---|
| プライマリモデル | Opus 5.5、例えば us-* リージョンの us.anthropic.claude-opus-5-5 |
| 小型/高速モデル | Sonnet 4.5、例えば us-* リージョンの us.anthropic.claude-sonnet-4-5-20250929-v1:0 |
セッションタイトル生成などのバックグラウンドタスクは、小型/高速モデル(通常は Haiku クラスモデル)を使用します。Amazon Bedrock では、すべてのアカウントまたはリージョンで Haiku が有効になっていない可能性があるため、Claude Code はバックグラウンドタスクにデフォルト Sonnet モデルを使用します。2 つの選択がどのモデルがそれらを実行するかを変更します。
--model、ANTHROPIC_MODEL、またはmodel設定でプライマリモデルを選択する場合、バックグラウンドタスクはそのモデルを使用します。Claude Code がANTHROPIC_DEFAULT_MODELで設定したモデルでセッションを開始する場合、バックグラウンドタスクもそのモデルを使用します。ANTHROPIC_DEFAULT_SONNET_MODELなしでANTHROPIC_DEFAULT_OPUS_MODELを設定することも、組み込み Sonnet モデルが独自の Opus を操舵するアカウントで有効になっていない可能性があるため、選択としてカウントされます。- バックグラウンドタスクに Haiku を使用するには、
ANTHROPIC_DEFAULT_HAIKU_MODELをアカウントで利用可能なモデル ID に設定してください。
Opus モデルは Sonnet モデルより高いトークンあたりの価格を持つため、プライマリモデルをピンしないデプロイメントは v2.1.207 以降に更新されると Opus レートで請求されます。Sonnet 4.5 をプライマリモデルとして保持するには、ANTHROPIC_MODEL をその完全なモデル ID に設定してください。ANTHROPIC_DEFAULT_SONNET_MODEL で操舵され、ANTHROPIC_DEFAULT_OPUS_MODEL を設定しないデプロイメントは、操舵された Sonnet モデルをデフォルトとして保持します。
v2.1.280 より前では、Amazon Bedrock のプライマリモデルは Opus 5 にデフォルト設定され、opus エイリアスは v2.1.219 から Opus 5 に解決されました。v2.1.207 から v2.1.218 では、Amazon Bedrock のプライマリモデルは Opus 4.8 にデフォルト設定され、opus エイリアスは Opus 4.8 に解決されました。v2.1.207 より前では、プライマリモデルは Sonnet 4.5 にデフォルト設定され、opus エイリアスは Opus 4.6 に解決され、バックグラウンドタスクは常にプライマリモデルを使用していました。
モデルをさらにカスタマイズするには、以下のいずれかの方法を使用してください。
# 推論プロファイル ID を使用する
export ANTHROPIC_MODEL='us.anthropic.claude-sonnet-4-6'
export ANTHROPIC_DEFAULT_HAIKU_MODEL='us.anthropic.claude-haiku-4-5-20251001-v1:0'
# アプリケーション推論プロファイル ARN を使用する
export ANTHROPIC_MODEL='arn:aws:bedrock:us-east-2:your-account-id:application-inference-profile/your-model-id'
# オプション: 必要に応じてプロンプトキャッシングを無効にする
# export DISABLE_PROMPT_CACHING=1
# オプション: デフォルトの 5 分の代わりに 1 時間のプロンプトキャッシュ TTL をリクエストする
# export ENABLE_PROMPT_CACHING_1H=1
1 時間のキャッシュ TTL はデフォルトの 5 分より高いレートで請求されます。キャッシュの有効期間を参照してください。メイン会話と Claude Code が外部で行うリクエストに異なる TTL を設定するには、TTL を自分で選択してください。
プロンプトキャッシングはすべての Amazon Bedrock リージョンで利用できない場合があります。キャッシュトークンカウントがゼロのままの場合、Amazon Bedrock ドキュメントの サポートされているモデル、リージョン、および制限を確認してください。
各モデルバージョンを推論プロファイルにマップする
ANTHROPIC_DEFAULT_*_MODEL 環境変数は、モデルファミリーごとに 1 つの推論プロファイルを設定します。組織が同じファミリーの複数のバージョンを /model ピッカーで公開し、それぞれを独自のアプリケーション推論プロファイル ARN にルーティングする必要がある場合は、設定ファイルの modelOverrides 設定を使用してください。
この例は 4 つの Opus バージョンを異なる ARN にマップするため、ユーザーは組織の推論プロファイルをバイパスすることなくそれらを切り替えることができます。
{
"modelOverrides": {
"claude-opus-4-7": "arn:aws:bedrock:us-east-2:123456789012:application-inference-profile/opus-47-prod",
"claude-opus-4-6": "arn:aws:bedrock:us-east-2:123456789012:application-inference-profile/opus-46-prod",
"claude-opus-4-5-20251101": "arn:aws:bedrock:us-east-2:123456789012:application-inference-profile/opus-45-prod",
"claude-opus-4-1-20250805": "arn:aws:bedrock:us-east-2:123456789012:application-inference-profile/opus-41-prod"
}
}
ユーザーが /model でこれらのバージョンのいずれかを選択すると、Claude Code はマップされた ARN で Amazon Bedrock を呼び出します。同じマッピングは --model または ANTHROPIC_MODEL を通じて Anthropic モデル ID を直接渡す場合に適用されます。オーバーライドのないバージョンは、組み込み Amazon Bedrock モデル ID またはスタートアップで検出された一致する推論プロファイルにフォールバックします。v2.1.200 より前では、--model と ANTHROPIC_MODEL の値はオーバーライドマップを通さずに Amazon Bedrock に到達していました。オーバーライドが availableModels および他のモデル設定とどのように相互作用するかについては、Override model IDs per version を参照してください。
スタートアップモデルチェック
Claude Code が Amazon Bedrock で設定されて起動する場合、使用予定のモデルがアカウントでアクセス可能であることを確認します。
現在の Claude Code デフォルトより古いモデルバージョンをピン留めしており、アカウントが新しいバージョンを呼び出せる場合、Claude Code はピンを更新するよう促します。受け入れると、新しいモデル ID がユーザー設定ファイルに書き込まれ、Claude Code が再起動します。拒否すると、次のデフォルトバージョン変更まで記憶されます。アプリケーション推論プロファイル ARN を指す pin は、管理者によって管理されるため、スキップされます。
モデルをピン留めしておらず、現在のデフォルトがアカウントで利用できない場合、Claude Code は現在のセッションにフォールバックし、通知を表示します。デフォルトモデルの以前のバージョンを最初に試し、デフォルトが Opus モデルで Opus バージョンが利用できない場合、デフォルト Sonnet モデルにフォールバックします。フォールバックは保持されません。Amazon Bedrock アカウントで新しいモデルを有効にするか、バージョンをピン留めして選択を永続的にしてください。
特定の Sonnet または Opus バージョンでセッションを開始する場合(例えば --model、ANTHROPIC_MODEL、またはmodel 設定を使用)、そのバージョンは一致する sonnet または opus エイリアスのセッションのピン留めされたデフォルトとして機能します。Claude Code は、設定したモデルが置き換える組み込みデフォルトの可用性チェックをスキップし、設定したモデルで起動し、フォールバック通知はありません。
opus などのモデルエイリアスはピンとして機能せず、Claude Code が認識しないモデル ID(アプリケーション推論プロファイル ARN など)も同様です。
これらのチェックがアカウントが呼び出せないモデルを見つけた場合、Claude Code はこのマシンで最大 1 日間その拒否を記憶し、その時間中は Amazon Bedrock に再度問い合わせることなく記憶されたモデルをスキップして起動します。Claude Code は、現在のデフォルトモデルの記憶された拒否を、最後のチェック以降 10 分が経過すると起動時に再度チェックするため、管理者が再度有効にしたデフォルトが戻ります。メモリをオフにするには、CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY=1を設定してください。
組織がモデルの許可リストを強制する場合
管理設定で enforceAvailableModels を設定すると、スタートアップモデルチェックは availableModels リストで許可されたモデルのみを使用します。これは Amazon Bedrock Invoke API に適用され、Claude Code v2.1.287 以降が必要です。enforceAvailableModels のないリストでは、これらのチェックは制限されません。
チェックは各エントリを、送信する推論プロファイル ID(リージョンプレフィックスを含む)と比較するため、リストはそれらの ID で記述してください。この例では、モデルが us. プロファイルに解決されるデプロイに対して Opus 4.8 と Sonnet 4.5 を許可します。
{
"availableModels": ["us.anthropic.claude-opus-4-8", "us.anthropic.claude-sonnet-4-5-20250929-v1:0"],
"enforceAvailableModels": true
}
エイリアス、バージョンプレフィックス、modelOverrides エントリについては、サードパーティデプロイ用にモデルをピン留めするを参照してください。
モデルがセッション中に無効化される場合
セッションが実行されているモデルへのアカウントアクセスが失われた場合(例えば、管理者が Amazon Bedrock アカウントでそれを無効化した場合)、Claude Code は各リクエストが失敗する代わりにセッションを別のモデルに切り替え、Switched to <fallback> because <model> is not available を表示します。スタートアップフォールバックと同じモデルを試します。同じティアの以前のバージョンを最初に試し、Opus セッションで Opus バージョンが利用できない場合、デフォルト Sonnet モデルを試します。
切り替えは、ピン留めしていないティアにのみ適用されます。これはスタートアップフォールバックと同じ条件です。選択した特定のバージョン、またはアプリケーション推論プロファイル ARNでセッションを実行している場合、そのモデルを保持し、フォールバックモデルチェーンがないため、リクエストは失敗します。自動モードでは、Claude Code は Amazon Bedrock で自動モードがサポートするモデルにのみ切り替えます。それらのモデルも利用できない場合、リクエストはAWS 認証失敗で失敗し、モデルを有効にするためのヒントが表示されます。
設定したフォールバックモデルチェーンはティア切り替えを置き換えます。これらの拒否では Claude Code は設定したフォールバックに切り替えます。拒否されたリクエストが切り替わるのではなく失敗するようにするには、CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1を設定してください。設定したフォールバックチェーンはこれらの拒否で切り替わります。すべての拒否されたリクエストが失敗するようにしたい場合は、チェーンも削除してください。
クロスリージョン推論プロファイルプレフィックス
Amazon Bedrock の Invoke API では、Claude Code は組み込みのデフォルトモデルを クロスリージョン推論プロファイル ID に解決します。独自の推論プロファイルを通じてモデルバージョンをルーティングするには、各モデルバージョンを推論プロファイルにマップする を参照してください。このテーブルは、解決された各 AWS リージョンに対して Claude Code が優先するプレフィックスを示しています。
| AWS リージョン | プレフィックス |
|---|---|
us-gov-* (AWS GovCloud) |
us-gov. |
us-* |
us. |
eu-* |
eu. |
ap-* |
apac. |
| その他すべてのリージョン | global. |
ANTHROPIC_BEDROCK_REGION_PREFIX を設定して、Claude Code が最初に試すプレフィックスを選択します。Claude Code がプロファイルの可用性を確認でき、モデルに一致するプロファイルが見つからない場合、以下の解決順序に従ってフォールバックします。有効な値は us、eu、apac、jp、au、および global です。たとえば、アカウントに global. プロファイルが有効になっているが、Claude Code が AWS リージョンから地理的に固有のプロファイルを導出する場合は、global に設定します。Claude Code v2.1.224 以降が必要です。
この例は、デフォルトモデルを global. プロファイルを通じてルーティングします。
export ANTHROPIC_BEDROCK_REGION_PREFIX=global
# us-* リージョンでは、プライマリモデルは
# us.anthropic.claude-opus-5-5 の代わりに
# global.anthropic.claude-opus-5-5 に解決されます
優先プレフィックスは保証ではなく、リージョンから来ているか変数から来ているかに関わらず、単なる優先度です。Claude Code がそれを適用する方法は、アカウント内のプロファイル可用性を確認できるかどうかによって異なります。
- Claude Code がアカウント内の 推論プロファイルをリストできる 場合、各モデルを次の順序で解決します。
- 優先プレフィックスを持つプロファイル。
- そのプレフィックスを持つプロファイルがないモデルの場合、一致するプロファイル。
- 一致するプロファイルがないモデルの場合、優先プレフィックスを持つ組み込みモデル ID。Claude Code はこのステップで可用性を確認せずにこの ID を適用します。スタートアップモデルチェック はセッションのデフォルトモデルをカバーします。
- プロファイル検出が利用できない場合、Claude Code は可用性を確認せずにプレフィックスを適用します。アカウントにそのプレフィックスを持つ推論プロファイルが有効になっていない場合、リクエストは 400 エラーで失敗します。
Claude Code は、自分で設定した Amazon Bedrock 推論プロファイル ID または ARN、または modelOverrides 値を書き直しません。Anthropic 形式のモデル ID は /model ピッカーと同じマッピング を通じて解決されます。Claude Code は 2 つのケースで変数を無視します。
- AWS GovCloud リージョンでは、Claude Code は常に
us-gov.を使用します。これは GovCloud パーティション内でルーティングする唯一のプレフィックスです。 - 有効な値の 1 つではない値を設定した場合、Claude Code はリージョン導出の優先プレフィックスにフォールバックします。
IAM 設定
Claude Code に必要な権限を持つ IAM ポリシーを作成します。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowModelAndInferenceProfileAccess",
"Effect": "Allow",
"Action": [
"bedrock:InvokeModel",
"bedrock:InvokeModelWithResponseStream",
"bedrock:ListInferenceProfiles",
"bedrock:GetInferenceProfile"
],
"Resource": [
"arn:aws:bedrock:*:*:inference-profile/*",
"arn:aws:bedrock:*:*:application-inference-profile/*",
"arn:aws:bedrock:*:*:foundation-model/*"
]
},
{
"Sid": "AllowMarketplaceSubscription",
"Effect": "Allow",
"Action": [
"aws-marketplace:ViewSubscriptions",
"aws-marketplace:Subscribe"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:CalledViaLast": "bedrock.amazonaws.com"
}
}
}
]
}
より制限的な権限の場合は、リソースを特定の推論プロファイル ARN に制限できます。
bedrock:GetInferenceProfile により、Claude Code はアプリケーション推論プロファイル ARNをそのバッキング基盤モデルに解決でき、そのモデルに対して正しいリクエスト形状を選択するために使用されます。
トークンにこの権限がない場合、Claude Code は代替形状で 1 回再試行することで自動的に復旧するため、リクエストは成功しますが、新しいモデルが追加されるたびに追加のラウンドトリップが発生します。権限を付与することで再試行を回避できます。これは AWS_BEARER_TOKEN_BEDROCK デプロイメントに最も頻繁に適用され、トークンのポリシーは通常、完全な IAM ロールよりも狭くなります。
詳細については、Amazon Bedrock IAM ドキュメントを参照してください。
コスト追跡とアクセス制御を簡素化するために、Claude Code 用の専用 AWS アカウントを作成してください。
1M トークンコンテキストウィンドウ
Claude Sonnet 5、Opus 4.6 以降、および Sonnet 4.6 は、Amazon Bedrock で 1M トークンコンテキストウィンドウをサポートしています。Sonnet 5 は Invoke API と Mantle エンドポイントの両方で常に 1M ウィンドウで実行され、選択する [1m] バリアントはありません。Invoke API 上の他のモデルについては、Claude Code は 1M モデルバリアントを選択すると、拡張コンテキストウィンドウを自動的に有効にします。
セットアップウィザードは、モデルをピン留めするときに 1M コンテキストオプションを提供します。手動でピン留めされたモデルの代わりに有効にするには、モデル ID に [1m] を追加します。詳細については、サードパーティデプロイメント用のモデルをピン留めするを参照してください。1M ウィンドウをピンを変更せずに使用する方法を含みます。
サービスティア
Amazon Bedrock サービスティアを使用すると、コストとレイテンシーのトレードオフを行うことができます。ANTHROPIC_BEDROCK_SERVICE_TIER を default、flex、または priority に設定します。
export ANTHROPIC_BEDROCK_SERVICE_TIER=priority
Claude Code は、各リクエストで X-Amzn-Bedrock-Service-Tier ヘッダーとしてこれを送信します。ティアの可用性はモデルとリージョンによって異なります。予約容量は、この設定の代わりにプロビジョニングされたスループット ARN をモデル ID として使用します。
AWS Guardrails
Amazon Bedrock Guardrailsを使用すると、Claude Code のコンテンツフィルタリングを実装できます。Amazon Bedrock コンソールで Guardrail を作成し、バージョンを公開してから、Guardrail ヘッダーを settings file に追加します。クロスリージョン推論プロファイルを使用している場合は、Guardrail でクロスリージョン推論を有効にしてください。
設定例:
{
"env": {
"ANTHROPIC_CUSTOM_HEADERS": "X-Amzn-Bedrock-GuardrailIdentifier: your-guardrail-id\nX-Amzn-Bedrock-GuardrailVersion: 1"
}
}
組織が Claude apps gateway ポリシーを通じて guardrail ヘッダーを配信する場合、それらは 承認が必要な設定としてカウントされます。
guardrail が応答を途中でブロックした場合、それまでにストリーミングされたテキストはそのまま残り、応答はブロックされた応答用に guardrail で設定されたメッセージで終了します。
Mantle エンドポイントを使用する
Mantle は、Bedrock Invoke API ではなく、ネイティブ Anthropic API シェイプを通じて Claude モデルを提供する Amazon Bedrock エンドポイントです。同じ AWS 認証情報 と awsAuthRefresh 設定 を使用します。
Mantle は bedrock-mantle: プレフィックスの下に独自の IAM アクションを持つため、IAM 設定 の bedrock: アクションはこれをカバーしていません。推論用に bedrock-mantle:CreateInference と、トークンカウント用に bedrock-mantle:CountTokens を IAM アイデンティティに付与します。AWS ドキュメントの 推論リクエストの実行 と トークンのカウント、および サービス認可リファレンス を参照して、すべての Mantle アクションを確認してください。
Mantle を有効にする
AWS 認証情報が既に設定されている場合、CLAUDE_CODE_USE_MANTLE を設定して、リクエストを Mantle エンドポイントにルーティングします。
export CLAUDE_CODE_USE_MANTLE=1
export AWS_REGION=us-east-1
Claude Code は AWS リージョンからエンドポイント URL を構築します。リージョンは 上記の Amazon Bedrock と同じ優先順位で解決されます。カスタムエンドポイントまたはゲートウェイの URL をオーバーライドするには、ANTHROPIC_BEDROCK_MANTLE_BASE_URL を設定します。
Claude Code 内で /status を実行して確認します。Mantle がアクティブな場合、プロバイダー行は Amazon Bedrock (Mantle) を表示します。
Mantle モデルを選択する
Mantle は anthropic. で始まり、バージョンサフィックスのないモデル ID を使用します。例えば anthropic.claude-sonnet-5 または anthropic.claude-haiku-4-5 です。アカウントで利用可能なモデルは、組織に付与されたものに依存します。追加のモデル ID は AWS からのオンボーディング資料に記載されています。AWS アカウントチームに連絡して、許可リストされたモデルへのアクセスをリクエストしてください。
--model フラグまたは Claude Code 内の /model でモデルを設定します。
claude --model anthropic.claude-haiku-4-5
Mantle を Invoke API と並行して実行する
Mantle で利用可能なモデルは、今日使用するすべてのモデルを含まない場合があります。CLAUDE_CODE_USE_BEDROCK と CLAUDE_CODE_USE_MANTLE の両方を設定すると、Claude Code は同じセッションから両方のエンドポイントを呼び出せます。Mantle 形式に一致するモデル ID は Mantle にルーティングされ、他のすべてのモデル ID は Amazon Bedrock Invoke API に移動します。
export CLAUDE_CODE_USE_BEDROCK=1
export CLAUDE_CODE_USE_MANTLE=1
Mantle モデルを /model ピッカーに表示するには、settings file の availableModels にその ID をリストします。この設定はピッカーをリストされたエントリに制限するため、保持したいバージョンのバージョンプレフィックスまたは完全な ID もリストします。Mantle ID と haiku エイリアスは同じモデルファミリーに解決されるため、マージはより具体的なエントリのみを保持します。Merge behavior を参照してください。
{
"availableModels": ["opus", "sonnet", "claude-haiku-4-5", "anthropic.claude-haiku-4-5"]
}
anthropic. プレフィックス付きのエントリはカスタムピッカーオプションとして追加され、そのうち Mantle 形式に一致するものが Mantle にルーティングされます。anthropic.claude-haiku-4-5 をアカウントに付与されたモデル ID に置き換えます。availableModels が他のモデル設定とどのように相互作用するかについては、Restrict model selection を参照してください。
両方のプロバイダーがアクティブな場合、/status は Amazon Bedrock + Amazon Bedrock (Mantle) を表示します。
Mantle をゲートウェイ経由でルーティングする
組織がモデルトラフィックを集中化された LLM gateway を通じてルーティングし、AWS 認証情報をサーバー側に注入する場合、クライアント側認証を無効にして、Claude Code が SigV4 署名または x-api-key ヘッダーなしでリクエストを送信するようにします。
export CLAUDE_CODE_USE_MANTLE=1
export CLAUDE_CODE_SKIP_MANTLE_AUTH=1
export ANTHROPIC_BEDROCK_MANTLE_BASE_URL=https://your-gateway.example.com
Mantle 環境変数
これらの変数は Mantle エンドポイントに固有です。完全なリストについては、Environment variables を参照してください。
| 変数 | 目的 |
|---|---|
CLAUDE_CODE_USE_MANTLE |
Mantle エンドポイントを有効にします。1 または true に設定します。 |
ANTHROPIC_BEDROCK_MANTLE_BASE_URL |
デフォルト Mantle エンドポイント URL をオーバーライド |
CLAUDE_CODE_SKIP_MANTLE_AUTH |
プロキシセットアップのクライアント側認証をスキップ |
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION |
Haiku クラスモデルの AWS リージョンをオーバーライド(Bedrock と共有) |
トラブルシューティング
SSO と企業プロキシでの認証ループ
AWS SSO を使用しているときにブラウザのサインインタブが繰り返し開く場合は、settings file から awsAuthRefresh 設定を削除してください。
このループは、企業 VPN または TLS 検査プロキシが SSO ブラウザフローを中断した場合に発生する可能性があります。Claude Code は中断された接続を認証失敗として扱います。後続のリクエストで認証情報がまだ期限切れであることが判明すると、Claude Code は awsAuthRefresh を再実行し、別のタブが開きます。
ネットワーク環境が自動ブラウザベースの SSO フローに干渉する場合は、awsAuthRefresh に依存する代わりに、Claude Code を開始する前に手動で aws sso login を使用してください。
TLS 検査プロキシの背後での証明書エラー
Claude Code は、CA certificate store 設定を AWS へのリクエストに適用します。これには以下が含まれます:
- モデル検出
- トークンカウント
- AWS 認証情報を解決する STS および SSO ロール認証情報呼び出し
- setup wizard の認証情報検証とモデルチェック
これらのリクエストについては、OS トラストストアまたは NODE_EXTRA_CA_CERTS バンドル内の企業ルート証明書には、Amazon Bedrock 固有のセットアップは必要ありません。
v2.1.260 より前では、Claude Code は設定されたプロキシを通過するリクエストにのみ CA 設定を適用し、直接接続では実行時のデフォルト証明書ストアのみを信頼していました。
v2.1.261 より前では、Use credentials already in my environment オプションを使用した setup wizard のモデルチェックの背後での認証情報ルックアップは、実行時のデフォルト証明書ストアのみを信頼していました。ルート証明書が OS ストアにのみある TLS 検査プロキシの背後では、影響を受けるリクエストは unable to get local issuer certificate で失敗するか、ウィザードはモデルを unreachable として表示していましたが、推論リクエストは成功していました。v2.1.261 以降に更新してください。
リージョンの問題
リージョンの問題が発生した場合:
- モデルの可用性を確認:
aws bedrock list-inference-profiles --region your-region - サポートされているリージョンに切り替え:
export AWS_REGION=us-east-1 - クロスリージョンアクセスに推論プロファイルの使用を検討
「on-demand throughput isn't supported」エラーが表示される場合:
- モデルを inference profile ID として指定します
Claude Code は Amazon Bedrock Invoke API を使用し、Converse API はサポートしていません。
ゲートウェイまたはプロキシの背後でのストリーミングエラー
Amazon Bedrock は InvokeModelWithResponseStream レスポンスをバイナリイベントストリーム形式でストリーミングし、ヘッダー Content-Type: application/vnd.amazon.eventstream を含みます。Claude Code と Amazon Bedrock の間のゲートウェイまたはプロキシは、Amazon Bedrock が送信したレスポンスボディとそのヘッダー(Content-Type を含む)を変更されずに転送する必要があります。
ゲートウェイが Content-Type を別の値に書き換える場合、Claude Code は Bedrock streaming response has content-type で始まるエラーでレスポンスを拒否し、受け取った値を名前付けます。一般的な書き換えは text/event-stream で、ストリームをサーバー送信イベントとして再発行する統合からのものです。
ゲートウェイがヘッダーをドロップまたは空白にする代わりに、Claude Code は本体が Amazon Bedrock のイベントストリームであると仮定してデコードするため、ゲートウェイが変更されずに通した本体はストリーミングを続けます。
ヘッダーをドロップするゲートウェイがストリームをサーバー送信イベントとして再発行する場合、Claude Code は本体をデコードできず、すべてのターンで遅いノンストリーミングパスにフォールバックします。各レスポンスはストリーミングされるのではなく、完全になった後にのみ表示されます。その場合、CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT=1 を設定して、Claude Code が本体をサーバー送信イベントとして読み取るようにしてください。
エラーまたはフォールバックを修正するには、ゲートウェイを設定して InvokeModelWithResponseStream レスポンスボディとその Content-Type ヘッダーを変更されずに転送するようにしてください。
ストリームをサーバー送信イベントに変換するゲートウェイは、Amazon Bedrock API を提供していません。Anthropic Messages API リクエストも受け入れる場合は、CLAUDE_CODE_USE_BEDROCK の代わりに ANTHROPIC_BASE_URL を使用して LLM gateway として接続してください。
/context でのゼロトークンカウント
/context コマンドは、ツールスキーマを Amazon Bedrock count-tokens API に送信することで、各ツールグループのトークンをカウントします。Claude Code v2.1.196 より前のバージョンでは、スキーマが count-tokens API が受け入れないフィールドを含んでいたため、Amazon Bedrock がそのリクエストを拒否し、すべてのツールグループが 0 トークンを表示していました。メッセージやメモリファイルなど、内訳の他の行は影響を受けません。
v2.1.196 以降に更新してください。
Mantle エンドポイントエラー
CLAUDE_CODE_USE_MANTLE を設定した後、/status が Amazon Bedrock (Mantle) を表示しない場合、変数がプロセスに到達していません。Claude Code を起動したシェルでエクスポートされているか、settings file の env ブロックで設定されていることを確認してください。
Mantle エンドポイントからの 403 が何を意味するかは、エラーが IAM アクションを名前付けるかどうかによって異なります:
- エラーが
bedrock-mantle:アクションを名前付ける場合は、IAM アイデンティティにそのアクションを付与してください。 - エラーがアクションを名前付けず、認証情報が有効な場合は、AWS アカウントがリクエストしたモデルへのアクセスを許可されていません。AWS アカウントチームに連絡してアクセスをリクエストしてください。
モデル ID を名前付ける 400 は、そのモデルが Mantle で提供されていないことを意味します。Mantle は標準 Amazon Bedrock カタログとは別の独自のモデルラインアップを持っているため、us.anthropic.claude-sonnet-4-6 などの推論プロファイル ID は機能しません。Mantle 形式の ID を使用するか、両方のエンドポイントを有効にして、Claude Code が各リクエストをモデルが利用可能なエンドポイントにルーティングするようにしてください。