本文へ移動
Claude Tips

Bedrock・Vertex AI・Foundry

Claude Code のモデル呼び出しを Amazon Bedrock・Claude Platform on AWS・Google Vertex AI・Microsoft Foundry 経由にする設定を、環境変数・認証・モデル指定・権限ごとにまとめます。

組織が AWS・Google Cloud・Azure の契約やセキュリティの枠の中で Claude Code を使いたいときに、モデルの推論先をクラウド事業者へ切り替える設定をまとめたページです。公式ドキュメントは、多くの組織には Claude の Teams / Enterprise プランを、個人の開発者には Anthropic Console を勧めています。下の比較表で、クラウド事業者経由との違いを見られます。

要点#

  • 有効にする環境変数(CLAUDE_CODE_USE_BEDROCK など)を1つ立てると、推論の送り先がそのクラウドに切り替わる
  • 認証はクラウド側の資格情報で行う。クラウド経由のときは /logout が使えない
  • 複数人へ配る前に、ANTHROPIC_DEFAULT_*_MODEL でモデルのバージョンを固定する(固定しないと、エイリアスが Claude Code 内蔵の既定に解決され、アカウントで有効でない場合がある)
  • Bedrock と Vertex AI には、ログイン画面の「3rd-party platform」から始められる設定ウィザードがある。Foundry にはウィザードが無い
  • 設定を終えたら /status で、プロバイダ・リージョン・モデルを確認する

選択肢の比較#

Claude Code を組織へ入れる方法は、推論をどこで動かすかで分かれます。多くの組織には Teams か Enterprise が最も手軽で、Claude Code と Web 版 Claude を1つの契約で使えます。自社の計算資源でクラウドセッションを動かしたい場合は、セルフホスト環境を見てください。

項目 Teams / Enterprise Anthropic Console Amazon Bedrock Claude Platform on AWS Google Vertex AI Microsoft Foundry
向く場面 多くの組織(推奨) 個人の開発者 AWS 中心の環境 AWS Marketplace 課金で Claude API の機能を使う GCP 中心の環境 Azure 中心の環境
課金 Teams は席ごと(従量課金も可)。Enterprise は営業へ 従量課金 AWS 経由の従量課金 AWS Marketplace 経由の従量課金 GCP 経由の従量課金 Azure 経由の従量課金
提供地域 対応国 対応国 複数の AWS リージョン 複数の AWS リージョン 複数の GCP リージョン 複数の Azure リージョン
プロンプトキャッシュ 既定で有効 既定で有効 既定で有効 既定で有効 既定で有効 既定で有効
認証 claude.ai の SSO かメール API キーか Console サインイン API キーか AWS 資格情報 API キーか AWS 資格情報 GCP 資格情報 API キーか Microsoft Entra ID
コスト確認 利用状況ダッシュボード 利用状況ダッシュボード AWS Cost Explorer AWS Cost Explorer GCP Billing Azure Cost Management
Web 版 Claude を含む はい いいえ いいえ いいえ いいえ いいえ
組織向け機能 チーム管理・SSO・利用状況 なし IAM ポリシー・CloudTrail IAM ポリシー・CloudTrail IAM ロール・Cloud Audit Logs RBAC ポリシー・Azure Monitor

補足

Google の製品名は「Google Cloud's Agent Platform(旧 Vertex AI)」ですが、ログイン画面と環境変数名には Vertex AI の名前が残っています。このページでは Vertex AI と書きます。

組織の管理者は、managed settings の allowedProviders で、管理下のマシンが使える提供先を絞れます(Claude Code v2.1.285 以降)。たとえば ["bedrock"] は Amazon Bedrock だけを許可します。Bedrock で Mantle エンドポイントも使うなら "mantle" も並べます。詳しくは設定キー一覧を見てください。

共通の注意#

  • モデルを固定しない配布は避ける。固定する変数は ANTHROPIC_DEFAULT_FABLE_MODEL・ANTHROPIC_DEFAULT_OPUS_MODEL・ANTHROPIC_DEFAULT_SONNET_MODEL・ANTHROPIC_DEFAULT_HAIKU_MODEL(モデル・環境変数一覧も参照)
  • プロキシや LLM ゲートウェイを挟む場合は、各クラウド用のベース URL の変数を使う(ネットワークと LLM ゲートウェイ)
  • 組織内で IdP のサインインをかぶせたいときは、Claude apps gateway が Bedrock・Claude Platform on AWS・Vertex AI・Foundry・Anthropic API の手前に置ける
  • 1時間のキャッシュ TTL は ENABLE_PROMPT_CACHING_1H=1 で要求できる。書き込みは5分の既定より高い料金で課金される
  • CMEK(顧客管理の暗号鍵)を使う組織が LLM ゲートウェイや独自の ANTHROPIC_BASE_URL を通すと、そのセッションの運用テレメトリには CMEK が効かない。全員のテレメトリを止めるには managed settings で DISABLE_TELEMETRY を配る

Amazon Bedrock#

