5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Codeの接続先をAnthropic直接とAmazon Bedrockをサクッと切り替える

5
Last updated at Posted at 2025-12-21

この投稿はプライム・ブレインズ Advent Calendar 2025 の22日目の記事です。

こんにちは。@masatomixです。

最近、仕事で Claude Codeを積極的に活用していますが、仕事の内容によってAnthropic直接ではなく Amazon Bedrockを使う必要があったりで、接続先を機動的に切り替えたいときがあります。

ちなみに、Claude Codeの接続先をBedrockにするには、環境変数で切り替えることができます。

$ export CLAUDE_CODE_USE_BEDROCK=1
$ export ANTHROPIC_MODEL=jp.anthropic.claude-sonnet-4-5-20250929-v1:0
$ export AWS_REGION=ap-northeast-1
$ export AWS_PROFILE=foo-profile
$ claude

参考:Claude Code から Amazon Bedrock を利用する

ProやMaxライセンスを購入する前に少しだけClaude Codeを触ってみたい、なんて時にもつかえそうですね。

課題

ただし環境変数はシェル全体に適用されるため、元のClaudeに戻すにはシェル再起動か下記のように環境変数のunsetが必要で、多少メンドクサイんですよね。

$ unset CLAUDE_CODE_USE_BEDROCK
$ unset ANTHROPIC_MODEL
$ unset AWS_REGION
$ unset AWS_PROFILE
もしくは
$ unset CLAUDE_CODE_USE_BEDROCK ANTHROPIC_MODEL AWS_REGION AWS_PROFILE           

解決策:子シェルで一時的に環境変数を適用

というわけで解決策ですが、.bashrc など起動時に読み込まれるファイルに以下の関数を追加します。

claude_bedrock() {
  (
    export CLAUDE_CODE_USE_BEDROCK=1
    export ANTHROPIC_MODEL=jp.anthropic.claude-sonnet-4-5-20250929-v1:0
    export AWS_REGION=ap-northeast-1
    export AWS_PROFILE=foo-profile
    claude "$@"
  )
}

ポイントは関数内を () で囲むこと。これにより子シェルで実行され、環境変数が親シェルに影響しません。

使うときは

$ claude_bedrock   # → Bedrock経由で起動
$ claude           # → 通常のAnthropic直接接続

これで claude_bedrockclaude を使い分けることで、Bedrock経由での起動と通常のAnthropic接続を切り替えることができます。

一応疎通確認

一応やってみた。

$ tail ~/.bashrc
claude_bedrock() {
  (
  export CLAUDE_CODE_USE_BEDROCK=1
  export ANTHROPIC_MODEL=jp.anthropic.claude-sonnet-4-5-20250929-v1:0
  export AWS_REGION=ap-northeast-1
  export AWS_PROFILE=foo-profile
  claude "$@"
  )
}

$ claude_bedrock

 * ▐▛███▜▌ *   Claude Code v2.0.72
* ▝▜█████▛▘ *  jp.anthropic.claude-sonnet-4-5-20250929-v1:0 · API Usage Billing
 *  ▘▘ ▝▝  *   ~/git/my-task

  /model to try Opus 4.5. Note: you may need to request access from your cloud provider

> /exit
  ⎿  Bye!


$ claude

 * ▐▛███▜▌ *   Claude Code v2.0.72
* ▝▜█████▛▘ *  Opus 4.5 · Claude Max
 *  ▘▘ ▝▝  *   ~/git/my-task

> /exit
  ⎿  Catch you later!

$

うまくいきました!おつかれさまでした。

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?