カテゴリー / インストール・ログイン・設定

Claude Code Bedrock設定手順と使えない機能・IAM権限の確認

この記事の目次

Claude Code を Amazon Bedrock で使うには、AWS 側で Anthropic モデルのユースケースフォームを送信し、Claude Code 側では claude のログイン画面で「3rd-party platform」から Amazon Bedrock を選ぶか、環境変数 CLAUDE_CODE_USE_BEDROCK=1 と AWS の認証情報を設定する。チームに配る場合は、モデルのバージョンを固定してから展開する。Bedrock 経由では Web 検索や Code Review など一部の非対応機能があるため、その機能一覧も導入前に確認しておきたい。以下、2026年10月時点の Claude Code 公式ドキュメントの記述に沿って、接続手順と確認点を順に並べる。

Claude Code Bedrock 接続の前に AWS 側で済ませることは何か

公式ドキュメントが挙げる前提は4つある。Bedrock が有効な AWS アカウント、使いたい Claude モデルへのアクセス、適切な IAM の権限、そして AWS CLI だ。AWS CLI は、ほかに認証情報を得る手段がない場合にだけ必要になる。

モデルへのアクセスは、Amazon Bedrock コンソールの Model catalog で Anthropic のモデルを選び、ユースケースフォームを送信して得る。公式の記述では、送信した直後にアクセスが付与される。この手続きは最初にモデルを呼び出す前に、AWS アカウントごとに1回行う。

AWS Organizations を使っている場合は、管理アカウントから PutUseCaseForModelAccess API で1回送信すれば、承認が子アカウントにも自動で及ぶ。この呼び出しには bedrock:PutUseCaseForModelAccess の IAM 権限が要る。

Claude Code に付与する IAM ポリシー

公式が示すポリシーは、モデル呼び出し用と AWS Marketplace 用の2つの Statement からなる。

Statement Action 補足
AllowModelAndInferenceProfileAccess bedrock:InvokeModel / bedrock:InvokeModelWithResponseStream / bedrock:ListInferenceProfiles / bedrock:GetInferenceProfile モデル呼び出しと推論プロファイルの参照
AllowMarketplaceSubscription aws-marketplace:ViewSubscriptions / aws-marketplace:Subscribe 条件 aws:CalledViaLast が bedrock.amazonaws.com の場合に限定

権限をさらに絞りたい場合は、Resource を特定の推論プロファイル ARN に限定できる。bedrock:GetInferenceProfile が無いトークンでもリクエストは成功するが、Claude Code が1回リトライするため、新しいモデルごとに余分な往復が発生する。公式によれば、これはトークンのポリシーが IAM ロールより狭くなりがちな AWS_BEARER_TOKEN_BEDROCK の構成で起きやすい。

また公式は、費用の追跡とアクセス管理を簡単にするため、Claude Code 専用の AWS アカウントを作ることを勧めている。権限の分け方を全社のセキュリティ方針と合わせて考える場合は、企業向けセキュリティの記事を参照してほしい。

/setup-bedrock ウィザードで接続する手順

自分の AWS 認証情報で使い始める個人向けには、公式はログインウィザードを案内している。

  1. claude を起動する
  2. ログイン画面で「3rd-party platform」、続けて「Amazon Bedrock」を選ぶ
  3. 認証方式を選ぶ。選択肢は ~/.aws から検出した AWS プロファイル、Amazon Bedrock API キー、アクセスキーとシークレット、環境に設定済みの認証情報の4つ
  4. リージョンを入力すると、ウィザードがそのアカウントで呼び出せる Claude モデルを確認し、固定するモデルを選ばせる

結果はユーザー設定ファイルの env ブロックに保存されるので、環境変数を自分で export する必要はない。保存先は ~/.claude/settings.json で、CLAUDE_CONFIG_DIR を設定している場合はその配下になる。

すでに別の方法でサインインしていてチャット画面が出る場合は、/setup-bedrock と入力するとウィザードが開く。CLAUDE_CODE_USE_BEDROCK=1 が未設定のうちはコマンドメニューに表示されないため、補完を待たず全文を打ち込む。認証情報やリージョン、モデルの固定を変えたいときも、同じコマンドで何度でも開き直せる。

環境変数で設定する手順(CI や一括展開向け)

CI やスクリプトによる一括展開のように、ウィザードを使わずに設定したい場合は、環境変数で設定する手順が用意されている。

AWS 認証情報を用意する