AWS の Amazon Bedrock 経由で推論します。Bedrock の Invoke API を使い、Converse API には対応していません。

有効にする環境変数#

変数 内容
CLAUDE_CODE_USE_BEDROCK 1 で Bedrock を有効にする
AWS_REGION リージョン。プロファイルに設定済みなら不要
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION 小型・高速モデルのリージョンを上書きする(Bedrock と Mantle 共通)。Bedrock では ANTHROPIC_DEFAULT_HAIKU_MODEL か非推奨の ANTHROPIC_SMALL_FAST_MODEL が無いと効かない
ANTHROPIC_BEDROCK_BASE_URL カスタムエンドポイントやゲートウェイの URL
ANTHROPIC_BEDROCK_REGION_PREFIX クロスリージョン推論プロファイルの優先プレフィックス。us・eu・apac・jp・au・global(v2.1.224 以降)
ANTHROPIC_BEDROCK_SERVICE_TIER default・flex・priority。X-Amzn-Bedrock-Service-Tier ヘッダーで送る
AWS_BEARER_TOKEN_BEDROCK Bedrock API キー
CLAUDE_CODE_SKIP_AWS_CRED_CACHE 1 で、リクエストごとに資格情報の取得をやり直す
CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS 資格情報チェーンの解決の待ち時間(ミリ秒)。既定は60秒
CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY 1 で、モデルが使えなかった記憶(最長1日)をやめる
CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK 1 で、使えないモデルへのリクエストを切り替えず失敗させる
CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT 1 で、Content-Type が無い応答を SSE として読む(ゲートウェイ経由の回避策)
AWS_SHARED_CREDENTIALS_FILE / AWS_CONFIG_FILE 既定と違う場所の AWS 設定ファイルを指す

ウィザードで始める#

  1. AWS の Bedrock コンソールの Model catalog で Anthropic のモデルを選び、ユースケースのフォームを送る(アカウントごとに1回。送信後すぐ使える)
  2. claude を起動し、ログイン画面で「3rd-party platform」から「Amazon Bedrock」を選ぶ。すでにログイン済みなら /setup-bedrock を実行する
  3. AWS プロファイル・Bedrock API キー・アクセスキー・環境の資格情報のどれかを選ぶ。リージョンの入力、使えるモデルの確認、モデルの固定まで進む

CLAUDE_CODE_USE_BEDROCK=1 を設定するまで、/setup-bedrock はコマンドメニューに出ません。全文を入力してください。結果はユーザー設定ファイルの env に保存されます。CLAUDE_CONFIG_DIR があればその下の settings.json です。

手動で設定する#

AWS Organizations を使うなら、管理アカウントから PutUseCaseForModelAccess API で1回送れば、子アカウントにも承認が及びます(bedrock:PutUseCaseForModelAccess の権限が必要)。

認証#

Claude Code は AWS SDK の既定の資格情報チェーンを使います。

方法 設定
AWS CLI aws configure
アクセスキー AWS_ACCESS_KEY_ID・AWS_SECRET_ACCESS_KEY・AWS_SESSION_TOKEN
SSO プロファイル aws sso login --profile=名前 のあと AWS_PROFILE を設定
コンソール資格情報 aws login
Bedrock API キー AWS_BEARER_TOKEN_BEDROCK
  • SSO の資格情報は、プロファイルの sso_region の IAM Identity Center から取ります。Bedrock のリージョンと同じである必要はありません
  • 解決した資格情報はメモリに保持され、期限の5分前まで(期限が無ければ1時間)再利用されます(v2.1.207 以降)。API キーはこのキャッシュの対象外です
  • 資格情報の解決は1回60秒で打ち切られ、AWS default-chain credential resolve timed out になります。ブラウザ経由の SSO で MFA がある場合などは、CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS で延ばします

資格情報の自動更新#

設定ファイルに次の2つを書けます。

設定 動くとき 向く用途
awsAuthRefresh 資格情報の期限切れを検知したときだけ(実行前に STS の GetCallerIdentity で本当に切れているか確かめ、使えるなら実行しない) .aws を更新するコマンド(aws sso login など)。出力は表示されるが、対話入力は不可
awsCredentialExport セッション開始時と資格情報の再読み込みのたび .aws を変更できず、資格情報を直接返す必要があるとき。出力は表示されない
json
{
  "awsAuthRefresh": "aws sso login --profile myprofile",
  "env": {
    "AWS_PROFILE": "myprofile"
  }
}

awsCredentialExport のコマンドは、次の形の JSON を出力します。aws configure export-credentials --format process の平らな出力も使えます。Expiration(ISO 8601)は省略可で、あればその5分前まで、無ければ1時間キャッシュされます。awsAuthRefresh なしで awsCredentialExport だけを設定すると、起動時に既定のチェーンを再解決せず、出力した資格情報を直接使います(v2.1.206 以降)。

