Claude Code Bedrockセットアップ — /setup-bedrockウィザードの使い方
Claude CodeをAmazon Bedrock経由で使うための/setup-bedrockウィザードを、起動条件・認証方式・モデルピン留め・手動設定との違いまで手順で確認します。
Claude CodeをAmazon Bedrock経由で使い始めるとき、環境変数を手で並べる方法とは別に/setup-bedrockという対話ウィザードがあります。AWS認証・リージョン・モデルピン留めをCLI内の質問に答えるだけで済ませられます。ただし、このコマンドは条件を満たさないと存在しないコマンド扱いになります。表示条件と、ウィザードが裏側で何を書き換えているかを押さえておくと、チーム展開のときに迷いません。同じ構図の対話ウィザードはGoogle Cloud側にもあり、手順は/setup-vertexウィザードの手順にまとめています。
/setup-bedrockはどんなときに使えるか
/setup-bedrockはログイン画面とチャット画面の2箇所から呼び出せますが、経路によって条件が異なります。
| 呼び出し元 | 条件 |
|---|---|
| ログイン画面の「3rd-party platform」→「Amazon Bedrock」 | 条件初回セットアップならいつでも選べる |
チャット画面で/setup-bedrockを直接タイプ | 条件CLAUDE_CODE_USE_BEDROCK=1が設定されているセッションのみ |
すでにログイン済みで通常のチャット画面にいる場合、/setup-bedrockは環境変数CLAUDE_CODE_USE_BEDROCK=1を立てていないと動きません。コマンド自体はコマンドメニューの候補一覧には出てきませんが、条件さえ満たしていればタイプすれば実行されます。逆に条件を満たさない状態でタイプすると、存在しないコマンドとして扱われます。「メニューに出てこないから使えない」と誤解しないための最初のポイントです。
一度Bedrockでサインインした後は、認証情報・リージョン・モデルピンを変更したいときにいつでも/setup-bedrockを再実行できます。モデルピンの選択画面は、そのとき既にピン留めされているモデルから始まります。
ウィザードを開く前に済ませておく2つの準備
ウィザード自体はClaude Code側の設定を対話で埋めるものですが、AWS側の準備がまだなら先に済ませておく必要があります。
1. Anthropicモデルの利用申請(アカウントごとに1回): Amazon BedrockコンソールのモデルカタログでAnthropicモデルを選び、ユースケースフォームを送信します。承認は送信直後に下ります。AWS Organizationsを使っている場合、管理アカウントからPutUseCaseForModelAccess APIで一括申請でき、子アカウントにも自動で承認が及びます。
2. 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" }
}
}
]
}aws-marketplace:Subscribeはモデル有効化がAWS Marketplaceへのサブスクリプションとして裏側で処理されるために必要です。より厳しく絞りたい場合はResourceを特定の推論プロファイルARNに限定できます。この2つを済ませておけば、ウィザードの認証ステップでつまずきません。
ウィザードの4ステップ
/setup-bedrockウィザードを起動すると、次の4つを対話形式で進めます。
- AWS認証方式の選択:
~/.awsディレクトリから検出したAWSプロファイル、Amazon Bedrock APIキー、アクセスキーとシークレット、環境に既にある資格情報のいずれか - リージョンの取得: 選んだ認証方式からリージョンを自動で拾う
- モデルアクセスの検証: そのAWSアカウントが実際に呼び出せるClaudeモデルを確認する
- モデルのピン留め: 使うモデルを固定する。この画面では1Mトークンのコンテキストウィンドウを有効にする選択肢も同時に出る
完了すると、ウィザードは設定結果をユーザー設定ファイルのenvブロックに書き込みます。書き込み先は通常~/.claude/settings.jsonですが、環境変数CLAUDE_CONFIG_DIRを設定している場合はそちらのディレクトリ配下になります。自分でシェルの環境変数を管理し続ける必要がなくなる、という部分がウィザードの実利です。
手動設定(環境変数)との違い
CIやスクリプト化されたロールアウトでは、ウィザードではなく環境変数で直接設定する経路も用意されています。両者は最終的に同じ状態に到達しますが、経路がはっきり分かれています。
| 項目 | /setup-bedrockウィザード | 環境変数での手動設定 |
|---|---|---|
| 向く場面 | /setup-bedrockウィザード個人が対話的にセットアップ | 環境変数での手動設定CI・スクリプト化された企業ロールアウト |
| AWS認証の入力 | /setup-bedrockウィザード対話プロンプトで選択 | 環境変数での手動設定aws configure / 環境変数 / aws login / Bedrock APIキーを自分で用意 |
| リージョンの決定 | /setup-bedrockウィザード認証情報から自動検出 | 環境変数での手動設定AWS_REGIONを明示設定(未設定ならプロファイルのregion、それも無ければus-east-1) |
| モデルのアクセス確認 | /setup-bedrockウィザードウィザードが自動検証 | 環境変数での手動設定aws bedrock list-inference-profiles等で自分で確認 |
| 保存先 | /setup-bedrockウィザード~/.claude/settings.jsonのenvブロック | 環境変数での手動設定シェルのexportまたは設定ファイルのenvブロックに自分で記載 |
手動設定を選ぶ場合、最低限必要なのはCLAUDE_CODE_USE_BEDROCK=1です。バージョン2.1.172以降はリージョンの自動解決順序が整理されており、AWS_REGION → AWS_DEFAULT_REGION → アクティブなAWSプロファイルのregion → us-east-1の順に見に行きます。値がリージョン名らしい形(スラッシュ・ドット・スペースを含まない)でなければ未設定として次の候補に進みます。/statusを実行すると、解決されたリージョンとその出典(設定ファイルから来たのか既定値なのか)を確認できます。
モデルを固定する(ピン留め)
チームに展開する場合、モデルのピン留めは事実上必須です。ピン留めをしないと、sonnetやopusといったモデルエイリアスはClaude Code組み込みの既定値に解決されます。この既定値は最新リリースに遅れることがあり、しかも自分のAWSアカウントでまだ有効化されていない可能性もあります。起動時に利用できなければ古いモデルや別モデルへ自動でフォールバックしますが、ピン留めしておけば「いつ新モデルへ移行するか」を自分でコントロールできます。
環境変数で明示的にピン留めする例です。
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'us.は推論プロファイルのリージョン接頭辞です。別のリージョン接頭辞やアプリケーション推論プロファイルを使う場合はここを調整します。AWS GovCloudリージョンではus-gov.接頭辞を使います。組み込みの既定モデルはそのままに接頭辞だけ変えたい場合は、個別のピン留めではなくANTHROPIC_BEDROCK_REGION_PREFIXを設定します。ANTHROPIC_DEFAULT_OPUS_MODELで個別モデルIDを指定すればそのIDがそのまま使われ、ANTHROPIC_BEDROCK_REGION_PREFIX=euだけを設定すれば組み込みの既定モデル(eu.anthropic.claude-opus-5)に接頭辞だけが反映される、という違いがあります。
なお、バックグラウンドタスク(セッションタイトル生成など)はHaikuクラスのモデルで処理されるのが通常ですが、Bedrock上ではHaikuがすべてのアカウント・リージョンで有効とは限らないため、既定でSonnetモデルが代わりに使われます。ANTHROPIC_DEFAULT_OPUS_MODELだけを設定してANTHROPIC_DEFAULT_SONNET_MODELを設定しない構成も「選択」扱いになる点には注意が必要です。組み込みのSonnetモデルがそのアカウントで有効化されていない可能性があるためです。
つまずきやすいポイント
Amazon BedrockのIAM権限を必要最小限に絞ろうとすると、bedrock:GetInferenceProfile権限を落としがちです。この権限は、アプリケーション推論プロファイルARNを裏側の基盤モデルへ解決するために使われます。権限が無くても致命的なエラーにはならず、Claude Codeは代替の形式で1回リトライして自動的に復旧します。ただし新しいモデルを呼ぶたびに余分な往復が発生するため、AWS_BEARER_TOKEN_BEDROCKによるBedrock APIキー運用のようにトークンのポリシーが狭くなりがちな構成では、あらかじめこの権限を含めておくとリトライ分の遅延を避けられます。
もう一つの落とし穴は、AWS SSOと社内プロキシの組み合わせです。ブラウザタブが繰り返し立ち上がる認証ループが起きたら、設定ファイルのawsAuthRefreshが原因になっている可能性があります。VPNやTLS検査プロキシがSSOのブラウザフローを妨げると、Claude Codeはそれを認証失敗と判断してawsAuthRefreshを再実行し、ループに陥ります。この症状が出た場合はawsAuthRefreshを設定ファイルから外し、aws sso loginを起動前に手動で済ませる運用に切り替えます。
リージョンにまつわるエラーが出た場合は、aws bedrock list-inference-profiles --region <リージョン>でそのリージョンでのモデル可用性を確認するのが最初の一手です。「on-demand throughputはサポートされていない」というエラーが出た場合は、モデルIDをオンデマンドの基盤モデルIDではなく推論プロファイルIDとして指定し直します。
設定は正しいのに/contextで全ツールグループのトークン数が0と表示される場合は、Claude Code側の既知の不具合です。v2.1.196より前のバージョンでは、/contextが使うトークン数カウントAPIへのリクエストをBedrockが拒否していたため、この表示になっていました。最新版へ更新すれば解消します。
まとめ
/setup-bedrockは、Bedrock導入時に最も摩擦の大きいAWS認証・リージョン・モデル検証の3つを対話形式でまとめて片づけるためのコマンドです。チャット画面から呼ぶにはCLAUDE_CODE_USE_BEDROCK=1が必要で、個人利用ならウィザード、CIやチーム一括展開なら環境変数による手動設定が向きます。どちらの経路でも、モデルのピン留めだけは展開前に済ませておくと、意図しないタイミングでのモデル切り替えを防げます。BedrockとAnthropic直接APIの料金差はAWS BedrockのClaude料金は直接APIとどう違うか、コードレビューなどBedrock経由でも使える機能の制約はClaude Codeコードレビューで確認できます。
よくある質問
/setup-bedrockがコマンド一覧に出てきません
CLAUDE_CODE_USE_BEDROCK=1が設定されていないチャット画面では一覧に表示されません。表示されなくてもタイプすれば実行されるため、まずは環境変数を確認してください。初回セットアップならログイン画面の「3rd-party platform」→「Amazon Bedrock」から同じウィザードに入れます。
ウィザードで設定した内容はどこに保存されますか
既定では~/.claude/settings.jsonのenvブロックに書き込まれます。CLAUDE_CONFIG_DIR環境変数を設定している場合は、そのディレクトリ配下のsettings.jsonが保存先になります。
モデルをピン留めしないとどうなりますか
sonnetやopusのエイリアスはClaude Code組み込みの既定モデルに解決されます。起動時にそのモデルがアカウントで使えなければ、古いバージョンやSonnetへ自動フォールバックします。チーム展開でモデル切り替えのタイミングを揃えたい場合は、ピン留めして明示的にコントロールしてください。
AWS認証情報はどこまでキャッシュされますか
Claude Codeは資格情報の解決を1回行い、有効期限の5分前まで(有効期限が無い場合は1時間)メモリに保持します。API側から資格情報エラーが返るとキャッシュはクリアされ、次のリクエストで再解決します。Bedrock APIキー(AWS_BEARER_TOKEN_BEDROCK)はこのキャッシュの対象外です。