SSD Nodes Learn 🎉 VPS $5.50/月〜
ガイド Matt Connor著者 Matt Connor

Claude CodeをBedrockやVertex AIで動かす方法

Claude CodeをAmazon BedrockまたはGoogle Vertex AIへ切り替える環境変数、認証情報の取得元、請求先、利用できなくなる機能を整理します。

Claude Code を自分のクラウドアカウントで実行すると何が変わるか

Claude Code は Amazon Bedrock または Google Vertex AI 上で実行できます。切り替えに必要なのは、2 つまたは 3 つの環境変数と、チームがすでに保有しているクラウド認証情報です。ローカル側の動作はすべて同じです。CLI、サブエージェント、フック、スキル、MCP サーバー、CLAUDE.md ファイルは変わりません。移動するのはモデル呼び出しだけです。モデル呼び出しを移すと、次の4つも変わります。リクエストが通過するネットワーク、料金を支払うアカウント、呼び出しを許可される Claude モデル、そしてサーバー側で利用できる機能です。

問題になるのは、動作するかどうかではないことがほとんどです。動作します。重要なのは、この4つのうちどれを最も重視するかです。

3 つのルーティングと、それぞれにかかるコスト

サブスクリプションによる Anthropic への直接接続。 claude.ai アカウントで Pro、Max、Team、Enterprise のいずれかのプランにサインインします。リクエストは Anthropic の API に送信されます。料金はシート単位で発生し、トークン単位の従量課金ではなく、プランの上限によって使用量が制限されます。このルーティングだけが、Claude Code on the web、モバイルアプリ、Desktop、Remote Control など、アカウント上に構築された機能に接続できます。チームで利用する場合は、Claude Enterprise プランによって、シングルサインオンと管理対象のポリシー設定も追加されます。

API key による Anthropic への直接接続。 Anthropic Console で key を作成し、トークン単位で料金を支払います。インフラストラクチャとリージョンはサブスクリプションの場合と同じで、シート料金は発生せず、使用量は Anthropic 自身のダッシュボードに表示されます。どちらが安くなるかは、agent が実際に 1 日何時間稼働するかによって決まります。これが、API とサブスクリプションのコスト比較および実際の Claude Code の料金の中心的な論点です。

Bedrock または Vertex 上のサードパーティエンドポイント。 自分の AWS または Google Cloud アカウントからモデルを利用します。推論時のリクエスト経路に Anthropic は含まれません。トークン料金は、すでに受け取っている請求に計上され、既存の IAM(identity and access management)ポリシーと監査ログの管理下に置かれます。さらに、Microsoft Foundry と AWS 上の Claude Platform という 2 つのサードパーティオプションもあります。仕組みは同じで、1 つの環境変数でプロバイダーを選択し、クラウドアカウントから料金が請求されます。

名称に関する注記(2026 年 8 月時点):Google は Vertex AI の名称を Google Cloud's Agent Platform に変更しました。Anthropic のドキュメントでは新しい名称が使われていますが、Claude Code のログインプロンプトには引き続き Google Vertex AI と表示され、環境変数には引き続き VERTEX と表示されます。

データレジデンシーが、チームがこの構成を採用する本当の理由です

Bedrock では、リクエストは選択した AWS リージョンにある、独自のアカウント内の Bedrock エンドポイントに送信されます。保存データは AWS 管理キーを使用して AES-256 で暗号化されます。また、AWS KMS(キー管理サービス)を通じて独自のキーを指定することもできます。Vertex では、これに相当するのが Google 管理の暗号化キーで、CMEK(顧客管理暗号化キー)も利用できます。アクセスは既存の IAM ロールによって制御され、呼び出しは他の API 呼び出しと同様に CloudTrail または Cloud Audit Logs に記録されます。規制対象のチームにとって、これが採用理由のすべてであり、十分に妥当な理由です。

ただし、マーケティングで示されるほど単純ではない点が 2 つあります。