json
{
  "Credentials": {
    "AccessKeyId": "value",
    "SecretAccessKey": "value",
    "SessionToken": "value",
    "Expiration": "2026-01-01T00:00:00Z"
  }
}

リージョンの決まり方#

次の順で見て、最初に見つかったものを使います。リージョンの形をしていない値(スラッシュ・ドット・空白を含むなど)は未設定として扱います。

  1. AWS_REGION
  2. AWS_DEFAULT_REGION
  3. 有効なプロファイルの region(共有の認証情報ファイル、次に設定ファイルの順)
  4. us-east-1

/status で解決後のリージョンを確認できます。

モデルの指定#

何も固定しないと、opus は Opus 5.5、sonnet は Sonnet 4.5 に解決されます。固定する例です。

bash
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. は米国のクロスリージョン推論プロファイルのプレフィックスです。GovCloud では us-gov. を使います。アプリケーション推論プロファイルの ARN も ANTHROPIC_MODEL に指定できます。

種類 既定のモデル
主モデル Opus 5.5(us-* リージョンなら us.anthropic.claude-opus-5-5)
小型・高速モデル Sonnet 4.5(us-* なら us.anthropic.claude-sonnet-4-5-20250929-v1:0)
  • 内蔵の既定モデルのまま優先プレフィックスだけ変えたいなら、固定ではなく ANTHROPIC_BEDROCK_REGION_PREFIX を使う(eu なら opus は eu.anthropic.claude-opus-5-5 になる)
  • セッション名の生成などの背景処理は、既定では Sonnet を使う(Haiku が有効とは限らないため)。--model・ANTHROPIC_MODEL・model 設定で主モデルを選ぶと、背景処理もそのモデルになる。Haiku にしたいときは ANTHROPIC_DEFAULT_HAIKU_MODEL を設定する
  • 主モデルを固定しない配布は、v2.1.207 以降で Opus の料金になる。Sonnet 4.5 のままにするには、ANTHROPIC_MODEL に完全なモデル ID を入れる

注意

複数人へ配るときは、モデルを固定します。固定しないと、既定のモデルがアカウントで有効でない場合に起動時に下位のモデルへ切り替わり、新しいモデルへ移るタイミングも管理できません。

リージョンのプレフィックス#

Claude Code が既定のモデルを解決するとき、AWS リージョンから選ぶプレフィックスは次のとおりです。

AWS リージョン プレフィックス
us-gov-*(GovCloud) us-gov.
us-* us.
eu-* eu.
ap-* apac.
それ以外 global.

プレフィックスは優先であって保証ではありません。アカウントの推論プロファイルを一覧できるときは、(1) 優先プレフィックスのプロファイル、(2) 一致する任意のプロファイル、(3) 内蔵のモデル ID に優先プレフィックスを付けたもの、の順に解決します。一覧できないときは、確認なしにプレフィックスを付けるので、そのプレフィックスのプロファイルが無いと 400 エラーになります。GovCloud では常に us-gov. で、変数の値は無視されます。

バージョンごとに推論プロファイルを割り当てる#

ANTHROPIC_DEFAULT_*_MODEL は系統ごとに1つのプロファイルしか指せません。同じ系統の複数のバージョンを /model に並べ、それぞれ別のプロファイル ARN へ向けたいときは、設定の modelOverrides を使います。

json
{
  "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"
  }
}

--model や ANTHROPIC_MODEL に Anthropic のモデル ID を渡した場合も、同じ割り当てが効きます(v2.1.200 以降)。

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

起動時に、使うモデルがアカウントで呼べるかを確認します。

  • 古いバージョンを固定していて、新しい既定が呼べるなら、固定の更新を促される。承諾するとユーザー設定ファイルに書いて再起動する。断ると、次に既定のバージョンが変わるまで覚えている。アプリケーション推論プロファイルの ARN は管理者の持ち物として対象外
  • 固定しておらず、既定が呼べないなら、そのセッションだけ古いバージョンへ、Opus で Opus が全く無ければ Sonnet へ切り替えて通知する。永続化はされない
  • 呼べなかったという結果は、このマシンに最長1日記憶され、既定モデルの拒否は前回の確認から10分たつと再確認される。切るには CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY=1
  • セッション中にモデルが無効にされたときも別のモデルへ切り替え、Switched to <fallback> because <model> is not available を出す。固定したバージョンや ARN のセッションは切り替わらず、フォールバックチェーンも無ければ失敗する。切り替えを止めるには CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1(設定したフォールバックチェーンは、これとは別に動くので、完全に止めるならチェーンも外す)

必要な権限(IAM)#

次のポリシーを作ります。対象はもっと絞れます。

json
{
  "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"
        }
      }
    }
  ]
}
  • bedrock:GetInferenceProfile は、アプリケーション推論プロファイルの ARN から元のモデルを調べて、リクエストの形を選ぶために使う。権限が無くても、もう一方の形で1回やり直して成功するが、新しいモデルごとに往復が1回増える。Bedrock API キーの運用では、権限が狭いことが多い
  • Claude Code 用の AWS アカウントを分けると、コストと権限の管理が楽になる

