- 公開日
- 最終更新日
EC2上でClaude Codeを動かしてみた
この記事を共有する
目次
パーソル&サーバーワークスの髙井です。
AWSを中心としたクラウドインフラの設計・構築・運用を担当しています。
はじめに
Claude Code は Anthropic が提供するターミナルベースの AI コーディングアシスタントです。
通常はローカル PC から直接 Anthropic API を叩いて利用しますが、今回は AWS の EC2 インスタンス上で Claude Code を起動し、Amazon Bedrock 経由で利用する構成を試してみました。
本ブログでは、実際に動作確認まで完了した構成と、そのセットアップ手順を紹介します。
なお、CloudShell を使って Claude Code を試す方法については、CloudShell を使用して Claude Code を簡単に試すで紹介されています。
想定読者
AWS の基本的なサービス(VPC、EC2、IAM など)を触ったことがあるが、AI サービスにはあまり触れたことのない方
前提条件
本ブログでは下記が構築・設定済みであることを前提としています。
- VPC、Public Subnet、Private Subnet、Internet Gateway(以下、IGW)が構築済みであること
- EC2 Instance Connect Endpoint、Session Manager、キーペアによる SSH など、任意の方法で EC2 に接続できること
- Amazon Bedrock コンソールで使用する Claude モデルへのアクセスが有効化済みであること
※Bedrock は新規利用時にモデルごとのアクセスリクエスト承認が必要です。
※Bedrock を利用した Claude Code のセットアップの詳細については、Claude Code - Amazon Bedrockを参照してください。
構成概要
今回構築した環境の全体像は下記のとおりです。

使用リソース一覧
| リソース | 用途 |
|---|---|
| VPC | ネットワークの分離 |
| Public Subnet | EC2 インスタンスの配置 |
| Internet Gateway(IGW) | EC2 からインターネットへの通信経路 |
| EC2 | Claude Code の実行環境 |
| IAM Role | EC2 に Bedrock の呼び出し権限を付与 |
| Amazon Bedrock | Claude モデルの API 提供 |
セットアップ手順
1. IAM Role の作成
EC2 にアタッチする IAM Role を作成します。
Bedrock を呼び出すために、下記のポリシーを付与します。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"bedrock:InvokeModel",
"bedrock:InvokeModelWithResponseStream"
],
"Resource": [
// Bedrock のオンデマンドモデル呼び出し用
"arn:aws:bedrock:*::foundation-model/anthropic.claude-*",
// Claude Code が利用する推論プロファイル用
"arn:aws:bedrock:*:*:inference-profile/global.anthropic.claude-*"
]
}
]
}
信頼ポリシー では、EC2 サービスからの AssumeRole を許可します。
2. EC2 インスタンスの起動
Public Subnet に EC2 インスタンスを起動します。
本ブログでは Amazon Linux 2023 を使用しています。
インスタンスタイプは t3.small 以上を選択してください。
※t3.micro などメモリが 1 GB 以下のインスタンスでは、Claude Code のインストール時にメモリ不足で失敗します。
- 作成した IAM Role をインスタンスプロファイルとしてアタッチ
- セキュリティグループでアウトバウンド HTTPS(ポート 443)を許可(Bedrock API 呼び出しに必要)
3. Claude Code のインストール
EC2 に SSH 接続後、Claude Code をインストールします。
curl -fsSL https://claude.ai/install.sh | bash
4. Bedrock 経由で基盤モデルを使用するための環境変数を設定する
Bedrock を利用するためのフラグ、利用する AWS リージョン、基盤モデル(ID)を設定します。
CLAUDE_CODE_USE_BEDROCK=1を設定することで、Claude Code は Anthropic API ではなく Amazon Bedrock 経由でモデルを呼び出しますANTHROPIC_MODELには使用するモデルの推論プロファイル ID を指定しますglobal.プレフィックスはクロスリージョン推論を意味し、リクエストが複数のリージョンに分散されるため、可用性が向上します- 利用可能なモデル ID は Amazon Bedrock のクロスリージョン推論のドキュメント を参照してください
- IAM Role の認証情報が EC2 のメタデータサービスから自動的に取得されるため、API キーの管理が不要です
export CLAUDE_CODE_USE_BEDROCK=1
export ANTHROPIC_MODEL='global.anthropic.claude-haiku-4-5-20251001-v1:0'
export AWS_REGION=ap-northeast-1
5. Claude Code を起動する
下記のコマンドで Claude Code を起動します。
claude
初回起動時には配色を設定するプロンプトが表示されます。
続いて、Claude Code を利用する際のセキュリティ上の注意点についてユーザーに確認を求めるプロンプトが表示されます。
ここまでで Claude Code を Bedrock 経由で使用するための最低限のセットアップが完了です。
動作確認
上記の手順でセットアップ後、claude コマンドを実行すると Claude Code が起動し、Bedrock 経由で Claude モデルとの対話が可能になりました。

まとめ
- IAM Role を利用することで API キーの管理が不要になり、セキュリティ面で安心です
- Bedrock 経由にすることで、AWS の利用料として一元管理でき、組織での利用に適しています
今回は AI サービスを AWS 環境内で利用する一つの手段として、動作環境を EC2 にしてみましたが、他にもいろいろなことを試していきたいですね!
この記事は私が書きました
髙井 大暉
記事一覧頑張ってインフラエンジニアやってます。