Claude Code on Amazon Bedrock - Claude Code CLIからAmazon Bedrock経由でAnthropicのAIモデルに接続する手順

記事タイトルとURLをコピーする

こんにちは。アプリケーションサービス本部、DevOps担当の兼安です。
弊社サーバーワークスは米国のAI企業Anthropic, PBC(Anthropic社)と、AWSの生成AIサービスAmazon Bedrockを通じた「Anthropic Authorized Reseller Program for Amazon Bedrock」(リセラー契約)を締結しています。

www.serverworks.co.jp

本記事執筆時点(2026年4月)では、弊社からの商流でお客様にClaudeを提供する場合、Amazon Bedrockを通じた形での提供となります。
そこで本記事では、Amazon Bedrock経由でClaude Codeを使用する手順について説明させていただきます。

Claude Codeとは

Claude Codeは、Anthropic社が提供するAIコーディングアシスタントです。
コードの生成・編集・リファクタリング・デバッグなどを対話的に行えます。
Claude Codeは以下の方法で利用できます。

  • Anthropic APIを直接利用(Pro、Max、Team、Enterpriseプラン)
  • Amazon Bedrock経由で利用
  • Google Vertex AI経由で利用
  • Microsoft Foundry経由で利用

この中から本記事では、Amazon Bedrock経由での利用方法を解説します。

前提条件

Amazon Bedrock経由でClaude Codeを使用するには、以下が必要です。
本記事ではClaude Code CLI(ターミナルで使用するコマンドラインツール)を使用します。

  • Amazon Bedrockへのアクセスが有効なAWSアカウント
  • Amazon Bedrockで使用したいClaudeモデルへのアクセス(本記事ではClaude Opus 4.6を使用)
  • AWS CLI v2.32.0以降のインストール(aws loginコマンドの利用に必要)
  • Claude Code CLI
    • Version 2.1.98(本記事で使用したバージョン)
  • 適切なIAM権限

AWS側の準備

まず、AWSアカウント側の準備を行います。

ユースケースの送信

Anthropicモデルを初めて使用する場合、モデルを呼び出す前にユースケースの送信(モデルアクセス)が必要な場合があります。
これはAWSアカウントごとに1回だけ行います。
詳細は以下のページをご覧ください。

Amazon Bedrock 上の Claude Code - ユースケースの詳細を送信
Access Amazon Bedrock foundation models - Amazon Bedrock

IAMポリシーの設定

Claude Codeを使用するIAMユーザーまたはIAMロールに、以下の2つのポリシーをアタッチしてください。

SignInLocalDevelopmentAccess(AWSマネージドポリシー)

本記事ではAWS認証にaws loginコマンドを使用するため、このAWSマネージドポリシーが必要です。
aws loginはAWS CLI v2.32.0で追加されたコマンドで、ブラウザでAWSマネジメントコンソールにサインインするだけでCLI用の一時認証情報を取得できます。
アクセスキーなどを使用しないので、漏洩のリスクがなく、よりセキュアな認証方式です。本記事ではaws loginを使用する手順を記載しています。

aws loginを利用するには、IAMユーザーまたはIAMロールにAWSマネージドポリシーのSignInLocalDevelopmentAccessをアタッチする必要があります。
このポリシーがアタッチされていないと、aws loginの認証時にブラウザ側で403エラーが発生します。
IAMコンソールからSignInLocalDevelopmentAccessを検索してアタッチしてください。

aws loginの詳細については、以下の記事を参照してください。

aws login で AWS CLI の認証がこう変わる - サーバーワークスエンジニアブログ

AWS CLI/SDK認証の新時代:aws login で変わる開発体験 - サーバーワークスエンジニアブログ

Amazon Bedrock用のカスタムポリシー

Claude CodeがAmazon Bedrockのモデルを呼び出すために必要な権限です。
以下の内容でカスタムポリシーを作成し、アタッチしてください。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowModelAndInferenceProfileAccess",
      "Effect": "Allow",
      "Action": [
        "bedrock:InvokeModel",
        "bedrock:InvokeModelWithResponseStream",
        "bedrock:ListInferenceProfiles"
      ],
      "Resource": [
        "arn:aws:bedrock:*:*:inference-profile/*",
        "arn:aws:bedrock:*:*:application-inference-profile/*",
        "arn:aws:bedrock:*:*:foundation-model/*"
      ]
    },
    {
      "Sid": "AllowMarketplaceSubscription",
      "Effect": "Allow",
      "Action": [
        "aws-marketplace:ViewSubscriptions",
        "aws-marketplace:Subscribe"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:CalledViaLast": "bedrock.amazonaws.com"
        }
      }
    }
  ]
}

