AWS EC2 Codex CLIをAmazon Linux 2023にインストールする方法(その1)
前提条件
はじめに
今回からは新シリーズとして、OpenAIが提供するCodex CLIを
検証していきます。本記事では、AWS EC2(Amazon Linux 2023)に
Codex CLIをインストールし、動作確認を行うまでの手順を解説します。
次回「その2」では、Codex CLI自身に指示を出して
新しいEC2インスタンスを作成する手順を紹介する予定です。
動作環境
| 項目 | 説明 |
|---|---|
| 操作元サーバー | Amazon Linux 2023(test-server) t3.micro (Codex CLIを動かすサーバー) |
| リージョン | ap-northeast-3(大阪) |
事前登録
ChatGPTアカウントを作成する必要がございます。
(Codex CLIの認証に使用します。無料アカウントでも利用可能です。)
今回は無料で検証を実施いたします。
事前準備:IAMロールの作成・アタッチ
Codex CLIがAWS CLIを使ってEC2を操作するために、IAMロールが必要です。
アクセスキーを使わずIAMロールを使う方法はキー管理が不要で、セキュリティ的にも推奨される方法です。
事前にEC2サーバーを作成してください。作成は以下の内容をご参考にしてください。
カスタムポリシーの作成
AmazonEC2FullAccessは権限が広すぎるため、EC2操作に必要な最小限の権限に
絞ったカスタムポリシーを作成します。
1. AWSコンソールにログインいたします。IAMのアイコンをクリックする。

2. 「ポリシー」をクリックし「ポリシーの作成」をクリックする。

3. 「JSON」をクリックし「ポリシーエディタ」に貼り付けます。
「次へ」をクリックする。
| ポリシーエディタ | 説明 |
|---|---|
| ポリシーを貼りつけてください。 |
このポリシーでカバーできる操作は以下のとおりです。
| 操作 | 対応する権限 |
|---|---|
| インスタンス作成 | ec2:RunInstances |
| インスタンス削除 | ec2:TerminateInstances |
| インスタンス起動・停止 | ec2:StartInstances ec2:StopInstances |
| 各種情報取得 | ec2:DescribeInstances ec2:DescribeImages ec2:DescribeVpcs ec2:DescribeSubnets ec2:DescribeSecurityGroups ec2:DeleteKeyPair ec2:DescribeKeyPairs |
| キーペア作成・削除 | ec2:CreateKeyPair ec2:DeleteKeyPair |
| タグ付け | ec2:CreateTags |
| セキュリティグループルール変更 | ec2:AuthorizeSecurityGroupIngress ec2:RevokeSecurityGroupIngress ec2:DescribeSecurityGroupRules |
| インスタンスタイプの変更 | ec2:ModifyInstanceAttribute |
| 最新AMI情報取得 | ssm:GetParameter |
| ネットワークインターフェース情報取得 | ec2:DescribeNetworkInterfaces |

4. 入力し「ポリシーの作成」をクリックする。
| 項目 | 説明(入力) |
|---|---|
| ポリシー名 | お好きなアルファベットを入力してください。 |

5. 「ロール」をクリックし「ロールを作成」をクリックする。

6. 選択し「次へ」をクリックする。
| 項目 | 説明(選択) |
|---|---|
| 信頼されたエンティティタイプ | 「AWSのサービス」を選択してください。 |
| サービスまたはユースケース | 「EC2」を選択してください。 |
| ユースケース | 「EC2」を選択してください。 |

7. 作成ポリシーの名前を検索し、対象をチェックし「次へ」をクリックする。

8. ロール名を入力し「ロールを作成」をクリックする。
| 項目 | 説明(入力) |
|---|---|
| ロール名 | お好きなアルファベットを入力してください。 |

EC2インスタンスへのアタッチ
9. 事前にEC2サーバーを作成済みの対象サーバーにアタッチをいたします。
「EC2」をクリックいたします。