Claude Code は AWS SDK の既定のクレデンシャルチェーンを使う。EC2 のインスタンスプロファイルや ECS のタスク認証情報がすでにある環境なら、この手順は飛ばしてよい。公式は、専用ソフトウェアの開発や実データを扱う場面について、AWS が IAM ユーザーのアクセスキー利用に注意を促していることにも触れている。IAM Identity Center を使っている組織なら、SSO プロファイルで一時認証情報を得る方法が該当する。プロファイルが無ければ先に aws configure sso で作成する。

aws sso login --profile=your-profile-name
export AWS_PROFILE=your-profile-name

Bedrock 専用のベアラートークンである Amazon Bedrock API キーを使う方法もある。短期キーは最大12時間有効で、AWS は本番環境では長期キーより短期キーを推奨し、長期キーは試用目的に限って推奨している。

export AWS_BEARER_TOKEN_BEDROCK=your-bedrock-api-key

AWS_BEARER_TOKEN_BEDROCK を設定すると、ほかの AWS 認証情報があってもクレデンシャルチェーンは解決されない。プロファイルを設定したのに意図した権限で動かないときは、この変数が残っていないかを先に確かめる。

SSO の期限切れを自動で更新したい場合は、設定ファイルに awsAuthRefresh を書く。これは認証情報の期限切れを検知したときにだけ実行される。

{
  "awsAuthRefresh": "aws sso login --profile myprofile",
  "env": {
    "AWS_PROFILE": "myprofile"
  }
}

Bedrock を有効にする

export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=us-east-1

AWS_REGION は、AWS プロファイルにリージョンが設定されていれば省略できる。Claude Code は AWS_REGION、AWS_DEFAULT_REGION、有効なプロファイルの region、us-east-1 の順にリージョンを決める。起動後に /status を実行すると、実際に使われているリージョンを確認できる。なお Bedrock 利用中は、認証を AWS 側で扱うため /logout は使えない。

チーム展開の前にモデルを固定すべき理由

公式ドキュメントは、複数ユーザーに展開するときはモデルのバージョンを固定するよう警告している。固定しないと sonnet や opus といったエイリアスは Claude Code に組み込まれた Bedrock 向けの既定に解決され、その既定は最新リリースより遅れることも、アカウントでまだ有効になっていないこともある。

費用面でも固定の意味は大きい。公式の既定では主モデルが Opus 5.5 で、Opus は Sonnet より1トークンあたりの単価が高い。そのため主モデルを固定しなければ Opus の単価で課金される。Sonnet 4.5 を主モデルにしたい場合は、ANTHROPIC_MODEL にフルのモデル ID を設定する。

エイリアスごとに固定するには、次の3つの環境変数を使う。値は公式の例で、us. はクロスリージョン推論プロファイルのプレフィックスだ。

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-* は us.、eu-* は eu.、ap-* は apac.、それ以外は global. が優先される。ANTHROPIC_BEDROCK_REGION_PREFIX で Claude Code が最初に試すプレフィックスを指定でき、有効な値は us、eu、apac、jp、au、global の6つだ。推論プロファイルの一覧を取得できない状態で、アカウントで有効になっていないプレフィックスを指定すると、リクエストは400エラーで失敗する。

セッション名の生成などのバックグラウンド処理には通常 Haiku 系が使われるが、Bedrock では Haiku がすべてのアカウントやリージョンで有効とは限らないため、既定の Sonnet が使われる。Haiku に回したい場合は、アカウントで使えるモデル ID を ANTHROPIC_DEFAULT_HAIKU_MODEL に設定する。

起動時のモデル確認とフォールバック

Claude Code は起動時に、使う予定のモデルがアカウントで呼び出せるかを確認する。固定していない状態で既定モデルが使えない場合は、そのセッションに限ってフォールバックし、通知を出す。まず既定モデルの以前のバージョンを試し、既定が Opus でどの Opus も使えなければ既定の Sonnet に切り替える。この切り替えは保存されない。呼び出せなかったモデルは、その端末で最大1日記憶され、その間の起動では確認を省く。

組織で使えるモデルを制限したい場合は、管理設定に availableModels と enforceAvailableModels を書くと、起動時の確認が許可リスト内のモデルだけに限定される。モデルごとの性格の違いはモデルの違いを整理した記事で扱っている。

Bedrock 経由では使えない機能は何か

公式の機能比較表では、CLI と Agent SDK、VS Code と JetBrains の拡張、サブエージェント、hooks、skills、CLAUDE.md、plugins、MCP サーバー、OpenTelemetry メトリクス、managed settings ファイルが全プロバイダで利用可能とされている。