より制限を厳しくしたい場合は、Resourceを特定の推論プロファイルARNに限定できます。

Claude Code側のセットアップ

Claude Codeのインストール

Claude Code CLIのインストール方法は公式クイックスタートガイドを参照してください。

Quickstart - Claude Code Docs

通常のClaude Codeでは、インストール後に/loginコマンドでAnthropicアカウントにサインインしますが、Amazon Bedrock経由で利用する場合は/loginは使用しません。
代わりに、次の手順でAWS認証情報を使った認証を設定します。

Claude CodeをAmazon Bedrock経由で起動する

AWS側の準備とClaude Codeのインストールが完了したら、ターミナルで以下のコマンドを順に実行します。

# AWS認証(ブラウザが開くのでマネジメントコンソールで認証を完了する)
aws login --profile bedrock-claude-code

# 環境変数の設定
export AWS_PROFILE=bedrock-claude-code
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=ap-northeast-1
export ANTHROPIC_MODEL='global.anthropic.claude-opus-4-6-v1'

# Claude Codeを起動
claude

起動後、/statusコマンドを実行してください。
接続先のプロバイダーが「Amazon Bedrock」と表示されれば、セットアップは完了です。

Claude Codeの初期画面

statusコマンドの実行結果

以降のセクションでは、上記の各設定について詳しく説明します。

各設定の解説

aws loginによるAWS認証

今回の手順ではAWS認証にaws loginを使用しています。
なお、Claude Codeの公式ドキュメントではアクセスキーやAWS IAM Identity Center(SSO)など他の認証方法も紹介されていますが、本記事ではクレデンシャル漏洩のリスクがないaws loginでの手順を紹介しています。
その他の認証方法については公式ドキュメントを参照してください。

Claude Code on Amazon Bedrock - Claude Code Docs

aws login --profile bedrock-claude-code

--profile bedrock-claude-codeで指定した名前のAWS CLIプロファイルが作成されます。
プロファイル名は任意ですが、本記事では以降もこの名前を使用します。
このコマンドを実行して、リージョンを聞かれたら使用したいリージョンを選択します。
今回はap-northeast-1(東京)を指定しています。

リージョン選択後、URLが表示されてブラウザが起動するのでログインします。
もしくは表示されたURLをブラウザに貼り付けてログインします。
ログイン後、Claude Codeがそれを検知して認証が完了します。

aws loginの概要と必要なIAMポリシーについては、「AWS側の準備」を参照してください。

AWS_PROFILE

export AWS_PROFILE=bedrock-claude-code

aws loginで作成したプロファイルをClaude Codeに使用させるための設定です。

CLAUDE_CODE_USE_BEDROCK

export CLAUDE_CODE_USE_BEDROCK=1

Claude CodeにAmazon Bedrock経由での接続を有効化する設定です。
この環境変数を設定すると、Claude Codeの/loginおよび/logoutコマンドは無効になります。
認証はAWS認証情報(ここではaws loginで取得した一時認証情報)で行われます。

AWS_REGION

export AWS_REGION=ap-northeast-1

Amazon Bedrockのリージョンを指定します。
この環境変数は必須です。Claude Codeは~/.aws/configファイルからリージョン設定を読み取りません。

ANTHROPIC_MODEL

export ANTHROPIC_MODEL='global.anthropic.claude-opus-4-6-v1'

Claude Codeで使用するプライマリモデルを指定します。
本記事ではClaude Opus 4.6を使用します。

本記事執筆時点(2026年4月)では、Claude Opus 4.6は東京リージョン(ap-northeast-1)でのIn-Region推論に対応していません。
東京リージョンからClaude Opus 4.6を利用するには、global.プレフィックスのGlobal推論プロファイルIDを指定します。
Global推論プロファイルを指定すると、Amazon Bedrockがリクエストを最適なリージョンに自動ルーティングします。
通信はAWSグローバルネットワーク上で暗号化されたまま行われ、パブリックインターネットを経由しません。

小型・高速モデル(サブエージェント用)も指定する場合は、以下の環境変数を追加します。

export ANTHROPIC_DEFAULT_HAIKU_MODEL='global.anthropic.claude-haiku-4-5-20251001-v1:0'

Claude Codeのセットアップウィザードを使用する方法

ここまで環境変数を使った手動セットアップの手順を説明しましたが、Claude Codeにはセットアップウィザードも用意されています。
AWS認証情報が設定済みであれば、ウィザードが認証情報・リージョン・モデルピン留めの設定を対話的にガイドしてくれます。

Claude Code起動後に以下のコマンドでウィザードを開けます。

/setup-bedrock

/setup-bedrockコマンドはCLAUDE_CODE_USE_BEDROCK=1が設定された状態で起動した場合のみ使用できます。
設定されていない場合は「Unknown skill」エラーになります。