クロスリージョン推論プロファイルは、単一のリージョンではありません。 Bedrock では、Claude Code が組み込みのデフォルトモデルをクロスリージョン推論プロファイル ID に解決します。優先されるプレフィックスは、解決先のリージョンに応じて異なります。us.us-* リージョン、eu.eu-* リージョン、apac.ap-* リージョン、us-gov. は GovCloud で使用されます。クロスリージョンプロファイルは、その地理的範囲内の別のリージョンからリクエストを処理する場合があります。そのため、保証されるのは都市ではなく地理的範囲です。要件で 1 つのリージョンを指定する必要がある場合は、管理下のアプリケーション推論プロファイルを経由し、ANTHROPIC_MODEL にその ARN を設定してください。

一部のトラフィックは引き続き Anthropic に到達します。ただし、コードが送信されることはありません。 テレメトリ、エラー報告、/feedback コマンドは、Bedrock と Vertex の両方でデフォルトでは無効です。また、/feedback は何もアップロードせず、独自のマシン上の ~/.claude/feedback-bundles/ にアーカイブを書き込みます。すべてのプロバイダーで、2 つの例外が常に実行されます。URL を取得する前に、WebFetch ツールはホスト名だけを api.anthropic.com に送信し、安全性のブロックリストを確認します。セッション品質に関するアンケートも引き続き表示されます。前者は設定ファイルで skipWebFetchPreflight を使用して無効にし、後者は CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1 で無効にしてください。または、CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC を使用すると、必須ではないすべてのトラフィックを一度に無効にできます。

トレーニングについては、商用条件では、Anthropic は Claude Code を通じて送信されたコードやプロンプトを使用してモデルをトレーニングしません。また、サードパーティプラットフォームの利用にも商用条件が適用されます。トレーニングを許可するオプトイン制度である Development Partner Program は、Bedrock ユーザーにも Vertex ユーザーにも提供されていません。これらのエンドポイントでのゼロデータ保持は、AWS または Google との契約で定める事項です。

Amazon Bedrock に Claude Code を接続する

クライアント設定を行う前に、AWS アカウントごとに 2 つの作業が必要です。Amazon Bedrock コンソールを開き、モデルカタログから Anthropic モデルを選択してユースケースフォームを送信します。アクセスは送信直後に許可されます。次に、Claude Code が実行する呼び出しを許可する IAM ポリシーをアタッチします。

  • bedrock:InvokeModel
  • bedrock:InvokeModelWithResponseStream
  • bedrock:ListInferenceProfiles
  • bedrock:GetInferenceProfile

ListInferenceProfiles により、Claude Code は起動時に、アカウントで実際に呼び出せるモデルを確認できます。GetInferenceProfile により、アプリケーション推論プロファイルの ARN から、その背後にある基盤モデルを特定できます。これにより、適切なリクエスト形式を選択できます。これがなくてもリクエストは成功します。Claude Code がもう一方の形式で 1 回再試行するためです。発生するのは、新しいモデルごとに余分なラウンドトリップが 1 回増えることだけで、エラーにはなりません。

クライアントを最短で設定するには、ウィザードを使用します。claude を実行し、3rd-party platform、続いて Amazon Bedrock を選択します。または、すでにサインインしているセッションで /setup-bedrock と入力します。ウィザードは ~/.aws ディレクトリ内のプロファイルを読み取り、呼び出し可能なモデルを確認します。その結果を ~/.claude/settings.jsonenv ブロックに書き込むため、シェルのプロファイル設定に依存しません。

スクリプトで展開する場合は、変数を自分で設定します。

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

認証情報には標準の AWS SDK 認証情報チェーンが使用されます。そのため、aws CLI ですでに動作している認証方法をそのまま使用できます。aws configure、SSO プロファイル、引き受けたロール、または Bedrock API キーが該当します。

aws sso login --profile=your-profile-name
export AWS_PROFILE=your-profile-name
export AWS_BEARER_TOKEN_BEDROCK=your-bedrock-api-key