組織がモデルの許可リストを強制するとき#

管理設定で enforceAvailableModels を設定すると、起動時のモデル確認は、availableModels のリストが許すモデルだけを使います。Amazon Bedrock の Invoke API に当てはまり、Claude Code v2.1.287 以降が要ります。enforceAvailableModels のないリストは、これらの確認を制限しません。

確認は、各エントリを、送ろうとする推論プロファイル ID(リージョンのプレフィックスを含む)と比べるので、リストはその ID で書きます。次の例は、モデルが us. のプロファイルに解決されるデプロイで、Opus 4.8 と Sonnet 4.5 を許します。

json
{
  "availableModels": ["us.anthropic.claude-opus-4-8", "us.anthropic.claude-sonnet-4-5-20250929-v1:0"],
  "enforceAvailableModels": true
}

別名・バージョンのプレフィックス・modelOverrides のエントリは、モデルの設定のサードパーティのデプロイでモデルを固定する節を見ます。

その他の機能#

機能 設定
1M トークンのコンテキスト Sonnet 5・Opus 4.6 以降・Sonnet 4.6 が対応。Sonnet 5 は常に1M。ほかは 1M 版を選ぶと自動で有効。手動で固定するモデルには ID の末尾に [1m] を付ける
サービスティア ANTHROPIC_BEDROCK_SERVICE_TIER。予約容量はこの設定ではなく、プロビジョンドスループットの ARN をモデル ID にする
プロンプトキャッシュ 既定で有効。無効にするには DISABLE_PROMPT_CACHING=1。リージョンによっては使えず、キャッシュのトークン数が 0 のままなら対応状況を確認
Guardrails 設定の env で ANTHROPIC_CUSTOM_HEADERS に X-Amzn-Bedrock-GuardrailIdentifier と X-Amzn-Bedrock-GuardrailVersion を書く。クロスリージョン推論のプロファイルを使うなら、Guardrail 側でもクロスリージョン推論を有効にする。ガードレールが応答を途中でブロックすると、それまでにストリームされたテキストは残り、返信は、ブロックされた応答向けにガードレールに設定したメッセージで終わる
json
{
  "env": {
    "ANTHROPIC_CUSTOM_HEADERS": "X-Amzn-Bedrock-GuardrailIdentifier: your-guardrail-id\nX-Amzn-Bedrock-GuardrailVersion: 1"
  }
}

Mantle エンドポイント#

Mantle は、Bedrock の Invoke API ではなく Anthropic の API の形で Claude を出すエンドポイントです。AWS 資格情報と awsAuthRefresh は同じものを使います。IAM は bedrock-mantle: 系の別の権限で、推論に bedrock-mantle:CreateInference、トークンの計数に bedrock-mantle:CountTokens が要ります。

変数 内容
CLAUDE_CODE_USE_MANTLE 1 か true で Mantle を有効にする
ANTHROPIC_BEDROCK_MANTLE_BASE_URL Mantle の URL を上書きする
CLAUDE_CODE_SKIP_MANTLE_AUTH クライアント側の認証(SigV4・x-api-key)を省く。ゲートウェイが認証を付ける構成向け
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION Haiku 級モデルのリージョン(Bedrock と共通)
  • anthropic. で始まるエントリは、独自の選択肢として追加され、Mantle の形式に合うものは Mantle へ送られる
  • モデル ID は anthropic. で始まりバージョンの接尾辞が無い(例 anthropic.claude-sonnet-5)。使えるモデルは組織への付与で決まり、AWS のアカウントチームに依頼する
  • claude --model anthropic.claude-haiku-4-5 のように指定する
  • CLAUDE_CODE_USE_BEDROCK と CLAUDE_CODE_USE_MANTLE を両方設定すると、Mantle 形式の ID は Mantle へ、そのほかは Invoke API へ送られる。/model に Mantle のモデルを出すには availableModels に ID を書く(これは候補を絞る設定でもあるため、haiku エイリアスなどが消えないよう、残したいものも並べる)
  • /status の表示は、Mantle のみで Amazon Bedrock (Mantle)、両方で Amazon Bedrock + Amazon Bedrock (Mantle)

つまずいたとき#

症状 原因と対処
SSO でブラウザのタブが繰り返し開く VPN や TLS 検査プロキシで SSO が中断され、awsAuthRefresh が繰り返される。設定から外し、起動前に手で aws sso login する
unable to get local issuer certificate、ウィザードでモデルが unreachable TLS 検査プロキシの下。v2.1.261 より前の版が該当し、更新で直る。CA の設定は ネットワーク を参照
on-demand throughput isn't supported モデルを推論プロファイルの ID で指定する
リージョンの問題 aws bedrock list-inference-profiles --region リージョン で確認し、対応リージョンへ切り替える
Bedrock streaming response has content-type ゲートウェイが Content-Type: application/vnd.amazon.eventstream を書き換えている(多いのは text/event-stream)。本文とヘッダーをそのまま転送させる
ヘッダーが落ちて SSE で再送される場合に毎ターン非ストリームになる CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT=1
/context のツールのトークンが 0 v2.1.196 より前の版の不具合。更新する
Mantle の 403 エラーに bedrock-mantle: の権限名があれば付与する。無く資格情報が正しければ、アカウントにモデルの利用許可が無い
Mantle の 400(モデル ID の指摘) そのモデルは Mantle に無い。us.anthropic.claude-sonnet-4-6 のような推論プロファイル ID は使えない。Mantle の形式にするか、両方のエンドポイントを有効にする
/status に Mantle が出ない CLAUDE_CODE_USE_MANTLE がプロセスに届いていない。起動したシェルで export するか、設定の env に書く

