Amazon BedrockでのClaude Code
Amazon Bedrockを通じたClaude Codeの設定について、セットアップ、IAM設定、トラブルシューティングを含めて学習します。
前提条件
BedrockでClaude Codeを設定する前に、以下を確認してください:
- Bedrockアクセスが有効化されたAWSアカウント
- Bedrockで希望するClaudeモデル(例:Claude Sonnet 4)へのアクセス
- AWS CLIがインストールされ設定済み(オプション - 認証情報を取得する他の仕組みがない場合のみ必要)
- 適切なIAM権限
セットアップ
1. モデルアクセスの有効化
まず、AWSアカウントで必要なClaudeモデルへのアクセスがあることを確認します:
- Amazon Bedrockコンソールに移動
- 左側のナビゲーションでモデルアクセスに移動
- 希望するClaudeモデル(例:Claude Sonnet 4)へのアクセスをリクエスト
- 承認を待つ(ほとんどのリージョンで通常は即座)
2. AWS認証情報の設定
Claude Codeはデフォルトのaws SDK認証情報チェーンを使用します。以下のいずれかの方法で認証情報を設定してください:
オプションA: AWS CLI設定
オプションB: 環境変数(アクセスキー)
オプションC: 環境変数(SSOプロファイル)
オプションD: Bedrock APIキー
Bedrock APIキーは、完全なAWS認証情報を必要とせずに、よりシンプルな認証方法を提供します。Bedrock APIキーについて詳しく学ぶ。
高度な認証情報設定
Claude CodeはAWS SSOおよび企業アイデンティティプロバイダーの自動認証情報更新をサポートしています。これらの設定をClaude Code設定ファイルに追加してください(ファイルの場所については設定を参照)。
Claude CodeがAWS認証情報の期限切れを検出した場合(タイムスタンプに基づくローカル検出、またはBedrockが認証情報エラーを返した場合)、リクエストを再試行する前に設定されたawsAuthRefresh
および/またはawsCredentialExport
コマンドを自動的に実行して新しい認証情報を取得します。
設定例
設定項目の説明
awsAuthRefresh
: .aws
ディレクトリを変更するコマンド(認証情報、SSOキャッシュ、または設定ファイルの更新など)に使用します。出力はユーザーに表示されます(ただしユーザー入力はサポートされません)。これにより、CLIがブラウザで入力するコードを表示するブラウザベースの認証フローに適しています。
awsCredentialExport
: .aws
を変更できず、認証情報を直接返す必要がある場合のみ使用します。出力は静かにキャプチャされます(ユーザーには表示されません)。コマンドは以下の形式でJSONを出力する必要があります:
3. Claude Codeの設定
Bedrockを有効にするために以下の環境変数を設定します:
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 |
モデルをカスタマイズするには、以下のいずれかの方法を使用します:
プロンプトキャッシュはすべてのリージョンで利用できない場合があります
5. 出力トークン設定
Amazon BedrockでClaude Codeを使用する場合、以下のトークン設定を推奨します:
これらの値の理由:
-
CLAUDE_CODE_MAX_OUTPUT_TOKENS=4096
: Bedrockのバーンダウンスロットリングロジックは、max_tokenペナルティとして最低4096トークンを設定します。これより低く設定してもコストは削減されませんが、長いツール使用が切り捨てられ、Claude Codeエージェントループが持続的に失敗する可能性があります。Claude Codeは通常、拡張思考なしでは4096出力トークン未満を使用しますが、大幅なファイル作成やWriteツール使用を含むタスクにはこの余裕が必要な場合があります。 -
MAX_THINKING_TOKENS=1024
: これにより、ツール使用レスポンスを切り捨てることなく拡張思考のスペースを提供し、集中した推論チェーンを維持します。このバランスは、コーディングタスクに特化して常に有用とは限らない軌道変更を防ぐのに役立ちます。
IAM設定
Claude Codeに必要な権限を持つIAMポリシーを作成します:
より制限的な権限については、Resourceを特定の推論プロファイルARNに制限できます。
詳細については、Bedrock IAMドキュメントを参照してください。
コスト追跡とアクセス制御を簡素化するために、Claude Code専用のAWSアカウントを作成することを推奨します。
トラブルシューティング
リージョンの問題が発生した場合:
- モデルの可用性を確認:
aws bedrock list-inference-profiles --region your-region
- サポートされているリージョンに切り替え:
export AWS_REGION=us-east-1
- クロスリージョンアクセスには推論プロファイルの使用を検討
「オンデマンドスループットはサポートされていません」エラーを受信した場合:
- モデルを推論プロファイルIDとして指定
Claude CodeはBedrock Invoke APIを使用し、Converse APIはサポートしていません。