前提条件

BedrockでClaude Codeを設定する前に、以下を確認してください:

  • Bedrockアクセスが有効化されたAWSアカウント
  • Bedrockで希望するClaudeモデル(例:Claude Sonnet 4)へのアクセス
  • AWS CLIがインストールされ設定済み(オプション - 認証情報を取得する他の仕組みがない場合のみ必要)
  • 適切なIAM権限

セットアップ

1. モデルアクセスの有効化

まず、AWSアカウントで必要なClaudeモデルへのアクセスがあることを確認します:

  1. Amazon Bedrockコンソールに移動
  2. 左側のナビゲーションでモデルアクセスに移動
  3. 希望するClaudeモデル(例:Claude Sonnet 4)へのアクセスをリクエスト
  4. 承認を待つ(ほとんどのリージョンで通常は即座)

2. AWS認証情報の設定

Claude Codeはデフォルトのaws SDK認証情報チェーンを使用します。以下のいずれかの方法で認証情報を設定してください:

オプションA: AWS CLI設定

aws configure

オプションB: 環境変数(アクセスキー)

export AWS_ACCESS_KEY_ID=your-access-key-id
export AWS_SECRET_ACCESS_KEY=your-secret-access-key
export AWS_SESSION_TOKEN=your-session-token

オプションC: 環境変数(SSOプロファイル)

aws sso login --profile=<your-profile-name>

export AWS_PROFILE=your-profile-name

オプションD: Bedrock APIキー

export AWS_BEARER_TOKEN_BEDROCK=your-bedrock-api-key

Bedrock APIキーは、完全なAWS認証情報を必要とせずに、よりシンプルな認証方法を提供します。Bedrock APIキーについて詳しく学ぶ

高度な認証情報設定

Claude CodeはAWS SSOおよび企業アイデンティティプロバイダーの自動認証情報更新をサポートしています。これらの設定をClaude Code設定ファイルに追加してください(ファイルの場所については設定を参照)。

Claude CodeがAWS認証情報の期限切れを検出した場合(タイムスタンプに基づくローカル検出、またはBedrockが認証情報エラーを返した場合)、リクエストを再試行する前に設定されたawsAuthRefreshおよび/またはawsCredentialExportコマンドを自動的に実行して新しい認証情報を取得します。

設定例
{
  "awsAuthRefresh": "aws sso login --profile myprofile",
  "env": {
    "AWS_PROFILE": "myprofile"
  }
}
設定項目の説明

awsAuthRefresh: .awsディレクトリを変更するコマンド(認証情報、SSOキャッシュ、または設定ファイルの更新など)に使用します。出力はユーザーに表示されます(ただしユーザー入力はサポートされません)。これにより、CLIがブラウザで入力するコードを表示するブラウザベースの認証フローに適しています。

awsCredentialExport: .awsを変更できず、認証情報を直接返す必要がある場合のみ使用します。出力は静かにキャプチャされます(ユーザーには表示されません)。コマンドは以下の形式でJSONを出力する必要があります:

{
  "Credentials": {
    "AccessKeyId": "value",
    "SecretAccessKey": "value",
    "SessionToken": "value"
  }
}

3. Claude Codeの設定

Bedrockを有効にするために以下の環境変数を設定します:

# Bedrock統合を有効化
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=us-east-1  # または希望するリージョン

# オプション: 小型/高速モデル(Haiku)のリージョンを上書き
export ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION=us-west-2

Claude CodeでBedrockを有効にする際は、以下を念頭に置いてください:

  • AWS_REGIONは必須の環境変数です。Claude Codeはこの設定について.aws設定ファイルから読み取りません。
  • Bedrockを使用する場合、認証はAWS認証情報を通じて処理されるため、/loginおよび/logoutコマンドは無効になります。
  • 他のプロセスに漏洩させたくないAWS_PROFILEなどの環境変数には設定ファイルを使用できます。詳細については設定を参照してください。

4. モデル設定

Claude CodeはBedrockに対してこれらのデフォルトモデルを使用します:

モデルタイプデフォルト値
プライマリモデルus.anthropic.claude-3-7-sonnet-20250219-v1:0
小型/高速モデルus.anthropic.claude-3-5-haiku-20241022-v1:0

モデルをカスタマイズするには、以下のいずれかの方法を使用します:

# 推論プロファイルIDを使用
export ANTHROPIC_MODEL='us.anthropic.claude-opus-4-1-20250805-v1:0'
export ANTHROPIC_SMALL_FAST_MODEL='us.anthropic.claude-3-5-haiku-20241022-v1:0'

# アプリケーション推論プロファイルARNを使用
export ANTHROPIC_MODEL='arn:aws:bedrock:us-east-2:your-account-id:application-inference-profile/your-model-id'

# オプション: 必要に応じてプロンプトキャッシュを無効化
export DISABLE_PROMPT_CACHING=1

プロンプトキャッシュはすべてのリージョンで利用できない場合があります

5. 出力トークン設定

Amazon BedrockでClaude Codeを使用する場合、以下のトークン設定を推奨します:

# Bedrockに推奨される出力トークン設定
export CLAUDE_CODE_MAX_OUTPUT_TOKENS=4096
export MAX_THINKING_TOKENS=1024

これらの値の理由:

  • CLAUDE_CODE_MAX_OUTPUT_TOKENS=4096: Bedrockのバーンダウンスロットリングロジックは、max_tokenペナルティとして最低4096トークンを設定します。これより低く設定してもコストは削減されませんが、長いツール使用が切り捨てられ、Claude Codeエージェントループが持続的に失敗する可能性があります。Claude Codeは通常、拡張思考なしでは4096出力トークン未満を使用しますが、大幅なファイル作成やWriteツール使用を含むタスクにはこの余裕が必要な場合があります。

  • MAX_THINKING_TOKENS=1024: これにより、ツール使用レスポンスを切り捨てることなく拡張思考のスペースを提供し、集中した推論チェーンを維持します。このバランスは、コーディングタスクに特化して常に有用とは限らない軌道変更を防ぐのに役立ちます。

IAM設定

Claude Codeに必要な権限を持つIAMポリシーを作成します:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "bedrock:InvokeModel",
        "bedrock:InvokeModelWithResponseStream",
        "bedrock:ListInferenceProfiles"
      ],
      "Resource": [
        "arn:aws:bedrock:*:*:inference-profile/*",
        "arn:aws:bedrock:*:*:application-inference-profile/*"
      ]
    }
  ]
}

より制限的な権限については、Resourceを特定の推論プロファイルARNに制限できます。

詳細については、Bedrock IAMドキュメントを参照してください。

コスト追跡とアクセス制御を簡素化するために、Claude Code専用のAWSアカウントを作成することを推奨します。

トラブルシューティング

リージョンの問題が発生した場合:

  • モデルの可用性を確認:aws bedrock list-inference-profiles --region your-region
  • サポートされているリージョンに切り替え:export AWS_REGION=us-east-1
  • クロスリージョンアクセスには推論プロファイルの使用を検討

「オンデマンドスループットはサポートされていません」エラーを受信した場合:

Claude CodeはBedrock Invoke APIを使用し、Converse APIはサポートしていません。

追加リソース