ベアラートークンは最も簡単な方法ですが、環境変数に長期間有効な Secret が保存されるため、慎重に扱う必要があります。共有ビルドサーバーでは、有効期限のあるロールを優先してください。同じ考え方は、エージェントが読み取れる他のすべての認証情報にも当てはまります。この点については、AI エージェントの到達範囲から Secret を外す で説明します。

リージョンに関する注意点。 Claude Code は、次の順序でリージョンを解決します。AWS_REGIONAWS_DEFAULT_REGION、アクティブな AWS プロファイルの region、最後に us-east-1 です。最後の手順はデフォルト値の適用であり、エラーではありません。そのため、どこにもリージョンを設定せず、欧州経由のルーティングを想定したチームでは、警告が表示されないままリクエストが米国のリージョンへ送られます。Claude Code 内で /status を実行すると、解決されたリージョンと、その値の取得元を確認できます。あるリージョンでアカウントから呼び出せる対象を確認するには、aws bedrock list-inference-profiles --region your-region を実行します。

Google Vertex AI で Claude Code を実行する

API を有効にし、認証情報を取得します。

gcloud config set project YOUR-PROJECT-ID
gcloud services enable aiplatform.googleapis.com
gcloud auth application-default login

Model Garden で使用する Claude モデルへのアクセスを申請します。承認は即時ではないため、24 から 48 時間かかる場合があります。モデルの呼び出しとトークン数のカウントの両方に使用する aiplatform.endpoints.predict 権限を含む roles/aiplatform.user を付与します。

次にプロバイダーを選択します。

export CLAUDE_CODE_USE_VERTEX=1
export CLOUD_ML_REGION=global
export ANTHROPIC_VERTEX_PROJECT_ID=YOUR-PROJECT-ID

CLOUD_ML_REGION には globaleuus のようなマルチリージョンのロケーション、または単一リージョンを指定します。グローバルエンドポイントは可用性が最も高い一方、リクエストが処理される場所を制御しにくくなります。そのため、データレジデンシー要件がある場合は通常、ロケーションを指定します。モデルの対応状況は、これら3つの指定方法で異なります。必要なモデルの1つがグローバルエンドポイントで利用できない場合は、そのモデルだけを VERTEX_REGION_CLAUDE_* 変数でロケーションに固定し、それ以外はグローバルのままにします。古くなった一覧を信用せず、最新の Vertex AI ロケーション ページを確認してください。

プロジェクトの落とし穴。 ANTHROPIC_VERTEX_PROJECT_ID はプロジェクト ID の参照元として優先度が最も低くなります。GCLOUD_PROJECTGOOGLE_CLOUD_PROJECT、および GOOGLE_APPLICATION_CREDENTIALS で指定した認証情報ファイルが優先されます。これらのいずれかがすでに export されているマシンでは、料金が別のプロジェクトに計上されますが、セッション内にはそのことを示す情報がありません。

プロバイダーを変更した後は、必ず確認してください。/status を実行します。API provider 行には Google Vertex AI が表示され、GCP projectDefault regionModel の各行には Claude Code が実際に解決した値が表示されます。プロバイダーの行がない場合、変数がプロセスに渡っていません。claude を起動したシェルとは別のシェルで export したことが原因です。設定ファイルの env ブロックに変数を移動してください。これにより、AWS_PROFILE のような値が、起動する他のすべてのプロセスに渡ることも防げます。

取得されるモデルと、利用可能になるまでの遅延

sonnetopusなどのエイリアスは、最新モデルを意味しません。サードパーティーのエンドポイントでは、これらはそのプロバイダー向けに Claude Code に組み込まれたデフォルトモデルへ解決されます。このモデルは現行リリースより古い場合があり、アカウントで有効になっていないこともあります。デフォルトモデルを利用できない場合、Claude Code はそのセッションで以前のモデルまたは下位ティアのモデルにフォールバックし、通知を表示します。このフォールバックは保存されないため、次のセッションでも再試行され、同じ通知が再び表示されます。

