🖥️

Claude Code を AWS Bedrock (Sonnet4) で触ってみる

に公開

Anthropic が提供する AI コーディングアシスタント「Claude Code」を、AWS Bedrock 上の Sonnet4 モデルと連携させて試してみた。この記事では、その際の事前準備、セットアップ手順、基本的な使い方、そして使ってみた所感をまとめる。

はじめに

Claude Code は、ターミナル上で対話的にコード生成や説明、デバッグなどを行えるツールである。筆者の環境だと会社負担でBedrockを使えることもあり、バックエンドとして AWS Bedrock の claude-sonnet-4 モデルを利用する形でセットアップを行った。

参考にした情報

セットアップや試用にあたり、以下の情報を参考にした。

事前準備

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

まず、AWS で Sonnet4 モデルへのアクセスを有効化した。
AWS マネジメントコンソールから Bedrock の「Model access」設定画面に移動し、Claude Sonnet 4 (anthropic.claude-sonnet-4-20250514-v1:0) などの利用したいモデルへのアクセスをリクエストし、有効化されていることを確認する。

2. Claude Code のインストール

次に、Claude Code 本体をインストールする。
Claude Code のすすめを参考にした。

3. 環境変数の設定

Claude Code を起動する前に、AWS Bedrock を利用するための環境変数を設定する。

東京リージョン (ap-northeast-1) の場合

export AWS_ACCESS_KEY_ID='YOUR_AWS_ACCESS_KEY_ID'
export AWS_SECRET_ACCESS_KEY='YOUR_AWS_SECRET_ACCESS_KEY'

export AWS_REGION=ap-northeast-1
export ANTHROPIC_MODEL=apac.anthropic.claude-sonnet-4-20250514-v1:0
export CLAUDE_CODE_USE_BEDROCK=1

# 設定後、claude コマンドで起動
claude

USリージョン (us-east-1) の場合

export AWS_ACCESS_KEY_ID='YOUR_AWS_ACCESS_KEY_ID'
export AWS_SECRET_ACCESS_KEY='YOUR_AWS_SECRET_ACCESS_KEY'

export AWS_REGION=us-east-1
export ANTHROPIC_MODEL=us.anthropic.claude-sonnet-4-20250514-v1:0
export CLAUDE_CODE_USE_BEDROCK=1

# 設定後、claude コマンドで起動
claude

ANTHROPIC_MODEL のプレフィックス (apac.us.) は、利用するリージョンに合わせて設定する必要があるらしい。

https://docs.anthropic.com/ja/docs/claude-code/settings

{
    "env": {
        "AWS_ACCESS_KEY_ID": "YOUR_AWS_ACCESS_KEY_ID",
        "AWS_SECRET_ACCESS_KEY": "YOUR_AWS_SECRET_ACCESS_KEY",
        "AWS_REGION": "us-east-1",
        "ANTHROPIC_MODEL": "us.anthropic.claude-sonnet-4-20250514-v1:0",
        "CLAUDE_CODE_USE_BEDROCK": "1"
    }
}

セットアップ

環境変数を設定後、ターミナルで claude コマンドを実行すると、初回セットアップが開始される。

  1. カラーモード選択: 好みのカラーモードを選ぶ。
  2. Security Notes: 内容を確認し、エンターキーを押して進む。
  3. ターミナルのセットアップ: 推奨されるものを選択した。
  4. カレントディレクトリの信頼: カレントディレクトリ配下のファイルを Claude Code が読み取って良いか確認されるので、「Yes」を選択した。

基本的な使い方を試す

/init コマンド

Claude Code を起動後、プロジェクトのルートで /init コマンドを実行してみた。
これにより、プロジェクトの概要や構造を記述するマークダウンファイル (CLAUDE.md) が自動生成される。

Python で "Hello, World!"

次に、簡単な Python コードの生成を試した。

「pythonでHello Worldを出力するコードを実装し、ターミナルで実行したいです」と指示したところ、コードは生成・実行された。
しかし、東京リージョン (ap-northeast-1) の Bedrock モデルを利用している際に、以下の API エラーが頻発した。

API Error (429 Too many tokens, please wait before trying again.)

そこで、環境変数を US リージョン (us-east-1) に切り替えて再度試したところ、エラーは発生せず、レスポンスも比較的早くなった。
2025年6月5日時点では、AWS Bedrock 上の Sonnet4 モデルを利用する場合、US リージョンの方が安定している可能性がある。

使ってみた所感

  • ターミナルの日本語入力: ターミナル上で直接日本語を入力する際の挙動(予変換が入力欄の外に表示され、エンターを押すまで変換の様がわからない感じ)があまり好きではなかった
  • Cursor との比較: Cursor と比較すると、Claude Code はより自動的にコマンド実行を行ってくれる気がした(まだ "Hello, World!" 程度しか試していないので確たることは言えない……)
  • /init コマンドの有用性: /init で生成されるマークダウンファイルは、プロジェクトの目的や構造、主要なファイルなどを自動で記述してくれるため、チーム開発時のドキュメント作成の初期段階で役立ちそう
  • 他の開発者の評価: 個人的にはまだ Cursor と比べて明確な優位性を体験できていないが、一部の開発者からは非常に高く評価されているようである(参考: 技術選定の審美眼(2025年版))。今後、より複雑なタスクで試していく中で、その真価を体験できるかもしれない。

まとめ

Claude Code を AWS Bedrock (Sonnet4) と連携させて試す初期設定と、簡単な動作確認を行った。
リージョンによる安定性の違いや、IDE 連携の注意点など、いくつか留意すべき点があったが、基本的なセットアップは比較的スムーズに行えた。
特に /init コマンドによるプロジェクト概要の自動生成はかなりのクオリティなんじゃないかと感じた。

追記

実際に業務で使っているディレクトリで/initをしてCLAUDE.mdを作成してみた。(業務なので詳細は伏せます)
正直全然ディレクトリルールもなくカオスな構成なのだが、だいたい認識あっていたし、主要なStreamlitのアプリ、SNowflakeでのデータベース構造、ウェアハウス、ロール情報、前処理やセマンティックモデルのファイルの位置、IPファンkitの概要、あたりが網羅されてた。

Discussion