AgentCore RuntimeでCodex CLI(GPT-5.5)とClaude Codeを動かしてみた

AgentCore RuntimeでCodex CLI(GPT-5.5)とClaude Codeを動かしてみた

Amazon Bedrock AgentCore Runtimeのexecution_roleを利用し、Codex CLI(GPT-5.5)とClaude Code(Claude Sonnet 4.6)をAPIキーなしで動かしました。Bedrockのモデルアクセスと必要なIAM権限を前提に、1つのRuntimeから両モデルの使い分けも可能でした。
2026.06.07

はじめに

前回の記事では、AgentCore Runtime上でKiro CLIが動作することを紹介しました。

https://dev.classmethod.jp/articles/bedrock-agentcore-runtime-kiro-cli/

今回はBedrock経由のIAM認証に対応したCodex CLIとClaude CodeをAgentCore Runtime上で動かします。

AgentCore + Bedrock で IAM 認証する利点

  • ユーザー単位のサブスクリプション不要 — OpenAI/AnthropicのAPIキーやユーザー単位のサブスクリプションを使わず、Bedrockの従量課金で利用できます(AgentCore料金・ECR等は別途発生します)
  • IAMでAWS APIの権限境界を定義 — execution_roleでBedrockなどAWS API呼び出しの範囲を制限できます
  • 1 Runtime で複数モデルを使い分け — GPT-5.5とClaudeを同一環境から呼べます
  • CloudTrail で API 呼び出しを監査 — execution_roleによるBedrock API呼び出しメタデータが記録されます。トークン数はModel invocation loggingやレスポンスのusage情報で別途確認します

前提条件

  • AgentCore Runtimeが作成済みであること(前回記事参照)
  • execution_roleにBedrock権限が付与済みであること
  • Bedrockコンソールでモデルアクセスを有効化済みであること
  • agentcore CLIがインストール済みであること

検証環境

項目
検証日 2026-06-07
リージョン us-east-2
agentcore CLI v0.18.0
Node.js v20.20.2(ARM64)
Codex CLI v0.137.0
Claude Code v2.1.168

事前準備

今回は非インタラクティブの agentcore exec を利用しました。同じ環境で連続した処理を実行させるため、1つの bash -c "..." でインストールから実行までをまとめています。

本検証で利用したCDKデプロイでは、execution_roleに以下のBedrock権限が付与されていました。