チーム全体に展開する場合は、バージョンを固定してください。

# Copy the exact IDs from your provider's own model catalog.
export ANTHROPIC_DEFAULT_OPUS_MODEL='<provider model id>'
export ANTHROPIC_DEFAULT_SONNET_MODEL='<provider model id>'
export ANTHROPIC_DEFAULT_HAIKU_MODEL='<provider model id>'

ID は models overview とプロバイダーのカタログから取得してください。形式はプロバイダーによって異なります。Bedrock では inference profile ID または ARN が必要で、Vertex ではモデル名をそのまま指定します。この記事を含め、記事から ID をコピーしないでください。バージョンの固定はコスト管理にもなります。デフォルトのプライマリモデルは Opus クラスのモデルであり、Opus は Sonnet よりトークン単価が高いため、何も固定しない展開では高い料金が適用されます。セッションのデフォルトとして特定のモデルを固定するには、ANTHROPIC_MODEL に完全な ID を設定してください。

モデルが利用可能になるまでの遅延は、この比較で最も明確なトレードオフです。Anthropic 独自の API では、モデルはリリース当日から利用できます。Bedrock と Vertex では、クラウドプロバイダーが対象リージョンでモデルを有効にし、アカウントへのアクセスを許可してから利用できます。早くても数日後で、さらに長くかかる場合もあります。最新モデルで実行する必要がある処理がある場合は、そのモデルに到達できるルーティングを 1 つ確保してください。これが、異なるジョブに異なるモデルをルーティングする実際的な理由です。

Bedrock と Vertex で利用できない機能

ローカルで動作する機能は、どちらのプロバイダーでもすべて利用できます。サブエージェント、フック、スラッシュコマンド、スキル、プラグイン、チェックポイント、サンドボックス化、管理対象の設定ファイル、OpenTelemetry メトリクスが該当します。差異はすべてサーバー側にあります。

両方のエンドポイントで利用できない機能は、fast mode、Advisor、Channels、セッション間メッセージング、分析ダッシュボード、サーバー管理の設定です。claude.ai アカウントを必要とする機能もすべて利用できません。これには、Web 上の Claude Code、モバイルアプリ、Desktop、Remote Control、ルーティン、アーティファクトが含まれます。

Bedrock でのみ利用できない機能は WebSearch ツールです。そのため、Bedrock にルーティングされたセッションから Claude が検索を実行することはできません。ただし、URL を指定すれば WebFetch でページを読み取れます。Vertex では Web 検索を利用できますが、対象は Claude 4 生成モデル以降です。

両方で一部のみ利用できる機能もあります。auto mode は、新しいモデルのうち限定されたセットでのみ動作します。また、/loop には明示的な間隔の指定が必要です。/loop 自身では間隔を選択できないためです。チームに機能の提供を約束する前に、Anthropic の機能対応状況ページを確認してください。この一覧は変更されます。

請求はどこに発生するのか

サブスクリプションとサードパーティのエンドポイントは、別々に購入するものです。一方が他方の代わりになることはありません。

この点は明確にしておく必要があります。間違えても気付きにくいためです。Max seat にもサインインしているマシンで CLAUDE_CODE_USE_BEDROCK=1 を設定すると、すべてのトークンが Bedrock の料金に基づいて AWS から従量課金されます。Max seat の月額料金は発生し続けますが、そのネットワークトラフィックには一切充当されません。料金をまとめて確認する画面もありません。利用額は AWS Cost Explorer または Google Cloud Billing で確認することになり、どちらのプロバイダーでも Anthropic analytics dashboard は利用できません。終了すべき Anthropic セッションが存在しないため、/logout コマンドも表示されません。使用する認証情報は cloud credential です。