ストリームを SSE に変換するゲートウェイは、もう Bedrock の API ではありません。Anthropic Messages API も受けるなら、CLAUDE_CODE_USE_BEDROCK ではなく ANTHROPIC_BASE_URL で LLM ゲートウェイとして接続します。

補足

Bedrock では WebSearch ツールが使えません。

Claude Platform on AWS#

Anthropic が運営する Claude API に、AWS の認証・IAM・AWS Marketplace 課金を組み合わせたものです。リクエストは Anthropic の API へ直接届くので、モデルや API の機能は Claude API と同じ時期に使えます。

  • Anthropic の機能フラグで有効になるクライアント側の機能は既定でオフ。advisor ツールは使えない
  • AWS Marketplace の購読で、AWS アカウントに紐づく新しい Anthropic 組織が作られる。既存の Console の組織とは別で、資格情報は移せない。AWS 側の組織のワークスペース ID と API キーを使う

前提#

  • AWS Marketplace 経由の Claude Platform on AWS の購読
  • AWS に紐づく組織のワークスペースと、そのワークスペース ID
  • Anthropic のサービスを呼べる IAM プリンシパル、またはワークスペースに限った API キー
  • SigV4 で認証するなら、環境変数・~/.aws/credentials・IAM ロールのどれかの AWS 資格情報(AWS CLI が要るのは SSO ログインのときだけ)

有効にする環境変数#

変数 内容
CLAUDE_CODE_USE_ANTHROPIC_AWS 1 で有効にする。AWS 資格情報があるだけでは有効にならず、明示が要る
ANTHROPIC_AWS_WORKSPACE_ID 必須。毎回のリクエストに anthropic-workspace-id ヘッダーで付く
AWS_REGION ベース URL https://aws-external-anthropic.{region}.api.aws の元になる。Bedrock と同じ優先順位で解決する
ANTHROPIC_AWS_BASE_URL ベース URL を直接上書きする
ANTHROPIC_AWS_API_KEY ワークスペース API キー。x-api-key で送り、SigV4 より優先する
CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH 1 で署名なしで送る。ゲートウェイが SigV4 を付ける構成向け
ANTHROPIC_AUTH_TOKEN ゲートウェイが独自のトークンを要求するときに設定する
bash
export CLAUDE_CODE_USE_ANTHROPIC_AWS=1
export ANTHROPIC_AWS_WORKSPACE_ID=wrkspc_01ABCDEFGHIJKLMN
export AWS_REGION=us-east-1

プロバイダの優先順位は Bedrock と Foundry のほうが上です。CLAUDE_CODE_USE_BEDROCK と CLAUDE_CODE_USE_FOUNDRY が設定されていれば外します。

認証#

方法 内容
AWS 資格情報(SigV4) 標準の資格情報チェーンで署名する。ローカルでは aws sso login --profile my-profile のあと AWS_PROFILE を設定。CI では実行環境に IAM ロールを付け AWS_REGION を設定する
ワークスペース API キー AWS コンソールの「Claude Platform on AWS → API keys」で発行し ANTHROPIC_AWS_API_KEY に設定する。別の Console 組織のキーは使えない

SSO の資格情報が途中で切れる場合は、Bedrock の項の awsAuthRefresh を設定します。awsAuthRefresh を設定したうえで、/login から「3rd-party platform」の「Claude Platform on AWS · refresh credentials」を選ぶと、再起動なしで資格情報を読み直します。起動時に既存の資格情報を検証できないときも、このコマンドを実行します。

補足

/login と /logout は、Claude Platform on AWS では claude.ai のサブスクリプションへのサインインになりません。認証は AWS 資格情報かワークスペース API キーで行います。

モデルの指定#

モデル ID は Claude API と同じです。fable・opus・sonnet・haiku のエイリアスは Claude Code 内蔵の既定へ解決され、最新に追いつかないことがあります。固定しない場合、opus は Opus 5.5 になります。

bash
export ANTHROPIC_DEFAULT_FABLE_MODEL=claude-fable-5
export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-8
export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-5
export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5

プロンプトキャッシュは自動で有効です。1時間の TTL は ENABLE_PROMPT_CACHING_1H=1 で要求できます。

必要な権限#