環境変数とウィザードの設定の優先順位

/setup-bedrockウィザードはユーザー設定ファイル(~/.claude/settings.json)に設定を書き込みます。
「Claude CodeをAmazon Bedrock経由で起動する」のように環境変数が設定されている場合、/setup-bedrockで書き込んだ設定より環境変数の値が優先されます。

開発プロジェクトにおける設定ファイルを作る

ここまでの手順では、ターミナルで毎回exportコマンドを実行して環境変数を設定していました。
開発プロジェクトで継続的にClaude Codeを使う場合は、プロジェクト内に設定ファイルを作成しておくと、環境変数の手動設定が不要になります。

Claude Codeは設定ファイルによる階層的な設定の仕組みを持っています。
設定ファイルはスコープごとに以下の場所に配置します。

スコープ ファイルの場所 用途
User ~/.claude/settings.json 全プロジェクト共通の個人設定
Project .claude/settings.json チーム共有のプロジェクト設定
Local .claude/settings.local.json 個人のプロジェクト固有設定

設定ファイルの詳細については、以下を参照してください。

Claude Code の設定 - Claude Code Docs

本記事では、個人のプロジェクト固有設定であるLocal(.claude/settings.local.json)を使用します。
AWS_PROFILEのようにプロファイル名は個人ごとに異なるため、Localスコープが適しています。
Localスコープは個人設定のため、.gitignoreに追加してリポジトリに含めない方がよいでしょう。

ディレクトリ構成

your-project/
├── .claude/
│   └── settings.local.json   # ローカルプロジェクト設定
├── .gitignore
├── src/
│   └── ...
└── ...

settings.local.jsonの内容

今回の設定内容を反映した.claude/settings.local.jsonは以下の通りです。
念のため、permissionsで余分なファイルを読み込まないための設定も入れています。

{
  "awsAuthRefresh": "aws login --profile bedrock-claude-code",
  "permissions": {
    "deny": [
      "Read(**/.env*)"
    ]
  },
  "env": {
    "CLAUDE_CODE_USE_BEDROCK": "1",
    "AWS_PROFILE": "bedrock-claude-code",
    "AWS_REGION": "ap-northeast-1",
    "ANTHROPIC_MODEL": "global.anthropic.claude-opus-4-6-v1"
  }
}

この設定ファイルを作成しておけば、Claude Code起動時に環境変数が自動的に読み込まれます。
ターミナルでの操作はClaude Codeの起動だけで済みます。

# Claude Codeを起動(環境変数は設定ファイルから自動読み込み)
claude

Claude Code起動時にAWS認証が済んでいない、またはセッションが切れている場合は、ブラウザが起動して認証が促されます。

awsAuthRefreshについて

Claude Codeの設定にはawsAuthRefreshという項目があり、AWS認証情報の有効期限が切れた際に自動で再認証コマンドを実行する機能があります。
公式ドキュメントではaws sso loginを使った例が紹介されていますが、aws loginを設定することで上述の動きをすることを確認しました。

Amazon Bedrock経由でClaude Codeを使いすぎてしまう場合の対策

Amazon Bedrock経由でClaude Codeを利用すると、利用料は従量課金になります。
従って、使いすぎた場合に料金がかかりすぎるという課題があります。
この課題に対して、マネージドな仕組みはまだありませんが、トークン利用量を監視してアラート通知する方法を組むことは可能です。
詳しくは下記の記事をご覧ください。

Claude Code on Amazon Bedrockのトークン利用量を監視してアラート通知してみた - サーバーワークスエンジニアブログ

まとめ

本記事では、Amazon Bedrock経由でClaude Codeを使用するための手順を解説しました。
手順をまとめると以下の通りです。

  1. AWS側の準備(ユースケース詳細の送信・IAMポリシーの設定)
  2. Claude Code側のセットアップ(インストール・aws login・環境変数の設定・起動と動作確認)

Amazon Bedrockを通じてClaude Codeを利用することで、AWSの認証基盤やガバナンスの仕組みをそのまま活用しながら、AIコーディングアシスタントを導入できます。
本記事がこれからClaude Codeを使う方のお役に立てれば幸いです。

参考

Claude Code公式ドキュメント

AWS公式ドキュメント

サーバーワークスエンジニアブログ

兼安 聡(執筆記事の一覧)

アプリケーションサービス部 DS3課所属
2025 Japan AWS Top Engineers (AI/ML Data Engineer)
2025 Japan AWS All Certifications Engineers
2025 AWS Community Builders
Certified ScrumMaster
PMP
広島在住です。今日も明日も修行中です。
X(旧Twitter)