前段
前回CodexでNW機器の自動設定を試したので、
今回は設計資料の作成を試してみる。
せっかくなので、
①プロンプトのみで作成した場合
②AGENTS.mdなどの定義ファイルを使った場合
の2パターンで作成し、内容を比較する
①プロンプトのみで作成した場合
まずはCodexに情報を与えずにプロンプトのみで作成してみる。
なお、今回は少し複雑なNWにしたかったので、東京都の学校ネットワークを設計する想定で進める
使用したプロンプト
あなたはNW設計のプロエンジニアです。
東京都の区の学校ネットワークの構成の設計をしています。
以下のNW構成の設計資料を作成してください。
#指示内容
##作成する設計書類
要件定義書(利用者数、端末数、利用サービス、セキュリティ要求)
基本設計書(全体構成、冗長方針、収容設計、運用分界)
無線基本設計(AP配置方針、想定同時接続、周波数方針)
詳細設計書(L2/L3、冗長、ルーティング、NAT、VPN、QoS)
IPアドレス設計書(サブネット、払い出し、予約、拠点間)
VLAN設計書(学習/校務/機器/ゲスト等、タグ設計)
ポート設計(スイッチポート割当表)
無線詳細(SSID設計、認証方式、ローミング、チャネル/出力計画)
セキュリティ設計(FWポリシー、URLフィルタ、SSL復号方針、ログ設計)
運用設計(監視項目、障害一次切り分け手順、保守窓口、変更手順)
機器レイアウト(ラック搭載図、配線盤図)
配線図(系統図、幹線/水平配線、配線ルート)
ケーブル表(成端表、ラベリングルール)
試験仕様書(単体/結合/性能/負荷、無線実測)
試験成績書(結果、ログ、エビデンス)##NW構成
##NW構成
回線終端装置(ONU等):ONU
エッジルータ/UTM:Fortinet FortiGate 100F
L3コアスイッチ:Cisco Catalyst 9300シリーズ
PoEアクセススイッチ:Cisco Catalyst 9200シリーズ
無線AP:HPE Aruba AP-515
認証(802.1X / RADIUS):Microsoft NPS 等
DHCP/DNS:区側集約(教育センター)または校内小サーバ
ログ保全:FW
UPS:コア・UTM・回線終端・無線コントローラを最低限バックアップ(APC等)
ラック/環境:19インチラック、パッチパネル、ケーブルマネジメント、温度管理
作成された設計資料
要件定義書
詳しい条件は指定していないため、一般的な内容で記載してくれているように見える
# 01 要件定義書
## 1. 目的
本書は `<<区名>>` `<<学校名>>` の校内ネットワーク再整備における要件を定義する。
## 2. 対象範囲
- 校内有線/無線LAN
- 校務系・学習系・ゲスト系のネットワーク分離
- インターネット接続、教育センター接続
- 認証、ログ保全、監視、運用
## 3. 利用者数(想定)
- 児童生徒: 850
- 教職員: 120
- 来訪者/業者: 30
- 合計: 1,000
## 4. 端末数(想定)
- 学習端末: 900
- 校務端末: 150
- 共用端末/プリンタ: 120
- IoT/設備: 180
- 合計: 1,350
## 5. 利用サービス
- 学習クラウド(LMS、教材配信)
- Web会議
- 動画配信
- 校務システム
- 印刷/ファイル共有
- MDM
## 6. セキュリティ要求
- 802.1X 認証(有線/無線)
- VLAN間通信はFWポリシー経由で制御
- URLフィルタ、IPS、アンチマルウェア
- 管理者操作ログの保全
- ログ保管期間 1年以上
- 拠点間通信はIPsec
## 7. 可用性/性能要求
- 授業時間帯稼働率: 99.9%以上
- 通常同時接続: 600台
- ピーク同時接続: 900台
- インターネット回線: 1Gbps(将来10Gbps拡張余地)
## 8. 非機能要件
- ラック内温度管理(18-27℃)
- 無停電電源(UPS)
- 変更管理手順と承認フロー
基本設計書
こちらも一般的な内容でした
# 02
## 1. 全体構成
`ONU - FortiGate 100F(HA) - Catalyst 9300(冗長) - Catalyst 9200 - Aruba AP-515`
## 2. 冗長方針
- FortiGate: Active-Passive HA
- Core: 2台冗長(Stack/仮想スタック)
- Access uplink: LACP 2本、コアへ分散接続
- 電源: 主要機器をUPS配下
## 3. 収容設計(標準)
- Access SW 1台あたり最大200端末
- AP 1台あたり同時接続目安 35-45(上限50)
- 教室基本: 1教室1AP
## 4. 運用分界
- 区教育センター: 上位回線、共通ポリシー、全体監視
- 学校: 端末/配線、一次切り分け
- 保守ベンダ: 障害二次対応、設定変更作業
## 5. 設計原則
- 校務/学習/ゲストを論理分離
- 最小権限アクセス
- 障害時は授業影響最小化を優先
②AGENTS.mdなどの定義ファイルを使った場合
今回ChatGPTにCodexのおすすめのファイル構成を聞いて、必要なファイルを作成してもらった。
その上で、学校NWに必要なNW条件を確認し、各ファイルを作成してもらった。
全部AI任せなのはご勘弁、、、
tokyo-ward-school-nw/
│
├── AGENTS.md
│
├── templates/
│ ├── design-template.md
│ ├── vlan-template.md
│ ├── ip-plan-template.md
│ ├── security-policy-template.md
│ └── redundancy-template.md
│
├── configs/
│ ├── cisco-core-template.txt
│ ├── cisco-access-template.txt
│ ├── fortigate-template.txt
│ └── meraki-template.txt
│
├── .codex/
│ ├── rules/
│ │ ├── allow_commands.md
│ │ └── deny_commands.md
│ │
│ ├── skills/
│ │ ├── generate-design/
│ │ │ ├── SKILL.md
│ │ │ └── workflow.md
│ │ │
│ │ ├── generate-config/
│ │ │ ├── SKILL.md
│ │ │ └── workflow.md
│ │ │
│ │ └── security-audit/
│ │ ├── SKILL.md
│ │ └── checklist.md
│ │
│ └── validation.md
│
└── README.md
学校のNWのため、高セキュリティと可用性を担保するように指示したところ
AGENTS.mdにその内容を含んでくれた。
# AGENTS.md
Project: Tokyo Ward School Secure Network
Mandatory Objectives:
- High Availability
- High Security
- GIGA-scale concurrency
- Zero Trust segmentation
- Disaster Recovery capability
- Audit compliance (5+ year log retention)
Required VLANs:
- VLAN10 校務系
- VLAN20 学習系
- VLAN30 来訪者
- VLAN40 監視カメラ
- VLAN50 管理
- VLAN60 サーバ
Redundancy:
- Dual Core
- Dual Firewall
- Dual WAN
- LACP
- STP Guard
Security:
- 802.1X
- SNMPv3 only
- SSHv2 only
- Centralized syslog
- NTP authentication
プロンプトには以下の文を加えました。
作成時には、「tokyo-ward-school-nw-project」内の参照資料を確認し、ルールに則った作業をしてください。
#参照フォルダ
tokyo-ward-school-nw-project
作成された設計資料
要件定義書
プロンプトのみの場合に比べて、より詳細に記載してくれている
# 要件定義書(東京都区立学校ネットワーク)
## 1. 対象と目的
- 対象: 区立小中学校 1 校(標準モデル)
- 目的: 校務/学習分離、GIGA 端末の同時利用、可用性・セキュリティ強化、監査対応
## 2. 利用者数・端末数(標準モデル)
- 児童生徒: 1,200 名
- 教職員: 120 名
- 来訪者: 最大 100 名/日
- 端末想定
- 学習端末: 1,200 台
- 教職員端末: 180 台
- 共有PC/実習端末: 80 台
- 監視カメラ: 64 台
- プリンタ/IoT/管理機器: 120 台
- AP: 85 台(HPE Aruba AP-515)
- 合計収容端末(同時接続対象): 約 1,750 台
## 3. 利用サービス
- 学習: クラウド学習基盤、Web会議、デジタル教科書、オンラインテスト
- 校務: 校務支援、グループウェア、ファイル共有、認証連携
- 運用: 監視、Syslog、NTP、資産管理、リモート保守 VPN
## 4. 性能要件
- インターネット回線: 主系 10Gbps + 副系 1Gbps(Dual WAN)
- 校内バックボーン: 10/25GbE(Core-Distribution)
- アクセス: 1GbE(端末)/2.5GbE(AP uplink)
- 無線同時接続: AP あたり 45 端末、校内ピーク 1,200 端末
- 遅延目標: 校内L3区間 平均 5ms 以下
## 5. 可用性要件
- Dual Core(Catalyst 9300 x2)
- Dual Firewall(FortiGate 100F x2 HA)
- Dual WAN(ONU 2系統)
- LACP による上位集約、STP Guard(BPDU Guard/Root Guard)
- 重要機器 UPS 給電(Core/FW/ONU/WLC 相当機能)
- 目標稼働率: 99.9%以上
## 5.1 災害対策(DR)要件
- 設定バックアップ: 日次で教育センターへ自動退避
- ログ保全: 校内障害時も中央Syslog側で継続保管
- 目標復旧時間(RTO): 4時間以内(主要授業ネットワーク)
- 目標復旧時点(RPO): 24時間以内
## 6. セキュリティ要件
- 端末認証: 802.1X(有線/無線)+ RADIUS(Microsoft NPS)
- 管理通信: SSHv2 のみ、SNMPv3 のみ
- ネットワーク分離: VLAN/ACL/FW ポリシーでゼロトラスト分離
- ログ: FortiGate + 中央Syslog へ転送、5年以上保全
- 時刻同期: NTP 認証有効
- URL フィルタ/IPS/AV/アプリ制御を UTM で実施
## 7. 制約・前提
- DHCP/DNS は区集約(教育センター)を第一選択、冗長として校内小サーバを許容
- 既設配線は Cat6A 以上を優先活用、不足分は新設
- 法令/ガイドライン(個人情報保護、文科省関連)への準拠
基本設計書
こちらもより可用性を高めるような内容が記載されている。
# 基本設計書
## 1. 全体構成
- 回線終端: ONU x2(主回線/副回線)
- UTM/エッジ: FortiGate 100F x2(HA A-P)
- コア: Cisco Catalyst 9300 x2(StackWise Virtual)
- アクセス: Cisco Catalyst 9200(PoE)
- 無線: Aruba AP-515(校内分散配置)
- 認証: Microsoft NPS(802.1X)
- DHCP/DNS: 区側集約 + 校内冗長
mermaid
flowchart LR
WAN1[ONU-Primary] --> FG1[FG100F-A]
WAN2[ONU-Secondary] --> FG2[FG100F-B]
FG1 <--> FG2
FG1 --> C1[Core C9300-1]
FG2 --> C2[Core C9300-2]
C1 <--> C2
C1 --> ACC[Access C9200群]
C2 --> ACC
ACC --> AP[Aruba AP-515群]
ACC --> TERM[有線端末/カメラ/プリンタ]
## 2. 冗長方針
- Core/FW/WAN の三層冗長
- FW: HA heartbeat 専用リンク + session 同期
- Core: SVL + MEC(マルチシャーシ EtherChannel)
- Access uplink: LACP(二重上位収容)
- ループ抑止: Rapid-PVST + BPDU Guard + Root Guard
## 3. 収容設計(標準校)
- フロア数: 4
- MDF: 1、IDF: 4
- Access SW: 8 台(48P PoE)
- AP: 85 台(教室、特別教室、体育館、職員室、共用部)
- 1 SW あたり PoE 負荷: 70% 以下で設計
## 4. 運用分界
- 区教育委員会/教育センター
- 回線契約、上位DNS/DHCP、SIEM保管、共通ポリシー管理
- 学校ICT担当/保守ベンダ
- 校内機器一次対応、現地切り分け、交換調整、変更作業実施
- ベンダ(NOC/SOC)
- 24/365 監視、障害二次対応、FWシグネチャ更新、月次報告
比較まとめ
「①プロンプトのみで作成した場合」と「AGENTS.mdなどの定義ファイルを使った場合」
で作成されたファイルを比較してみた。
ChatGPTさんに比較してもらったところ、②(Part2)の方が高セキュリティ、可用性を持っていることがわかった。
| 観点 | 評価 |
|---|---|
| 設計成熟度 | Part2 が上 |
| セキュリティ | Part2 が高い |
| 可用性 | Part2 が高い |
| 運用テンプレート | Part1 が豊富 |
| 教材用途 | Part1向き |
| 実案件納品 | Part2向き |
より高いセキュリティと可用性を持つ構成は → Part2
理由:
L3冗長前提
セキュリティゾーニング明確
WPA2-Enterprise想定
試験設計が具体的
可用性要件が定量的
まとめ
AGENTS.mdなどの定義ファイルを使った場合、そこに記載されたルールを基にエージェントが作業してくることがわかった。
より定義ファイルを作り込めば、人間のエンジニアの代わりに作業してくれるようになるのではと思います。
ワクワクと不安の気持ちが持てました。