AWS EC2 Codex CLIでApacheをインストールする方法
前提条件
はじめに
今回は、AWS EC2上で稼働しているCodex CLIに、日本語の指示だけで別のサーバーへ
SSHログインし、Apacheをインストール起動させる手順を検証いたします。
事前にセキュリティグループの80番ポート開放が必要です。以下の内容を参考にしてください。
動作環境
| 項目 | 説明 |
|---|---|
| 操作元サーバー | Amazon Linux 2023(test-server) t3.micro (Codex CLIを動かすサーバー) |
| 対象サーバー | Amazon Linux 2023(test-server2) t3.micro (Apacheをインストールするサーバー) |
| リージョン | ap-northeast-3(大阪) |
事前準備:秘密鍵の転送
SSH経由でtest-server2にApacheをインストールするため、
操作元EC2に秘密鍵を転送する必要があります。
ローカルPC(PowerShell)から以下のコマンドで実施いたします。
| コマンド | 説明 |
|---|---|
| scp -i d1j.pem d1j.pem ec2-user@操作元サーバーのIP:/home/ec2-user/EC2/ | SSHキー(秘密鍵)をSCPで操作元サーバーにコピーいたします。 |
| $ chmod 400 /home/ec2-user/EC2/d1j.pem | 秘密鍵のパーミッションを変更いたします。 |
事前に下記の内容を参考にCodex CLIをインストールしてください。
対象サーバーも作成してください。以下の内容を参考にしてください。
AGENTS.md 追加
1. 対象サーバーのSSH秘密鍵パスを事前にAGENTS.mdに定義しておきます。
下記のコマンドを実施してください。(一般ユーザーで実施してください。)
| コマンド | 説明 |
|---|---|
| $ cd /home/ec2-user/EC2/ $ vi AGENTS.md - 対象サーバーSSH秘密鍵: /home/ec2-user/EC2/d1j.pem - 対象サーバーユーザー: ec2-user | viでAGENTS.mdを編集いたします。 |
Apacheをインストールする
この画面が表示されて指示を入力できない場合は、viで下記の内容を追記しましょう。
(v0.160.0以降から表示されます。)
| コマンド | 説明 |
|---|---|
| $ codex | Codex CLIを実行いたします。 |
$ vi ~/.codex/config.toml [projects."/home/ec2-user/EC2"] trust_level = "trusted" | 下記の画面が表示された場合は、codexをCtrl+cで終了し、 viで下記を追記しましょう。 viでconfig.tomlを追記いたします。 |

2. Codex CLIがインストールされている操作元サーバーで実行してください。
下記のコマンドを実施してください。(一般ユーザーで実施してください。)
| コマンド | 説明 |
|---|---|
| $ codex | 追記後、もう一度codexを起動してください。 |
| 「SSHでtest-server2にログインしてApacheをインストールし、自動起動を有効にして起動してください。」 と入力してください。 | Codex CLIに指示をいたします。 |

Codex CLIが対象サーバー(test-server2)にSSHでログインし、
Apacheのインストールから起動までを完了しました。

動作確認
3. ブラウザーでIPアドレスで入力して確認しましょう。
Apacheのデフォルトページ「It works!」が表示されれば正常に動作しています。

4. 自動起動の設定はコマンドで確認できます。
対象サーバーにSSHでログインし、下記のコマンドを実施してください。
| コマンド | 説明 |
|---|---|
| $ sudo -i | rootユーザーに昇格いたします。 |
| # systemctl is-enabled httpd | 自動起動が有効になっているか確認いたします。 「enabled」と表示されれば問題ありません。 |

まとめ
・AGENTS.mdにSSH秘密鍵のパスとユーザー名を定義しておくと、指示がシンプルになる。
・「SSHでtest-server2にログインしてApacheをインストールし、自動起動を有効にして
起動してください。」の一言で、インストール・自動起動の有効化・起動まで完了できる。
・Codex CLIは、指示文にIPアドレスがなくても、AWS CLIでtest-server2のパブリックIPを
調べて自動でSSH接続してくれる。
・事前にセキュリティグループで80番ポートを開放しておく必要がある。
以上で「AWS EC2 Codex CLIでApacheをインストールする方法」を完了いたします。