料金は各プロバイダーの公式ページに掲載されており、変更されるため、記事内の数値ではなく Amazon Bedrock pricing または Vertex AI pricing を確認してください。構造上変わらない点が1つあります。これらのエンドポイントではトークン単位で推論を購入するため、エージェントを終日実行した場合は、その実行時間分の料金が発生します。プラン上限によって停止することはありません。

ルーティングごとにレート制限とクォータの仕組みは異なります

サブスクリプションでは、制限はアカウントに紐付き、決められたスケジュールでリセットされます。制限に達した場合は、リセットされるまで待つ必要があります。この動作については、使用量の制限の仕組みで説明しています。

Anthropic API keyでは、制限は組織に紐付き、1 分あたりのリクエスト数とトークン数で表されます。制限値は使用ティアが上がるにつれて増加します。

BedrockとVertexでは、制限はクラウドクォータです。アカウントまたはプロジェクト、モデル、リージョンごとに適用され、Anthropicのプランとは関係ありません。429が返る場合、そのリージョンで対象モデルを使用しているアカウントがクォータに達しています。そのため、対処はプロバイダーのコンソールで行います。増加を申請するか、余裕のあるリージョンへ移行してください。Bedrockでは、クォータは単純なリクエスト数ではなく、token burndownルールに基づいて消費されます。予約容量はプロビジョンドスループットとして購入します。Vertexでは、単一リージョンのエンドポイントがプライマリモデルと小型の高速モデルの両方に対応していないため、429が返ることがあります。そのため、CLOUD_ML_REGION=globalが公式ドキュメントで案内されている開始点です。増加申請については、Googleのクォータページを参照してください。

エラーのパターンと表示される文字列

Vertex での Could not load the default credentials Application Default Credentials がないか、期限切れです。gcloud auth application-default login を実行するか、GOOGLE_APPLICATION_CREDENTIALS にサービスアカウントのキーファイルを指定します。

Vertex でモデル名を示す 404。 そのプロジェクトの Model Garden でモデルが有効になっていないか、設定したロケーションでは提供されていません。一部のモデルはグローバルエンドポイント、または eu のようなマルチリージョンロケーションでのみ提供され、特定のリージョンでは利用できません。

Bedrock での on-demand throughput isn't supported 推論プロファイル経由でのみ提供されるモデルに対して、単独の foundation model ID を渡しています。代わりに推論プロファイル ID を使用します。

AWS default-chain credential resolve timed out AWS 認証情報チェーンの処理が停止しています。多くの場合、credential_process ヘルパーが、受け取れない入力を待ち続けています。チェーンの各解決処理は 60 秒後にタイムアウトします。ラッパーの背後で MFA(多要素認証)を使うブラウザー SSO フローなど、チェーンに 60 秒を超える時間が必要な場合は、CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS で上限をミリ秒単位に引き上げます。

Bedrock streaming response has content-type の起動時エラー。 Claude Code と Bedrock の間にある何らかのコンポーネントがストリームを書き換えています。Bedrock はコンテンツタイプ application/vnd.amazon.eventstream のバイナリ event-stream 形式でストリームを返します。そのため、ゲートウェイがこれを server-sent events として再送すると、Claude Code がデコードできない本文になります。ゲートウェイを修正し、レスポンス本文と Content-Type ヘッダーを変更せずに転送します。

AWS SSO 中にブラウザータブが繰り返し開く。 企業 VPN または TLS インスペクションプロキシがサインインを中断します。Claude Code は切断された接続を認証失敗として処理し、awsAuthRefresh コマンドを再実行するため、処理が無限に繰り返されます。設定ファイルから awsAuthRefresh を削除し、Claude Code の起動前に aws sso login を手動で実行します。

ルーティングの選択

リリース初日から新しいモデルを利用し、すべての機能を使いたい場合は、Anthropic の直接接続を選択します。シートを購入せず、トークン単位で課金したい場合は、API key を選択します。推論を、すでに管理しているクラウドアカウント内で実行する必要があり、その代わりにモデルの提供ペースが遅く、利用できる機能も少なくてよい場合は、Bedrock または Vertex を選択します。ブックマークしておく価値がある設定ページは、Anthropic 公式の Amazon BedrockGoogle Vertex AI のページ、および AWS の リージョン別モデル一覧 です。