Anthropic のサービスを呼べる IAM の権限(aws-external-anthropic のアクション)が要ります。アクションの一覧は Anthropic の「IAM action reference」にあります。

確認と Agent SDK#

claude を起動すると、起動時のバナーに Claude Platform on AWS と出ます。/status の API provider の行、Workspace ID、AWS region でも確認できます。Agent SDK も同じ環境変数を読むので、上の変数を設定してから SDK を呼べば同じ経路になります。

typescript
import { query } from "@anthropic-ai/claude-agent-sdk";

process.env.CLAUDE_CODE_USE_ANTHROPIC_AWS = "1";
process.env.ANTHROPIC_AWS_WORKSPACE_ID = "wrkspc_01ABCDEFGHIJKLMN";
process.env.AWS_REGION = "us-east-1";

for await (const msg of query({ prompt: "What's in this repo?" })) {
  console.log(msg);
}

プロキシ・ゲートウェイ経由#

ANTHROPIC_AWS_BASE_URL をプロキシの URL にします。ワークスペースと認証のヘッダーは同じ形で送られるので、そのまま転送するゲートウェイなら使えます。ゲートウェイが自分で署名するなら CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH=1 も付けます。

つまずいたとき#

症状 原因と対処
毎回 403 Forbidden か AccessDenied IAM プリンシパルに権限が無い。ANTHROPIC_AWS_API_KEY が古いと同じ症状になるので、再発行するか変数を外して AWS 資格情報へ戻す
ワークスペースが無いというエラー ANTHROPIC_AWS_WORKSPACE_ID が未設定か空。ID は AWS 資格情報から導かれない
リクエストが api.anthropic.com へ行く CLAUDE_CODE_USE_ANTHROPIC_AWS が未設定か、真と読めない値。1 にして /status で確認する。Bedrock や Foundry の変数が設定されていれば、そちらが優先される

Google Vertex AI#

Google Cloud の Vertex AI(現在の製品名は Agent Platform)経由で推論します。

前提#

  • 課金が有効な GCP アカウントとプロジェクト
  • プロジェクトで Agent Platform API(aiplatform.googleapis.com)が有効
  • 使いたい Claude モデルへのアクセス(Model Garden で申請。承認に24〜48時間かかることがある)
  • gcloud の導入と設定
  • 使うリージョンに割り当てられたクォータ

有効にする環境変数#

変数 内容
CLAUDE_CODE_USE_VERTEX 1 で有効にする
CLOUD_ML_REGION global・eu や us などのマルチリージョン・us-east5 などの個別のリージョン。未設定や不正な値は us-east5 になる
ANTHROPIC_VERTEX_PROJECT_ID GCP のプロジェクト ID。GCLOUD_PROJECT などに別のプロジェクトがあっても、リクエストはこの値のプロジェクトへ向かう
ANTHROPIC_VERTEX_BASE_URL カスタムエンドポイントやゲートウェイの URL
VERTEX_REGION_CLAUDE_* global のときに、グローバルエンドポイントに未対応のモデルだけリージョンを上書きする(例 VERTEX_REGION_CLAUDE_HAIKU_4_5=us-east5・VERTEX_REGION_CLAUDE_4_6_SONNET=europe-west1)。多くのバージョンに対応する変数がある。不正な値は CLOUD_ML_REGION に戻る
GOOGLE_APPLICATION_CREDENTIALS 資格情報ファイル(サービスアカウントキーや X.509 の Workload Identity Federation の設定)のパス
DISABLE_PROMPT_CACHING 1 でプロンプトキャッシュを無効にする
ENABLE_PROMPT_CACHING_1H 1 で1時間の TTL を要求する(書き込みは高い料金)
ENABLE_TOOL_SEARCH false で、全モデルの MCP ツール検索を無効にする
CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY 1 で、モデルが使えなかった記憶をやめる
CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK 1 で、使えないモデルの切り替えをやめる
bash
export CLAUDE_CODE_USE_VERTEX=1
export CLOUD_ML_REGION=global
export ANTHROPIC_VERTEX_PROJECT_ID=YOUR-PROJECT-ID

Claude Code は、global・マルチリージョン・個別リージョンのエンドポイントに対応し、形に合った Vertex AI のホスト名(マルチリージョンなら aiplatform.eu.rep.googleapis.com や aiplatform.us.rep.googleapis.com)を選びます。モデルの提供状況はエンドポイントの種類で違うので、対応するリージョンやモデルに切り替える必要があることがあります。

ウィザードで始める#

  1. Agent Platform API を有効にし、Model Garden で使う Claude モデルへのアクセスを申請する
  2. claude を起動し、ログイン画面で「3rd-party platform」から「Google Vertex AI」を選ぶ(ログイン済みなら /login で同じメニューが開く)
  3. gcloud の Application Default Credentials・サービスアカウントキー・環境の資格情報のどれかを選ぶ。プロジェクトとリージョンの入力、使えるモデルの確認、固定まで進む

