Amazon Bedrock 上の Claude Code
Amazon Bedrock を通じた Claude Code の設定方法(セットアップ、IAM 設定、トラブルシューティングを含む)について学習します。
Deploying Claude Code across your organization? Talk to sales about enterprise plans, SSO, and centralized billing.
View plans Contact sales
前提条件
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 側を処理します。
1. AWS アカウントで Anthropic モデルを有効にする
Amazon Bedrock コンソールで、モデルカタログを開き、Anthropic モデルを選択して、ユースケースフォームを送信します。送信直後にアクセスが許可されます。AWS Organizations についてはユースケースの詳細を送信を、権限についてはIAM 設定を参照してください。
2. Claude Code を起動して Amazon Bedrock を選択する
claude を実行します。ログインプロンプトで、3rd-party platform を選択してから、Amazon Bedrock を選択します。既にサインインしていてチャットプロンプトが表示されている場合は、/setup-bedrock を実行してウィザードを開きます。CLAUDE_CODE_USE_BEDROCK=1 が設定されるまで、Claude Code はコマンドメニューからコマンドを非表示にします。完全に入力してください。
3. ウィザードプロンプトに従う
AWS への認証方法を選択します。~/.aws ディレクトリから検出された AWS プロファイル、Amazon Bedrock API キー、アクセスキーとシークレット、または環境に既に存在する認証情報です。ウィザードはリージョンを要求し、アカウントが呼び出せる Claude モデルを確認し、それらをピン留めできます。結果はユーザー設定ファイルの env ブロックに保存されるため、環境変数を自分でエクスポートする必要はありません。
サインイン後、いつでも /setup-bedrock を実行してウィザードを再度開き、認証情報、リージョン、またはモデルピンを変更できます。モデルピンステップは、現在ピン留めされているモデルから開始します。ウィザードは ~/.claude/settings.json に書き込むか、CLAUDE_CONFIG_DIR が設定されている場合は $CLAUDE_CONFIG_DIR/settings.json に書き込みます。
手動でセットアップする
ウィザードの代わりに環境変数を使用して Amazon Bedrock を設定する場合(例えば CI やスクリプト化されたエンタープライズロールアウト)、以下の手順に従ってください。
ユースケースの詳細を送信する
Anthropic モデルを初めて呼び出す前に、ユースケースの詳細を送信してください。これは AWS アカウントごとに 1 回行います。
- 以下に説明する適切な IAM 権限があることを確認してください
- Amazon Bedrock コンソールに移動します
- Model catalog から Anthropic モデルを選択します
- ユースケースフォームを完成させます。アクセスは送信直後に付与されます。
AWS Organizations を使用している場合、PutUseCaseForModelAccess API を使用して管理アカウントからフォームを 1 回送信できます。この呼び出しには bedrock:PutUseCaseForModelAccess IAM 権限が必要です。承認は自動的に子アカウントに拡張されます。
AWS 認証情報を設定する
Claude Code は AWS SDK のデフォルト認証情報チェーンを使用します。Amazon EC2 インスタンスプロファイルや Amazon ECS タスク認証情報など、マシンがすでにそのチェーンに認証情報を提供している場合は、ステップ 3 に進んでください。
AWS は、専用ソフトウェアを開発する場合や実データを扱う場合に IAM ユーザーのアクセスキーを使用しないよう警告しています。以下のいずれかの方法で認証情報を設定してください。
aws configure: IAM ユーザーのアクセスキーを~/.awsディレクトリ内のプロファイルに保存します- アクセスキーの環境変数: アクセスキー、またはセッショントークン付きの一時的な認証情報を、現在のシェルでのみ設定します
- SSO プロファイル: ブラウザで IAM Identity Center を通じてサインインし、一時的な認証情報を取得します。IAM Identity Center を通じて AWS アカウントにアクセスしている場合は、この方法を使用してください。
- AWS Management Console 認証情報: AWS Management Console の認証情報を使ってブラウザでサインインし、一時的な認証情報を取得します。ルートユーザー、IAM ユーザー、または IAM とのフェデレーションを通じて AWS アカウントにアクセスしている場合、AWS はこの方法を推奨しています。
- Amazon Bedrock API キー: AWS 認証情報の代わりに、Amazon Bedrock でのみ機能するベアラートークンで認証します
aws configure を使用する
aws configure を実行し、プロンプトが表示されたらアクセスキー ID、シークレットアクセスキー、デフォルトリージョンを入力します。
aws configure
AWS CLI はキーを ~/.aws/credentials の default プロファイルに保存し、認証情報チェーンはそこからキーを読み取ります。
アクセスキーをエクスポートする
アクセスキーを環境変数としてエクスポートします。AWS_SESSION_TOKEN は一時的な認証情報の場合にのみ必要なため、アクセスキーが IAM ユーザーのものである場合はその行を省略してください。
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
SSO プロファイルを使用する
プロファイルがない場合は、aws configure sso で作成します。次に IAM Identity Center にサインインし、認証情報チェーンがそのプロファイルを使用するように AWS_PROFILE を設定します。これらのコマンドを実行する前に、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 を実行するリージョンと一致する必要はありません。
AWS Management Console 認証情報を使用する
aws login コマンドには AWS CLI 2.32.0 以降が必要です。ID に必要な IAM ポリシーについては、aws login に関する AWS の手順を参照してください。
次のコマンドを実行し、AWS Management Console の認証情報を使ってブラウザでサインインします。
aws login
セッションは最大 12 時間有効で、その後は再度 aws login を実行します。
Amazon Bedrock API キーを使用する
Amazon Bedrock API キーは、AWS 認証情報の代わりにリクエストを認証するベアラートークンです。AWS は 2 種類のキーを発行します。
- 短期キー: 最大 12 時間有効です。本番環境では、AWS は長期キーよりも短期キーを推奨しています。
- 長期キー: 設定した有効期限まで有効です。AWS は検証目的でのみ使用することを推奨しています。
キーを AWS_BEARER_TOKEN_BEDROCK としてエクスポートします。
export AWS_BEARER_TOKEN_BEDROCK=your-bedrock-api-key
AWS_BEARER_TOKEN_BEDROCK が設定されている場合、他の AWS 認証情報が存在していても、Claude Code はこのキーで認証し、認証情報チェーンを解決しません。Amazon Bedrock API キーについて詳しく学ぶ。
認証情報キャッシングと解決タイムアウト
Claude Code は AWS デフォルト認証情報プロバイダーチェーンを 1 回解決し、解決された認証情報をメモリに保持します。認証情報の有効期限の 5 分前まで、または有効期限がない場合は 1 時間の間、それらを再利用するため、SSO でサポートされたプロファイルは認証情報の有効期間ごとに約 1 回 IAM Identity Center から認証情報をリクエストします。API からの認証情報エラーはキャッシュをクリアし、再試行は新しい認証情報を解決します。
キャッシュはこのステップの冒頭に挙げたすべての認証情報の方法をカバーしていますが、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 でミリ秒単位で制限を引き上げてください。CLAUDE_CODE_SKIP_AWS_CRED_CACHE=1 を設定している場合、各 API リクエストはこの制限なしでチェーンを解決します。
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 を設定する
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 を参照してください。
モデルバージョンをピンする
[!WARNING]
複数のユーザーにデプロイする場合、特定のモデルバージョンをピンしてください。ピンしない場合、
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 |
v2.1.280 より前では、Amazon Bedrock のプライマリモデルは Opus 5 にデフォルト設定され、opus エイリアスは v2.1.219 から Opus 5 に解決されました。
セッションタイトル生成などのバックグラウンドタスクは、小型/高速モデル(通常は 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 に設定してください。
[!WARNING]
Opus モデルは Sonnet モデルよりトークンあたりの価格が高いため、プライマリモデルをピンしない場合は Opus のレートで請求されます。Sonnet 4.5 をプライマリモデルとして使用するには、
ANTHROPIC_MODELをその完全なモデル ID に設定してください。ANTHROPIC_DEFAULT_SONNET_MODELでデフォルトを指定し、ANTHROPIC_DEFAULT_OPUS_MODELを設定していないデプロイでは、指定した Sonnet モデルがデフォルトとして維持されます。
モデルをさらにカスタマイズするには、以下のいずれかの方法を使用してください。
# 推論プロファイル 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 を自分で選択してください。
[!NOTE]
プロンプトキャッシングはすべての 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 が再起動します。拒否すると、次のデフォルトバージョン変更まで記憶されます。
Claude Code は、次のピンについてはチェックも更新の促しも行いません。
- 管理設定の
envブロック内のピン - アプリケーション推論プロファイル ARN を指すピン(管理者が管理しているため)
管理設定のピンについて更新の促しが引き続き表示される場合は、Claude Code を v2.1.314 以降に更新してください。v2.1.314 より前では、受け入れた後も管理設定のピンが有効なままだったため、次回の起動時に再び促しが表示されていました。
モデルをピン留めしておらず、現在のデフォルトがアカウントで利用できない場合、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 日間その拒否を記憶できます。最後のチェックから 10 分が経過すると、Claude Code は現在のデフォルトモデルについて記憶された拒否を起動時に再度チェックします。これにより、管理者が再度有効にしたデフォルトが戻ります。メモリをオフにするには、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 で始まるメッセージが表示されます。これは、例えば管理者がモデルを無効化した場合や、最新のモデルがまだアカウントで利用できない場合に発生します。
フォールバックモデルチェーンを設定している場合、Claude Code は代わりに設定したフォールバックに切り替えます。チェーンがない場合、次のようなケースではリクエストが失敗します。
- セッションが、ピン留めされたモデル、選択した特定のバージョン、またはアプリケーション推論プロファイル ARN で実行されている
- Claude Code が試すモデルがどれも利用できない。auto モードでは、Claude Code は Amazon Bedrock で auto モードがサポートするモデルにのみ切り替えます。
作業を続けるには、セッションで /model を実行し、アカウントで使用できるモデル上で s を押してください。この操作ではデフォルトは変更されません。403 は AWS authentication failed として表示されます。
拒否されたリクエストが切り替わるのではなく失敗するようにするには、CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1を設定してください。フォールバックモデルチェーンを設定している場合は、Claude Code が引き続きそのフォールバックに移行するため、チェーンも削除してください。
クロスリージョン推論プロファイルプレフィックス
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 が最初に試すプレフィックスを選択します。有効な値は us、eu、apac、jp、au、および global です。たとえば、アカウントに global. プロファイルが有効になっているが、Claude Code が AWS リージョンから地理的に固有のプロファイルを導出する場合は、global に設定します。
この例は、デフォルトモデルを 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 ドキュメントを参照してください。
[!NOTE]
コスト追跡とアクセス制御を簡素化するために、Claude Code 用の専用 AWS アカウントを作成してください。
1M トークンコンテキストウィンドウ
Fable モデル、Sonnet 5 以降、および Opus 4.7 以降は、Amazon Bedrock の Invoke API と Mantle エンドポイントの両方で、デフォルトで 1M トークンコンテキストウィンドウで実行されます。[1m] サフィックスは不要です。アプリケーション推論プロファイル ARN は、modelOverrides のエントリがそのモデルを ARN にマッピングしている場合に 1M ウィンドウを使用します。代わりに 200K ウィンドウを維持するには、CLAUDE_CODE_DISABLE_1M_CONTEXT=1 を設定します。
Invoke API 上の Opus 4.6 と Sonnet 4.6 は、[1m] バリアントを選択すると 1M ウィンドウを使用します。セットアップウィザードは、モデルをピン留めするときに 1M コンテキストオプションを提供します。代わりに手動でピン留めしたモデルで有効にするには、モデル ID に [1m] を追加します。ピンを変更せずに 1M ウィンドウを使用する方法を含む詳細については、サードパーティデプロイ用にモデルをピン留めするを参照してください。
v2.1.287 より前は、Fable モデルと Opus 4.7 以降は Invoke API ではデフォルトで 200K ウィンドウで実行され、[1m] サフィックスを付けることで 1M ウィンドウを使用していました。
サービスティア
Amazon Bedrock サービスティアを使用すると、コストとレイテンシーのトレードオフを行うことができます。ANTHROPIC_BEDROCK_SERVICE_TIER を default、flex、または priority に設定します。
export ANTHROPIC_BEDROCK_SERVICE_TIER=priority
Claude Code は、この変数が設定されたセッションからのすべての Invoke API リクエストで、これを X-Amzn-Bedrock-Service-Tier ヘッダーとして送信します。ただし、モデルアクセスチェックは除きます。この設定は、Mantle エンドポイントへのリクエストや Claude apps ゲートウェイを経由するリクエストには影響しません。ティアの可用性はモデルとリージョンによって異なります。予約容量は、この設定の代わりにプロビジョニングされたスループット ARN をモデル ID として使用します。
ターミナルから開始するバックグラウンドセッションにも適用するには、設定の env ブロックで ANTHROPIC_BEDROCK_SERVICE_TIER を設定します。これらのセッションがエクスポートした値を受け取るのは、スーパーバイザーを開始したシェルがその値をエクスポートしていた場合のみです。
AWS Guardrails
Amazon Bedrock Guardrailsを使用すると、Claude Code のコンテンツフィルタリングを実装できます。Amazon Bedrock コンソールで Guardrail を作成し、バージョンを公開します。クロスリージョン推論プロファイルを使用している場合は、Guardrail でクロスリージョン推論を有効にしてください。
Claude apps gateway を通じて Guardrail を適用するには、Amazon Bedrock guardrail を適用するの手順に従ってください。Claude apps gateway を使用しない場合は、Guardrail ヘッダーを設定ファイルに追加します。
設定ファイルの設定例:
{
"env": {
"ANTHROPIC_CUSTOM_HEADERS": "X-Amzn-Bedrock-GuardrailIdentifier: your-guardrail-id\nX-Amzn-Bedrock-GuardrailVersion: 1"
}
}
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 と AWS リージョンを設定します。
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 の両方を設定すると、同じセッションから Mantle と Invoke API の両方を呼び出せます。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 をリストします。この設定は、ピッカーをリストされたエントリに制限する働きもあります。anthropic.claude-haiku-4-5 をリストすると、単独の haiku エイリアスがピッカーから削除されるため、引き続き選択可能にしておきたいバージョンについては、バージョンプレフィックスまたは完全な 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 を使用しているときにブラウザのサインインタブが繰り返し開く場合は、設定ファイルから awsAuthRefresh 設定を削除してください。
このループは、企業の VPN や TLS インスペクションプロキシが SSO のブラウザフローを中断した場合に発生することがあります。Claude Code は中断された接続を認証の失敗として扱います。後続のリクエストで認証情報がまだ期限切れであることが判明すると、Claude Code は awsAuthRefresh を再実行し、別のタブが開きます。
ネットワーク環境がブラウザベースの自動 SSO フローに干渉する場合は、awsAuthRefresh に頼らず、Claude Code を起動する前に手動で aws sso login を使用してください。
TLS インスペクションプロキシ配下での証明書エラー
Claude Code は、AWS へのリクエストに CA 証明書ストアの設定を適用します。対象には次のものが含まれます。
- モデルの検出
- トークンのカウント
- AWS 認証情報を解決する STS および SSO のロール認証情報の呼び出し
- セットアップウィザードの認証情報の検証とモデルのチェック
これらのリクエストについては、OS のトラストストアまたは NODE_EXTRA_CA_CERTS バンドルにある企業のルート証明書に、Amazon Bedrock 固有の設定は必要ありません。
v2.1.260 より前では、Claude Code はこれらのリクエストが設定済みのプロキシを経由する場合にのみ CA 設定を適用しており、直接接続ではランタイムのデフォルトの証明書ストアのみを信頼していました。
v2.1.261 より前では、Use credentials already in my environment オプションを使用した場合のセットアップウィザードのモデルチェックの背後にある認証情報の検索は、引き続きランタイムのデフォルトの証明書ストアのみを信頼していました。ルート証明書が 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」というエラーが表示された場合:
- モデルを推論プロファイル ID として指定してください
ゲートウェイまたはプロキシ配下でのストリーミングエラー
Amazon Bedrock は、InvokeModelWithResponseStream のレスポンスを、ヘッダー Content-Type: application/vnd.amazon.eventstream を持つバイナリのイベントストリーム形式でストリーミングします。Claude Code と Amazon Bedrock の間にあるゲートウェイやプロキシは、レスポンスボディとそのヘッダー(Content-Type を含む)を Amazon Bedrock が送信したとおりに転送する必要があります。
ゲートウェイが Content-Type を別の値に書き換えると、Claude Code は Bedrock streaming response has content-type で始まるエラーでレスポンスを拒否し、受信した値をエラー内に示します。よくある書き換えは text/event-stream で、これはストリームを server-sent events として再送出するインテグレーションによるものです。エラーメッセージで示される CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD 変数については、Bedrock streaming response has an unexpected content-type を参照してください。
一方、ゲートウェイが書き換えではなくヘッダーを削除するか空にする場合、Claude Code はボディを Amazon Bedrock のイベントストリームとみなしてデコードするため、ゲートウェイが変更せずに通過させたボディはストリーミングを継続します。
ヘッダーを削除するゲートウェイがストリームを server-sent events として再送出もする場合、Claude Code はボディをデコードできず、毎ターンより低速な非ストリーミングの経路にフォールバックします。その結果、各応答はストリーミングで表示されるのではなく、完了した時点でのみ表示されます。この場合は、CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT=1 を設定して、Claude Code が代わりにボディを server-sent events として読み取るようにしてください。
エラーまたはフォールバックを解消するには、InvokeModelWithResponseStream のレスポンスボディとその Content-Type ヘッダーを変更せずに転送するようゲートウェイを設定してください。
ストリームを server-sent events に変換するゲートウェイは、もはや Amazon Bedrock API を提供していることにはなりません。そのゲートウェイが Anthropic Messages API のリクエストも受け付ける場合は、CLAUDE_CODE_USE_BEDROCK ではなく ANTHROPIC_BASE_URL を使用して LLM ゲートウェイとして接続してください。
/context でトークン数がゼロになる
/context コマンドは、ツールのスキーマを Amazon Bedrock の count-tokens API に送信して、ツールグループごとのトークン数をカウントします。v2.1.196 より前の Claude Code バージョンでは、スキーマに count-tokens API が受け付けないフィールドが含まれていたため、Amazon Bedrock がそのリクエストを拒否し、すべてのツールグループで 0 トークンと表示されていました。メッセージやメモリファイルなど、内訳の他の行は影響を受けません。
v2.1.196 以降に更新してください。
Mantle エンドポイントのエラー
CLAUDE_CODE_USE_MANTLE を設定した後に /status で Amazon Bedrock (Mantle) が表示されない場合、変数がプロセスに届いていません。claude を起動したシェルで変数がエクスポートされていることを確認するか、設定ファイルの env ブロックで設定してください。
Mantle エンドポイントからの 403 の意味は、エラーで IAM アクションが示されているかどうかによって異なります。
- エラーで
bedrock-mantle:アクションが示されている場合は、IAM アイデンティティにそのアクションを付与してください。 - エラーでアクションが示されておらず、認証情報が有効な場合は、AWS アカウントにリクエストしたモデルへのアクセスが付与されていません。AWS アカウントチームに連絡してアクセスをリクエストしてください。
モデル ID が示された 400 は、そのモデルが Mantle で提供されていないことを意味します。Mantle には標準の Amazon Bedrock カタログとは別の独自のモデルラインナップがあるため、us.anthropic.claude-sonnet-4-6 などの推論プロファイル ID は機能しません。
エラーを解消するには:
- ゲートウェイを使用しない場合: Mantle が提供している Mantle 形式の ID を使用するか、Mantle を Invoke API と併用して実行し、他の形式の ID をその API に送信します。
- ゲートウェイを経由する場合: 使用するモデル ID をゲートウェイの運用者に確認してください。