ENGINEER BLOG ENGINEER BLOG
  • 公開日
  • 最終更新日

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を参照してください。

構成概要

今回構築した環境の全体像は下記のとおりです。 EC2からClaudeを利用.png

使用リソース一覧

リソース 用途
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 モデルとの対話が可能になりました。 claudeコマンド確認.png


まとめ

  • IAM Role を利用することで API キーの管理が不要になり、セキュリティ面で安心です
  • Bedrock 経由にすることで、AWS の利用料として一元管理でき、組織での利用に適しています

今回は AI サービスを AWS 環境内で利用する一つの手段として、動作環境を EC2 にしてみましたが、他にもいろいろなことを試していきたいですね!

この記事は私が書きました

髙井 大暉

記事一覧

頑張ってインフラエンジニアやってます。

髙井 大暉

この記事を共有する

クラウドのご相談

CONTACT

クラウド導入や運用でお悩みの方は、お気軽にご相談ください。
専門家がサポートします。

サービス資料ダウンロード

DOWNLOAD

ビジネスをクラウドで加速させる準備はできていますか?
今すぐサービス資料をダウンロードして、詳細をご確認ください。