自立編で立てるものは、全部どこかで動く。その置き場を、最初に決める。
2-01 で、Microsoft と Google に束ねられた層を、開いた道具に解く地図を引いた。この章は、その道具を載せる機械の話だ。やることは一つ。会社の PC を一台 Debian にして、AI に渡す。AI にも専用の PC を一台あげる、ということだ。
一台で全部やる
公開の Web サイト、社内の道具(認証・文書・メール・会議・予約・コードの置き場)、AI の作業を、同じ一台に載せる。
最初から分ける理由はない。台数が増えれば、設定も更新も台数分になる。そして、 AI が一つの機械の中で全部を見られるほうが、調べるのも直すのも速い。処理が足りなくなったら、そのときに分ければいい。
例外は、2-16 で据える自前の LLM だけだ。これは別のサーバーに置く。GPU と大きなメモリが要り、ほかの道具と要るものが違うからだ。
Debian の上に、apt と systemd で立てる
OS は Debian にする。Python と apt は最初から入っていて、git も apt の一行で入る。更新で勝手に再起動されることもない。
以降の章で立てるサービスは、Debian の apt で入れ、systemd で動かす。apt に無い物は、公式が配る単体のファイルを置いて、systemd に登録する。Docker は使わない。
Docker は配るための道具で、作るための道具ではない。作った物を、他人の環境で同じに動かしてもらうための箱だ。自分の一台で作って、そこで動かすなら、配る相手がいない。隔てるのは別の利用者と systemd の制限で足り、立て直しは git に入れた設定とデータの写しでやる。使わない理由は、具体的には三つある。
- 更新が一本になる ── apt で入れた物は、Debian のセキュリティ更新に乗り、
apt upgrade一つでまとめて上がる。コンテナにすると、イメージごとに版を追う仕事が別に立つ - AI が直接見られる ── 設定は
/etcに、ログはjournalctlに、データは決まった場所にある。コンテナを挟むと、ボリューム・ネットワーク・口の対応・利用者 ID のずれという層が一つ増え、調べるのも直すのも、外と中の二か所になる。作っては直す開発では、この一層がそのまま手間になる - ファイアウォールが効く ── Docker は、公開したコンテナの口への通信を、ufw の規則より手前で振り分ける(Docker の公式文書、2026-10-05 に確認)。「外に開けるのは 80 と 443 と ssh だけ」という決めが、コンテナの口には届かない
例外も、配る側から決まる。公式がコンテナでしか配っていない物は、そのコンテナを受け取って使う。使うのは公式のイメージだけで、自分でイメージは作らない。配る相手のいないイメージは、守る物と直す場所を増やすだけだ。
画面を入れて、動かしたままにする
デスクトップ環境(GNOME)も入れて、起動したままにする。サーバーだから画面は要らない、とはしない。AI にやらせたいことの中に、画面が要るものがあるからだ。
- 文書を画面で開いて、中の値を取る
- ブラウザで、作った頁を実際に見る
人が見るときは、手元の PC からその画面につなぐ。
AI に root を渡す
サーバーの設定は、全部 AI がやる。入れる、設定する、動かす、直す。どれも命令とファイルの仕事で、やった結果が機械で確かめられる。1-01 で見た ルールが明確で、答え合わせができる領域 に、そのまま当てはまる。
権限を渡してよい理由は一つだ。壊れても、初期化して始め直せる。ただし、初期化で戻るのは OS だけだ。設定とデータは、二つの決めで戻せるようにしておく。
- AI がやった設定は、全部ファイルにして git に入れる。初期化した機械に、git から同じ設定を戻せる
- データは、毎日、機械の外に写す(次の節)
これで、初期化しても元の姿に戻る。だから、それでも戻らない物だけを人が持つ。それが次の節だ。
初期化で戻らない物だけ、人が持つ
- 鍵と認証 ── ドメインの登録と、契約・支払いの管理は、この機械に置かない。置くのは、AI のログインと、サービスが動くのに要る秘密だけだ
- 外でやる操作 ── DNS を替える、メールを送る、外のサービスのデータを消す。この類は、AI が「やる前に言う」形にして、人が通す
- データの写し ── データベース・ファイル・メール・リポジトリを、毎日、機械の外へ写す。写しは外の側から取りに来させて、この機械の root からは消せないようにする(2-01 の「守るのは、データと仕様だけ」)
この三つ以外は、AI に任せてよい。
公開の側と AI の側を分ける
- この章の時点で、外に開ける入り口は 80 と 443 と ssh だけにする。ほかの口は、それが要る章(2-08 のメールなど)で開ける。口を開けるのは、AI が「やる前に言う」操作だ
- 画面への接続は外に開けない。手元の PC から ssh の中を通す
- 公開の Web と AI の作業は、別の利用者で動かす。サービスも、それぞれ専用の利用者で動かし、systemd の制限を掛ける
- ssh は鍵だけにし、パスワードと root でのログインを切る
- セキュリティ更新は自動で当てる(
unattended-upgrades) - ログイン・ワンタイム・受け口には試行回数の制限を掛ける(
fail2banか、アプリの側で) - 依存は固定した版で入れる(
uv.lockを git に入れる。2-10)
公開の側に穴が出たときに、AI の側のデータと鍵に届かないようにするためだ。 2-05 で書く「中央は最小限、守りは各サーバーで多層に」は、機械が一台でも変わらない。
AI を複数入れて、相互に見張らせる
AI は一つにしない。別の会社の AI も入れる。一社に頼らないのは、 3-05 で見るロックインを避けるのと同じ考えだ。
そのうえで、相互に見張らせる。別の会社の AI を組ませ、見張る側には 作った物と、確かめる基準だけ を渡す。どう作ったかの経緯は渡さない。同じ経緯を共有した相手は、同じ見落としをする。
要る物
- PC が一台。電源は入れたままにする
- 外から届く回線。固定 IP か DDNS で名前を向ける(2-11)。メールを扱うなら、固定 IP と逆引き(PTR)が要る(2-08)
- AI の利用料
メモリやディスクの量は、ここでは決めない。この連載で立てる物を AI に伝えれば、手元の PC で足りるか、何を足せばよいかは AI が決める。
サーバーは安い物でよい。壊れたら取り替える。専用のサーバー機も、保守契約も要らない。
逆引き(PTR)は、IP アドレスから名前を引く記録だ。ふだんの DNS が名前から IP を引くのと、向きが逆になる。メールを受け取る側のサーバーは、送ってきた機械の IP を逆引きして、引けた名前がまた同じ IP に戻るかを確かめる。戻らなければ、迷惑メールとして扱うか、受け取らない。Gmail は、送る機械のすべてにこれを求めている(Google の送信者ガイドライン、2026-10-05 に確認)。
逆引きを設定するのは、IP アドレスの持ち主である回線の事業者だ。固定 IP の回線なら、普通は設定してあるので、こちらですることはない。
費用
2026-10-05 時点の公開価格(税抜・月払い)で、Claude は Pro が月 20 ドル、Max が月 100 ドルからだ。別の会社の AI も、基本の契約は同じ価格帯にある(ChatGPT Plus は日本の公式頁で月 3,000 円)。二つ並ぶのは、相互に見張らせるために、別の会社と二契約するからである。
| 時期 | 契約 | 月額 |
|---|---|---|
| 作るあいだ | Claude Max 100 ドル + 別の会社の基本の契約 約 20 ドル | 約 120 ドル |
| 運用に入ったら | Claude Pro 20 ドル + 別の会社の基本の契約 約 20 ドル | 約 40 ドル(税込みでも月 1 万円以内) |
運用での AI の仕事は、動いているかを確かめることと、小さな直しになる。一日じゅう書かせるわけではないので、基本の契約で足りる。
稟議も、サーバーの契約も、人数分のライセンスも要らない。AI と話すのは作る人 (ビルダー)だけで、契約はその一人のものだ。個人の契約を他人に使わせることは、規約で禁じられている(Anthropic の利用規約)。グループの全員が使うのは、AI が作った道具のほうで、道具には人数分の契約が要らない。
確かめ方
この章は、次の六つができていれば済みだ。
- 手元の PC から、ssh でサーバーに入れる
- 手元の PC から ssh の中を通して画面につなぎ、GNOME のデスクトップが見える
systemctl --failedが、止まったサービスを一つも返さない- 外から見て、80 と 443 と ssh 以外の口が閉じている
- AI がやった設定が git に入っていて、データの写しが機械の外に届いている
- AI に「この機械の状態を報告して」と言うと、報告が返る
ssh builder@example.com # 1
systemctl --failed # 3
sudo ss -tlnp # 4 ── 待ち受けている口を見る
人が持つ物
人が渡す値
- サーバーのドメイン名
- 手元の PC の ssh 公開鍵
- 最初の管理者の名前
- データの写しを置く、機械の外の場所
AI が「やる前に言う」操作
- DNS のレコードを変える
- ファイアウォールの口を新しく開ける
- メールを外へ送る
- 外のサービスのデータを消す
- OS を初期化する
- 機械の外に置いたデータの写しを消す
確かめた版と日付
- Debian 13(trixie)、GNOME 48
- Claude と ChatGPT の料金は 2026-10-05 に確認した
- 手順を書いたのは 2026-09-20、見直したのは 2026-10-05
- 版が上がっていたら、AI に公式の手順を確かめさせてから進める
まとめ
自立編を動かす機械を、最初に決める。
- 一台で全部 ── 公開の Web、社内の道具、AI の作業を、同じ機械に載せる。自前の LLM だけは別のサーバー
- OS は Debian ── Python と apt が最初からあり、更新で勝手に再起動しない
- Docker は使わない ── 配るための道具で、作るための道具ではない。apt で入れ、systemd で動かす。例外は公式がコンテナでしか配らない物だけで、イメージは自分で作らない
- 画面も入れる ── 文書を開く、頁を見る
- AI に root ── 設定は git に、データは機械の外に写す。だから初期化で戻せる
- 人が持つのは三つ ── 鍵と認証、外でやる操作、データの写し
- AI は複数 ── 別の会社の AI に、作った物と基準だけを渡して見張らせる
- 費用 ── 作るあいだ月約 120 ドル、運用は月約 40 ドル(2026-10-05 時点、税抜)
次章では、この機械の上に 土台(SQLite・PostgreSQL・DuckDB) を据える。