3 つの選択肢のいずれでも、エージェント自体が実行される場所は変わりません。応答するエンドポイントに関係なく、Claude Code はローカルプロセスとしてファイルを読み取り、コマンドを実行します。そのため、ノートパソコン以外の場所で実行したいチームは、コーディングエージェントを VPS に配置し、同じ環境変数をそこで設定します。

FAQ

Claude のサブスクリプションで Bedrock または Vertex 上の Claude Code の料金も支払えますか?

いいえ。Pro、Max、Team、Enterprise のシートとサードパーティーエンドポイントは別々の購入であり、一方が他方をカバーすることはありません。CLAUDE_CODE_USE_BEDROCK=1 または CLAUDE_CODE_USE_VERTEX=1 を設定すると、すべてのトークンが AWS または Google Cloud の料金体系に従って従量課金され、そのクラウドの請求に計上されます。一方、シートの料金は対象となる機能に対して毎月発生します。利用状況の追跡先も AWS Cost Explorer または Google Cloud Billing に移ります。どちらのプロバイダーでも Anthropic の分析ダッシュボードは利用できないためです。

Amazon Bedrock 上の Claude Code は、どのリージョンにリクエストを送信しますか?

/status に表示される、解決済みのリージョンです。Claude Code は AWS_REGION、次に AWS_DEFAULT_REGION、その次にアクティブな AWS プロファイルの region を確認し、いずれも設定されていない場合は us-east-1 にフォールバックします。組み込みのデフォルトモデルは、そのリージョンに対応するプレフィックスを持つクロスリージョン推論プロファイルに解決されます。たとえば us.eu. です。クロスリージョンプロファイルは、同じ地域内の別のリージョンからリクエストを処理する場合があります。特定のリージョンを必須にする場合は、自分で管理するアプリケーション推論プロファイルを使用し、ANTHROPIC_MODEL にその ARN を設定します。

Bedrock または Vertex のアカウントで最新の Claude モデルを利用できないのはなぜですか?

各クラウドプロバイダーが独自のスケジュールでモデルを有効化し、そのうえでアカウントにアクセス権を付与する必要があるためです。Vertex では Model Garden でアクセスを申請します。承認には 24 から 48 時間かかる場合があります。それまでは、sonnetopus などのエイリアスが、そのプロバイダー向けに Claude Code に組み込まれたデフォルトへ解決されます。そのデフォルトをアカウントで利用できない場合、Claude Code はセッション中に以前のモデルまたは下位ティアのモデルへフォールバックし、通知を表示します。ANTHROPIC_DEFAULT_SONNET_MODEL と関連する設定には、利用可能であることを確認した ID を固定してください。

Amazon Bedrock 上の Claude Code では Web 検索を利用できますか?

いいえ。Bedrock では WebSearch ツールを利用できないため、そこへルーティングされたセッションから Claude が検索を実行することはできません。ただし、URL を指定すれば WebFetch で特定のページを読み取れます。Google Vertex AI では Web 検索を利用できます。Claude 4 世代以降のモデルが対象であり、これは Vertex が優位となる数少ない機能差の 1 つです。

Bedrock または Vertex 上で Claude Code を実行するには Anthropic アカウントが必要ですか?

いいえ。認証には AWS または Google Cloud の認証情報を使用します。そのため、/logout はどちらのプロバイダーでも利用できません。使用するプロバイダーに関係なく、Anthropic への接続が 1 つ残ります。WebFetch ツールは URL を取得する前に、ホスト名だけを api.anthropic.com に送信し、安全性ブロックリストとの照合を行います。これを無効にするには、設定ファイルで skipWebFetchPreflight を設定してください。Claude がアクセスできるドメインを引き続き制限したい場合は、WebFetch の権限ルールと併用します。