一方、Amazon Bedrock の列で「使えない」とされているのは次のものだ。

  • claude.ai アカウントでのサインインが必要な機能全般(クラウドセッション、Routines の /schedule、Code Review、Remote Control、Chrome 拡張など)
  • Web 検索、fast mode、Advisor、Channels
  • アナリティクスダッシュボード、server-managed settings
  • /design-sync と /import コマンド

部分対応として、Claude Code Desktop は Claude Desktop on 3P 経由に限られ、auto mode は Sonnet 5 以降、Opus 4.7 以降、Haiku 5.5、Fable モデルに限られる。Zero Data Retention は AWS との契約次第になる。

公式は代替手段も示している。定期実行は /schedule の代わりに /loop、クラウドセッションの代わりに GitHub Actions や GitLab CI/CD、Web 検索の代わりに URL を指定した WebFetch ツールを使う。社内で Code Review やクラウドセッションを使う前提なら、Bedrock 経由だけでは要件を満たせない。

Bedrock・Claude Platform on AWS・Claude 直接契約はどう違うか

公式の導入オプション比較では、Amazon Bedrock は「AWS ネイティブな導入」向けで、課金は AWS 経由の従量課金とされている。同じページは、多くの組織には Claude for Teams または Enterprise が最良の体験になるとし、理由として1つのサブスクリプションで Claude Code と Web 版 Claude が使え、インフラ準備が要らない点を挙げる。

AWS で請求をまとめたい組織には、もう1つの選択肢として Claude Platform on AWS がある。これは Anthropic が運用する Claude API を、AWS の認証と IAM、AWS Marketplace の課金で使う形態で、環境変数は CLAUDE_CODE_USE_ANTHROPIC_AWS を使う。ただし Marketplace で契約すると、既存の Anthropic 組織とは別の組織が作られ、認証情報は引き継がれない。

観点 Amazon Bedrock Claude Platform on AWS Claude for Teams / Enterprise
公式の想定 AWS ネイティブな導入 AWS Marketplace 課金で Claude API の機能を使う 多くの組織に推奨
課金 AWS 経由の従量課金 AWS Marketplace 経由の従量課金 Teams は席単位のサブスクリプション(従量課金も選択可)、Enterprise は営業窓口
Web 検索 使えない 使える 使える(Claude サブスクリプションの列)

GCP を使っている場合はVertex AI 経由の記事を、プランごとの料金は料金体系の記事を参照してほしい。

接続できないときはどこを確認するか

エラーの内容ごとに、公式のトラブルシューティングが示す切り分けの確認先を並べる。

症状 確認すること
リージョン関連のエラー aws bedrock list-inference-profiles --region your-region でモデルの提供状況を見る。対応リージョン(例: us-east-1)への切り替えや推論プロファイルの利用を検討する
on-demand throughput isn't supported モデルを推論プロファイル ID で指定する
AWS default-chain credential resolve timed out クレデンシャル解決は60秒で打ち切られる。MFA 付き SSO など時間がかかる場合は CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS で延長する
SSO のブラウザタブが開き続ける 設定ファイルから awsAuthRefresh を外す
社内ネットワークがブラウザ経由の自動 SSO を妨げる awsAuthRefresh に頼らず、Claude Code の起動前に aws sso login を手動で実行する
TLS 検査プロキシ下で、モデル探索、トークン数計算、認証情報の解決、ウィザードの確認が証明書エラーになる Claude Code はこれらの AWS 向けリクエストに CA 証明書ストアの設定を適用する。社内ルート証明書が OS の信頼ストアか NODE_EXTRA_CA_CERTS にあれば、Bedrock 固有の設定は要らない
Bedrock streaming response has content-type で始まるエラー 間にあるゲートウェイが Content-Type を書き換えている。レスポンス本体とヘッダーを無改変で転送するよう設定する

なお Claude Code が使うのは Bedrock の Invoke API で、Converse API には対応していない。プロキシ環境での通信エラー全般はネットワークエラーの記事にまとめた。

公式で変わりうる点

既定の主モデルは、Claude Code のバージョンによって過去に変わってきた(現在の記述は主モデル Opus 5.5、small/fast モデル Sonnet 4.5)。本記事は2026年10月18日に取得した公式記述に基づく。既定モデルに加え、例示のモデル ID、Bedrock で使えない機能の一覧、auto mode の対象モデルも、展開前に Claude Code on Amazon Bedrock と Feature availability の最新の記述で確認しておきたい。

Bedrock 経由の導入とあわせて社内の使い方まで整えたい場合は、NO WAVE の企業研修の内容を確認できる。