結果はユーザー設定ファイルの env に保存されます。あとから /setup-vertex でいつでも開き直せます。

手動で設定する#

bash
gcloud config set project YOUR-PROJECT-ID
gcloud services enable aiplatform.googleapis.com

Model Garden で「Claude」を検索し、使うモデルへのアクセスを申請します。

認証#

標準の Google Cloud の認証を使います。Application Default Credentials は gcloud auth application-default login で作ります。

資格情報の自動更新#

gcpAuthRefresh に、資格情報の期限切れや読み込み失敗のときに実行するコマンドを書きます。

json
{
  "gcpAuthRefresh": "gcloud auth application-default login",
  "env": {
    "ANTHROPIC_VERTEX_PROJECT_ID": "your-project-id"
  }
}
  • 実行前に現在の資格情報でアクセストークンを取り、本当に切れているかを確かめる。使えるなら実行しない。確認が5秒で終わらなければ実行せず、資格情報エラーでリクエストが失敗した後に実行する(v2.1.261 より前は、タイムアウトを期限切れと数えていた)
  • 出力は表示されるが、対話入力は送れない。認証が終わらなければ3分で打ち切られる
  • プロジェクトの設定(.claude/settings.json)に書いた場合は、設定ファイルのフックと同じワークスペース信頼のルールで実行される。一度も信頼していないフォルダでの -p セッションも含む

モデルの指定#

何も固定しないと、opus は Opus 5.5、sonnet は Sonnet 4.5 に解決されます。

bash
export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'
export ANTHROPIC_DEFAULT_SONNET_MODEL='claude-sonnet-5'
export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5@20251001'
種類 既定値
主モデル claude-opus-5-5
小型・高速モデル claude-sonnet-4-5@20250929
  • 背景処理の扱い、主モデルを固定しない配布が Opus 料金になる点(v2.1.207 以降)、ANTHROPIC_MODEL で Sonnet 4.5 を保つ方法は Bedrock と同じ
  • 起動時のモデル確認、固定の更新の提案、フォールバック、セッション中にモデルが無効にされたときの切り替えも Bedrock と同じ動き。有効化は Model Garden で行う
  • MCP のツール検索:Opus 4.5・Sonnet 4.5・Haiku 4.5 以降のモデルでは既定で有効。それより前のモデル(Claude 3.x を含む)は、必要なベータヘッダーを拒否するので、ツール定義を先に読み込む(ENABLE_TOOL_SEARCH=true でも上書きできない)。v2.1.221 より前は、true にしない限り全モデルで無効だった
  • 1M トークンのコンテキストは Sonnet 5・Opus 4.6 以降・Sonnet 4.6 が対応。Sonnet 5 は常に1M。ほかは 1M 版を選ぶと自動で有効になり、手動で固定するなら ID の末尾に [1m] を付ける

組織がモデルの許可リストを強制するとき#

管理設定で enforceAvailableModels を設定すると、起動時のモデル確認は、availableModels のリストが許すモデルだけを使います。Claude Code v2.1.287 以降が要ります。enforceAvailableModels のないリストは、これらの確認を制限しません。

確認は、各エントリを、Agent Platform へ送ろうとするモデル ID と比べるので、リストはその ID で書きます。次の例は、Opus 4.8 と Sonnet 4.5 を許します。

json
{
  "availableModels": ["claude-opus-4-8", "claude-sonnet-4-5@20250929"],
  "enforceAvailableModels": true
}

別名・バージョンのプレフィックス・modelOverrides のエントリは、モデルの設定のサードパーティのデプロイでモデルを固定する節を見ます。

確認#

/status で、API provider が Google Vertex AI、GCP project・Default region・Model が設定どおりになっているかを見ます。API provider が出なければ、環境変数がプロセスに届いていません。

必要な権限(IAM)#

roles/aiplatform.user ロールを付けます。含まれる権限は aiplatform.endpoints.predict(モデルの呼び出しとトークンの計数)です。もっと絞るなら、この権限だけのカスタムロールを作ります。Claude Code 用の GCP プロジェクトを分けると、コストと権限の管理が楽になります。レート制限を上げるには Google Cloud のサポートへ連絡します。

つまずいたとき#

症状 対処
Could not load the default credentials gcloud auth application-default login を実行するか、GOOGLE_APPLICATION_CREDENTIALS にサービスアカウントキーのパスを設定する
クォータの問題 Cloud Console でクォータを確認し、引き上げを申請する
404 の「model not found」 Model Garden でモデルが有効か確かめる。指定した場所で提供されているか確かめる(global か eu・us のマルチリージョンだけの提供のモデルがある)。global でグローバル未対応のモデルなら、ANTHROPIC_MODEL か ANTHROPIC_DEFAULT_HAIKU_MODEL で対応モデルを指定するか、VERTEX_REGION_<モデル名> でリージョンを設定する
429 リージョンのエンドポイントでは、主モデルと小型・高速モデルが対応しているか確認する。CLOUD_ML_REGION=global に変えると可用性が上がることがある