10. 「インスタンス」をクリックし、対象のサーバーを選択します。
「アクション」をクリックし「セキュリティ」から「IAMロールを変更」をクリックする。

11. 「IAMロール」からさきほど作成したロール名を検索し選択いたします。
「IAMロールの更新」をクリックする。

Codex CLIのインストール
12. 対象サーバーにSSHでログインいたします。
| コマンド(PowerShellで接続例) | 説明 |
|---|---|
| ssh -i d1j.pem -L 1455:localhost:1455 ec2-user@EC2パブリックIP | Codex CLIの起動・認証にはローカルホストへの コールバックが必要なため、ポートフォワード付きで 接続する必要があります。 |
インストール時にメモリ不足が起きる可能性があるためスワップを作成いたします。
下記のコマンドを実施してください。
| コマンド | 説明 |
|---|---|
| $ sudo -i | rootユーザーに昇格いたします。 |
| # dd if=/dev/zero of=/swapfile count=2048 bs=1MiB | 2GBのスワップファイルを作成いたします。 |
| # chmod 600 /swapfile | パーミッション変更いたします。 |
| # mkswap /swapfile | スワップ領域の初期化をいたします。 |
| # swapon /swapfile | スワップ領域を有効いたします。 |
| # echo '/swapfile none swap sw 0 0' | tee -a /etc/fstab | サーバー再起動時に実行されるようにいたします。 |
| # swapon --show | スワップが適用されているか確認いたします。 |
13. 事前にCodex CLIの設定をviファイルで作成いたします。
| コマンド | 説明 |
|---|---|
| $ mkdir -p ~/.codex $ vi ~/.codex/config.toml sandbox_mode = "danger-full-access" model = "gpt-5.6-luna" model_reasoning_effort = "medium" [projects."/home/ec2-user"] trust_level = "trusted" | デフォルトのサンドボックスではAWS CLI認証が ブロックされるため、`danger-full-access` (サンドボックス無効化)に設定 軽量・安価な `gpt-5.6-luna` を採用 推論の強度。今回は `medium` を設定 対象ディレクトリを信頼済みとして扱う設定 |
14. Codex CLIをインストールいたします。(sudoユーザーで実行してください。)
| コマンド | 説明 |
|---|---|
| $ sudo dnf install -y nodejs22 nodejs22-npm $ sudo dnf install -y bubblewrap | nodejs、nmpのバージョン22をインストールいたします。 bubblewrapをインストールいたします。 |
| $ sudo npm install -g @openai/codex | Codex CLIをインストールいたします。 |
| $ codex | codexを実行いたします。 |
15. 「Sign in with ChatGPT」を選択してエンターを押してください。

16. ブラウザーにURLを貼り付けてください。

17. ChatGPTアカウントでログインをクリックすると完了いたします。

18. エンターを押してください。

19. Codex CLIが起動いたしました。

20. Codex CLIのテストを実施したいと思います。
「EC2インスタンスの一覧を表示してください。」を入力してみましょう。

21. 現在のEC2インスタンスが表示されていれば問題ありません。
テストは完了いたしました。

22. Codex CLIでは使用量を確認できます。
| コマンド | 説明 |
|---|---|
| $ codex | codexコマンドで実行いたします。 |
| /status | /statusを入力しエンターを押します。 |

まとめ
・IAMロールに`ssm:GetParameter`・`ec2:DescribeNetworkInterfaces`を
追加することで、AMI情報取得やネットワーク情報参照が可能に。
・Node.js 22系はAL2023の標準リポジトリから`nodejs22`パッケージで
導入可能(NodeSource等の外部リポジトリ不要)。
・`sandbox_mode = "danger-full-access"`の設定により、AWS CLI操作がスムーズに実行可能に。
・リージョンの事前設定は不要(IMDSから自動取得)。
以上で「AWS EC2 Codex CLIをAmazon Linux 2023にインストールする方法(その1)」を完了いたします。