{
  "Statement": [
    {
      "Action": [
        "bedrock:CountTokens",
        "bedrock:InvokeModel",
        "bedrock:InvokeModelWithResponseStream"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:bedrock:*:123456789012:inference-profile/*",
        "arn:aws:bedrock:*::foundation-model/*"
      ]
    }
  ]
}

このポリシーで、今回指定したClaude Sonnet 4.6の推論プロファイルではClaude Codeが動作しました。Codex CLIには追加でMantle用のマネージドポリシーが必要です。

Codex CLI を動かす

追加ポリシーのアタッチ

Codex CLIはBedrock Mantleのエンドポイント(bedrock-mantle.us-east-2.api.aws)を利用します。デフォルトのポリシーだけではMantle経由の推論に必要な権限が不足するため、AWSマネージドポリシー AmazonBedrockMantleInferenceAccess を追加でアタッチします。

aws iam attach-role-policy \
  --role-name <execution_role_name> \
  --policy-arn arn:aws:iam::aws:policy/AmazonBedrockMantleInferenceAccess

実行コマンド

Node.jsインストール → Codex CLIインストール → 設定ファイル(~/.codex/config.toml)作成 → 実行、をワンライナーにまとめます。

agentcore exec --json 'bash -c "\
  curl -fsSL https://nodejs.org/dist/v20.20.2/node-v20.20.2-linux-arm64.tar.gz \
    | tar -xz -C /usr/local --strip-components=1 \
  && npm install -g @openai/codex 2>/dev/null \
  && mkdir -p ~/.codex \
  && printf '\''model = \"openai.gpt-5.5\"\nmodel_provider = \"amazon-bedrock\"\nweb_search = \"disabled\"\n\n[model_providers.amazon-bedrock]\n[model_providers.amazon-bedrock.aws]\nregion = \"us-east-2\"\n'\'' > ~/.codex/config.toml \
  && codex exec --skip-git-repo-check \"Say hello in Japanese\""'

config.tomlmodel_provider = "amazon-bedrock"region を指定すると、Codex CLIはBedrock MantleエンドポイントへGPT-5.5のリクエストを送信しました。

実行結果

OpenAI Codex v0.137.0
--------
workdir: /
model: openai.gpt-5.5
provider: amazon-bedrock
approval: never
sandbox: read-only
reasoning effort: none
reasoning summaries: none
--------
user
Say hello in Japanese
codex
こんにちは。
tokens used
1,600

GPT-5.5がBedrock Mantle経由で応答しました。APIキーを設定せず、execution_roleの権限のみでGPT-5.5を呼び出せました。

Claude Code を動かす

追加ポリシー

今回の検証では、上記のBedrock権限のみでClaude Codeが追加ポリシーなしで動作しました。

環境変数

Claude CodeのBedrockモードで今回設定した環境変数は以下の3つです。

環境変数 説明
CLAUDE_CODE_USE_BEDROCK 1 Bedrock 経由での利用を有効化
AWS_REGION us-east-2 Bedrock のリージョン
ANTHROPIC_MODEL global.anthropic.claude-sonnet-4-6 使用するモデル ID

モデルIDにはグローバル推論プロファイルの global.anthropic.claude-sonnet-4-6 を指定します。US推論プロファイルの us.anthropic.claude-sonnet-4-6 でも動作しました。

実行コマンド

agentcore exec --json 'bash -c "\
  curl -fsSL https://nodejs.org/dist/v20.20.2/node-v20.20.2-linux-arm64.tar.gz \
    | tar -xz -C /usr/local --strip-components=1 \
  && npm install -g @anthropic-ai/claude-code 2>/dev/null \
  && export CLAUDE_CODE_USE_BEDROCK=1 \
  && export AWS_REGION=us-east-2 \
  && export ANTHROPIC_MODEL=global.anthropic.claude-sonnet-4-6 \
  && claude -p \"Say hello in Japanese. Answer in one line.\" --output-format text 2>&1 | tail -5"'

実行結果

こんにちは!

Claude Sonnet 4.6がBedrock経由で応答しました。

認証方式の比較

ツール 認証方式 追加設定
Kiro CLI API キー or IdC API キー取得 or デバイスコード認証
Codex CLI IAM / Bedrock Mantle AmazonBedrockMantleInferenceAccess 追加
Claude Code IAM / Bedrock SigV4 追加ポリシーなし。環境変数3つを設定

まとめ

AgentCore Runtimeのexecution_roleでCodex CLI(GPT-5.5)とClaude Code(Claude Sonnet 4.6)の両方が動作しました。1つのRuntimeからGPT-5.5とClaudeを使い分けられること、Bedrockの従量課金で利用できること、IAMで権限境界を定義できることが実用上のメリットです。前回のKiro CLIと合わせて、3つのコーディングエージェントがAgentCore上で動作することを確認しました。

今回はCodex CLI、Claude Codeともに都度インストールで動作を確認しましたが、利用頻度が高くなる場合、DockerfileでプリインストールできるBedrockAgentCore Starter Toolkitもお試しください。

https://dev.classmethod.jp/articles/amazon-bedrock-agentcore-runtime-ai-hosting/

参考リンク


生成AI活用はクラスメソッドにお任せ

過去に支援してきた生成AIの支援実績100+を元にホワイトペーパーを作成しました。御社が抱えている課題のうち、どれが解決できて、どのようなサービスが受けられるのか?4つのフェーズに分けてまとめています。どうぞお気軽にご覧ください。

生成AI資料イメージ

無料でダウンロードする

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事