Microsoft Foundry#

Azure の Microsoft Foundry 経由で推論します。対話型のセットアップウィザードは無く、環境変数が唯一の設定経路です。

前提#

  • Microsoft Foundry を使える Azure サブスクリプション
  • Foundry のリソースとデプロイメントを作る RBAC 権限
  • Azure CLI(ほかに資格情報を得る方法が無い場合だけ)

リソースを用意する#

  1. Foundry のポータルでリソースを作り、リソース名を控える
  2. Claude の Opus・Sonnet・Haiku のデプロイメントを作り、付けたデプロイメント名を控える(モデルの変数にその名前を使う)
  3. デプロイメントでは、推論を Azure と Anthropic のどちらのインフラで動かすかをホスティングオプションで選ぶ

注意

Azure でデプロイメントを作るときは、「最新へ自動更新」ではなく特定のモデルバージョンを選びます。Foundry には起動時のモデル確認が無いので、既定が使えないとリクエストが失敗します。

有効にする環境変数#

変数 内容
CLAUDE_CODE_USE_FOUNDRY 1 で有効にする
ANTHROPIC_FOUNDRY_RESOURCE Azure のリソース名だけ(my-resource など)。URL やホスト名にすると、メッセージを送ったとき Claude Code が拒否する(エラー一覧)。ここからエンドポイント URL を組み立てる。プレースホルダのままだと存在しないホストへ接続して、最初のプロンプトで接続エラーが続く
ANTHROPIC_FOUNDRY_BASE_URL 完全なベース URL(https://{resource}.services.ai.azure.com/anthropic の形)。リソース名の代わりに指定できる
ANTHROPIC_FOUNDRY_API_KEY API キー
ANTHROPIC_FOUNDRY_AUTH_TOKEN Microsoft Entra ID が発行したベアラートークン。毎回のリクエストを Authorization: Bearer で送る(v2.1.203 以降)。API キーと既定の資格情報チェーンより優先される
ENABLE_PROMPT_CACHING_1H 1 で1時間の TTL を要求する(書き込みは高い料金)
bash
export CLAUDE_CODE_USE_FOUNDRY=1
export ANTHROPIC_FOUNDRY_RESOURCE={resource}

認証#

方法 設定
A. API キー ポータルのリソースの「Endpoints and keys」から API Key をコピーし ANTHROPIC_FOUNDRY_API_KEY に設定する
B. Microsoft Entra ID ANTHROPIC_FOUNDRY_API_KEY も ANTHROPIC_FOUNDRY_AUTH_TOKEN も無いとき、Azure SDK の既定の資格情報チェーンを自動で使う。ローカルでは az login が一般的
C. ベアラートークン ホストアプリやサインインスクリプトが取得済みのトークンを ANTHROPIC_FOUNDRY_AUTH_TOKEN に入れる

Foundry では /logout が使えません。

モデルの指定#

固定しないと、opus は Opus 4.6 に解決されます。デプロイメント名に合わせて設定します。

bash
export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'
export ANTHROPIC_DEFAULT_SONNET_MODEL='claude-sonnet-5'
export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5'

セッション名の生成などの背景処理は、Foundry では主モデルを使います(Haiku のデプロイメントが無いアカウントがあるため)。Haiku にするには ANTHROPIC_DEFAULT_HAIKU_MODEL に、アカウントで使える Haiku のデプロイメントを設定します。プロンプトキャッシュは自動で有効です。

確認#

claude を起動し、/status の API provider の行が Microsoft Foundry で、設定したリソース名か URL が出ていれば正常です。

必要な権限(Azure RBAC)#

既定のロール Azure AI User と Cognitive Services User に、Claude の呼び出しに必要な権限がすべて含まれます。もっと絞るなら、次のカスタムロールを作ります。

json
{
  "permissions": [
    {
      "dataActions": [
        "Microsoft.CognitiveServices/accounts/providers/*"
      ]
    }
  ]
}

つまずいたとき#

症状 対処
Failed to get token from azureADTokenProvider: ChainedTokenCredential authentication failed 環境に Entra ID を設定するか、ANTHROPIC_FOUNDRY_API_KEY を設定する
最初のプロンプトで接続エラーが続く ANTHROPIC_FOUNDRY_RESOURCE が実際のリソース名になっているか確かめる

組織で使うときのコツ#

ヒント

1か所のチームが MCP サーバーを設定し、.mcp.json をリポジトリへ入れておくと、全員が使えます(MCP)。組織全体の CLAUDE.md の配り方はメモリ、権限の固定は権限ルールとセキュリティを見てください。導入全体の進め方は組織への導入と管理設定にあります。

  • 「ワンクリック」で入れられる導入手順を用意すると、広がりやすい
  • 新しいメンバーには、コードベースの質問応答や小さなバグ修正から始め、先に計画を立てさせ、提案を確かめながら進める

公式ドキュメント(英語)

2026年10月5日時点の内容をもとに、日本語でまとめています。

ページの一覧