Codex with Amazon Bedrock 試してみた!

Codex with Amazon Bedrock 試してみた!

Amazon Bedrock 経由で Codex を利用できるようになったので、セットアップ手順を紹介します。
2026.06.02

AI事業本部/生成AIインテグレーション部/西日本開発チームの片桐です。
Amazon Bedrock 経由で OpenAI の Codex が利用できるようになりました。
本記事ではセットアップ手順について紹介します。

APIで GPT-5.5, GPT-5.4 を試す方法については下記の記事をおすすめします。

この記事について

[対象読者]

  • Codex を Bedrock 経由で利用したい方
  • Codex の利用料を AWS の請求でまとめたい方

前提条件

  • 対象リージョンで GPT-5.5, GPT-5.4 のモデルアクセスが有効化されていること
  • 利用する AWS IAMユーザーに Bedrock の呼び出し権限が付与されていること
  • Codex CLI がインストールされていること
  • 1Password CLI がインストールされていること ※1Password 利用時のみ
  • AWS アクセスキーが 1Password に保存済みであること ※1Password 利用時のみ

Codex CLI が未インストールの場合は、ドキュメントを参考にインストールしてください。

リージョンとモデル

2026年6月2日時点で利用できるモデルは下記になります。

モデル 対応リージョン
GPT-5.5 us-east-2
GPT-5.4 us-east-2, us-west-2

最新情報は公式ドキュメントで確認してください。

認証方式について

2つの認証方法があります。

  1. Bedrock APIキー
    Bedrock にて APIキー を発行し、環境変数として Codex に読み込ませる方法です。
    APIキーには、短期キーと長期キーが存在し、短期キーでは最大12時間で自動で失効されます。
    動作確認やAPIキーの流出防止を重視する方は、こちらの短期キーを利用する方法がおすすめです。
    SCR-20260602-qbys

  2. AWS SDK 認証情報
    こちらは、 AWS の標準的な認証情報を利用する方法です。
    一般的には aws login などを用いて認証を行いますが、外部ツールと連携して自動化することも可能です。

上記2つの手順について詳しくは公式ドキュメントを参照してください。

今回私は、後者の「AWS SDK 認証情報」の仕組み (credential_process) と 1Password CLI を組み合わせることで、ローカル環境(.env等)に平文の認証情報を持たない方法でセットアップを進めました。

セットアップ手順

手順1. config.toml を設定する

まず最初に、 Codex のモデルプロバイダーを Amazon Bedrock に設定します。

~/.codex/config.toml

config.toml
model_provider = "amazon-bedrock"
model = "openai.gpt-5.4"

ここで model = "openai.gpt-5.4" を指定することで、 Codex 起動時のモデルを指定することができます。
GPT-5.5 はコストが高いので、必要なときに切り替えることをおすすめします。

手順2. .env を設定する

次は Codex が読み込む環境変数を設定します。

~/.codex/.env

.env
export AWS_PROFILE=codex-bedrock
export AWS_REGION=us-east-2

ここでリージョンと利用する AWS プロファイルを指定しておくことで、 Codex 起動時の AWS 関連の設定を固定し安定して実行できるようにします。

export が必要な理由

デスクトップアプリや IDE 拡張はシェルの環境変数を継承しないため、export なしでは Codex に値が渡りません。

手順3. credential_process 用スクリプトを作成する

1Password から AWS 認証情報を取得するスクリプトを作成します。
アイテム名がわからない場合は、以下のコマンドで確認できます。

op item list

~/.local/bin/op-aws-bedrock-credentials.sh

op-aws-bedrock-credentials.sh
#!/bin/bash
set -euo pipefail

ACCESS_KEY=$(op item get "<1Passwordアイテム名>" --fields "access key id" 2>/dev/null)
SECRET_KEY=$(op item get "<1Passwordアイテム名>" --fields "secret access key" --reveal 2>/dev/null)

printf '{"Version":1,"AccessKeyId":"%s","SecretAccessKey":"%s"}\n' "$ACCESS_KEY" "$SECRET_KEY"

スクリプト作成後、実行権限を付与します。

chmod +x ~/.local/bin/op-aws-bedrock-credentials.sh

手順4. ~/.aws/config を設定する

credential_process は、AWS CLI が認証情報を必要とするタイミングで外部コマンドを呼び出す仕組みです。これを利用することで、ファイルに認証情報を直書きせず、1Password 経由で動的に取得できます。

最後に、 AWS プロファイルに credential_process を設定します。

~/.aws/config

[profile codex-bedrock]
region = us-east-2
credential_process = ~/.local/bin/op-aws-bedrock-credentials.sh

これにより、 Codex 起動時に指定した AWS プロファイルの認証情報を 1Password 経由で取得するようになります。

手順5. 動作確認

# スクリプト単体の確認
~/.local/bin/op-aws-bedrock-credentials.sh

# AWS 認証の確認
AWS_PROFILE=codex-bedrock aws sts get-caller-identity

この時点で指定した Codex 用の AWS 認証情報が表示されることを確認します。

問題がなければ、 Codex を起動して /status を実行し、Model provider が Amazon Bedrock になっていることを確認します。
SCR-20260602-plwr
/status の結果

最後に、 Codex を利用してレスポンスが正常に返ってくれば完了です。

SCR-20260602-pmuv
正常にレスポンスが返ってくる

注意点と対策

1. failed to load AWS credentials が出る場合

以下の点を順番に確認してください。

  • ~/.codex/.envexport キーワードがあるか確認
  • ~/.local/bin/op-aws-bedrock-credentials.sh を直接実行して JSON が出力されるか確認
  • op がサインイン済みか確認: op account list

2. 非インタラクティブ環境で op plugin run が使えない理由

credential_process は Codex から非インタラクティブに呼ばれます。op plugin run は実行のたびにどの AWS アカウントを使うか対話的な選択を求めるため、非インタラクティブな環境では interactive IO not available エラーで失敗します。op item get でアイテムを直接指定することで回避できます。

Codex アプリ

Codex CLI 経由で設定を完了すると、 Codex アプリからもアクセスすることができます。
SCR-20260602-psrc
Codex アプリの動作

おわりに

今回は Amazon Bedrock 経由で Codex をセットアップする手順を紹介しました。
1Password の credential_process と組み合わせることで、ローカル環境に平文の認証情報を持たないセキュアな構成が実現できます。

Bedrock 経由で利用することで AWS の請求に一本化できるため、すでに AWS を利用している方にはとくにおすすめです。

参考リンク


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

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

生成AI資料イメージ

無料でダウンロードする

この記事をシェアする

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

関連記事