ChatGPT-4oにネットワーク構成図をお願いしてみた話

ChatGPTでネットワーク構成図を作れるって知ってましたか?

この記事では、ChatGPT-4oを使って、構成情報の整理からテキスト構成図、Mermaid形式、さらに画像生成まで試してみた実例を紹介します。

「初動整理をAIに任せたい」「構成図をチームにサッと共有したい」という方におすすめの内容です。


ネットワーク構成図を作るのって、意外とめんどうだったりしませんか? 今回試したのは ChatGPT-4o です。 ChatGPTに「構成図を描く準備を手伝って」とお願いしてみたところ、かなりスムーズに作業が進みました。複雑な構成は難しいものの、機器同士の接続図であれば十分に活用できる印象を持ちました。 この記事では、そのやりとりと、テキスト構成図/Mermaid形式の変換まで紹介します。


どんな情報が必要?ChatGPTに聞いてみた

最初にChatGPTにこう聞いてみました。

ネットワーク構成図を書きたいです。どんな情報を出せばいいでしょう?🤔

すると、以下のようなリストが返ってきました。

構成図を作るには、以下の情報を教えてください:

1. ネットワークに含まれる機器とその種類(PC、ルータ、スイッチ、サーバなど)
2. 各機器の接続関係(どのポート同士がつながっているか)
3. IPアドレスやVLANの情報(分かる範囲でOK)
4. ネットワークの目的(例:社内LAN、学習用など)
5. 通信の流れや想定される利用状況
6. セグメント分けやゾーニング(DMZなど)
7. 出力形式の希望(テキストか図形式か)
8. 特定の記号や表記ルールの希望があれば、それも教えてください

このように、ChatGPTが「構成図を描くために整理すべきポイント」を具体的に教えてくれるのがとても助かります。


実際に情報を出してみた(物理構成)

今回は物理構成図(テキスト形式)を作りたかったので、以下のように情報を整理して渡しました。🤔

PC1 eth0         --- L2SW1 port1
PC2 eth0         --- L2SW1 port2
DNS Server eth0  --- L2SW1 port11
DNS Server eth0  --- L2SW1 port12
L2SW1 port24     --- R1 port10
R1 port1         --- Internet

ChatGPTはこの情報を受け取って、まず以下のようなテキスト構成図を提示してくれました。


ChatGPTが作ってくれた構成図(テキスト形式)

             +----------------+
             |    Internet    |
             +--------+-------+
                      |
                      | R1 port1
             +--------+--------+
             |       R1        |
             |    (Router)     |
             +--------+--------+
                      | port10
             +--------+--------+
             |      L2SW1      |
             | (Layer2 Switch) |
   +----------+----+----+----------+----------+
   |          |    |    |          |          |
port1     port2  port11 port12   port24     ...
 |          |      |      |        |
PC1       PC2   DNS1   DNS2      R1 port10

この図を見て「まずはここまでできるのか」と驚いたのですが、若干間違っているものの、さらに便利だったのが次のステップです。(ポートが片方しかないのは NG😅)

この後、別の聞き方でもMermaid形式を試してみました。


Mermaid形式に変換してもらった

「この図をMermaidで書きたい」と頼んでみると、ChatGPTはGitHub Issueにも貼れるようなMermaid形式に変換してくれました。GitHub Issueの場合は、“`mermaidで括るのがポイントです。

graph TD
  Internet[Internet]
  R1[Router R1]
  L2SW1[Switch L2SW1]
  PC1[PC1]
  PC2[PC2]
  DNS1[DNS Server]
  DNS2[DNS Server]

  Internet -->|port1| R1
  R1 -->|port10| L2SW1

  L2SW1 -->|port1| PC1
  L2SW1 -->|port2| PC2
  L2SW1 -->|port11| DNS1
  L2SW1 -->|port12| DNS2


⚠️補足:当初は「L2SW1 port24」 をノードとして追加していたが、それではL2スイッチが2台あるように見えてしまったため、ポート情報はエッジのラベルとして整理。

⚠️補足
実は最初エラー出たけど、貼り付けたらすぐに修正しました。

上記をGitHub Issueに貼り付けたらエラーになりました。直して下さい。

Unable to render rich display

Parse error on line 7: …] DNS1[DNS Server (port11)] DNS2[DNS ———————-^ Expecting ‘SQE’, ‘DOUBLECIRCLEEND’, ‘PE’, ‘-)’, ‘STADIUMEND’, ‘SUBROUTINEEND’, ‘PIPE’, ‘CYLINDEREND’, ‘DIAMOND_STOP’, ‘TAGEND’, ‘TRAPEND’, ‘INVTRAPEND’, ‘UNICODE_TEXT’, ‘TEXT’, ‘TAGSTART’, got ‘PS’

ただ、よくよく見るとポート番号がすべて入っているわけではなく、構成図としては情報が足りない状態です。これではネットワーク構成図として正確に読み取るのは厳しい場面もあります。

また、ポート番号がノード名に含まれていると、それが別の機器として扱われてしまい、構成図に誤解を生む原因になります。特にMermaidでは、ノード名に括弧やカンマ、スペースがあるとエラーや予期せぬ表示になることが多いため、ポート情報はラベルにとどめたほうが無難です。


ポート番号を省いて試してみた

さらに以下のようなシンプルな接続情報でMermaid図を依頼してみました。csv形式です。

以下の接続をMermaid形式にしてもらえますか?

R1,Internet
L2SW1,R1
PC1,L2SW1
PC2,L2SW1
DNS Server,L2SW1
DNS Server,L2SW1

このような形式でも、ChatGPTは正しく解釈して構成図にしてくれます。

graph TD
  Internet[Internet]
  R1[Router R1]
  L2SW1[Switch L2SW1]
  PC1[PC1]
  PC2[PC2]
  DNS1[DNS Server 1]
  DNS2[DNS Server 2]

  Internet --> R1
  R1 --> L2SW1
  L2SW1 --> PC1
  L2SW1 --> PC2
  L2SW1 --> DNS1
  L2SW1 --> DNS2


⚠️補足:DNS Server が2回登場しているため、自動的に DNS1 / DNS2 として別ノード扱いされました(1台で2ポート接続なら明示すべき) また、ノード名にカンマが含まれていたり、括弧があるとエラーになる場合があるため、シンプルな命名にした方が安全です。

このような試行錯誤を通じて、Mermaid形式でも意外と多様なアプローチが可能だと実感しました。

  • ホスト名ベースなら有効:接続情報が「ホスト名のみ」であれば、構成図として十分使える
  • ポート番号を含めると厳しい:ノード名にポート番号を入れると、構文エラーや誤解釈の原因になりやすい
  • 共有にはちょうどいい:テキストベースでも、サッとチーム内に構成イメージを共有したいときに有効
  • Mermaidは資料にも使えそう:見やすく整えれば、そのまま技術資料やGitHubにも使える可能性あり

ChatGPTは、構成の初動整理や簡易図の作成において、思った以上に頼りになる存在でした。


テキスト形式の構成図(ポート番号なし)も試してみた

さらにシンプルな接続情報を使って、テキスト形式のネットワーク構成図も依頼してみました。

以下の接続をテキスト形式のネットワーク構成図にしてもらえますか?

R1,Internet
L2SW1,R1
PC1,L2SW1
PC2,L2SW1
DNS Server,L2SW1
DNS Server,L2SW1

ChatGPTはこれに対して、以下のような出力をしてくれました。

             +----------------+
             |    Internet    |
             +--------+-------+
                      |
             +--------+--------+
             |       R1        |
             |    (Router)     |
             +--------+--------+
                      |
             +--------+--------+
             |      L2SW1      |
             | (Layer2 Switch) |
   +----------+----+----+----------+----------+
   |          |    |    |          |          |
 PC1        PC2  DNS1  DNS2      .

最後に画像生成も試してみた

以下のネットワーク構成図を画像で生成できますか?

R1,Internet
L2SW1,R1
PC1,L2SW1
PC2,L2SW1
DNS Server,L2SW1
DNS Server,L2SW1

この構成図は、他の人への説明資料としても十分使えるクオリティでした。


おまけ
Gemini 2.5 flashでも同じ内容を聞いてました。こちらは、、、まだまだでした。。

指示の仕方を変えるとうまくいく?(テキスト形式)

以下の通りに指示を変えてもたらポート番号もうまく表記できました。もう少し条件を加えてみました。

以下の接続をテキスト形式のネットワーク構成図にしてもらえますか?

#
・上から下に通信順(Internet → R1 → L2SW1 → 各デバイス)で並べてください
・ポート名は「R1 Port1」のような書き方ではなく、**単に「Port番号」のみで表記**してください(例:Port0, Port1…)
・スイッチ部分は横長にし、ポートが左右に分かれて見えるようにしてください
・各接続機器(PCやDNS Server)のインタフェース名は「eth0」「eth1」のように明記してください
・図は縦方向に流れるように整理してください

#
Internet - R1 Port0
R1 Port1 - L2SW1 Port24
L2SW1 Port1 - PC1 eth0
L2SW1 Port2 - PC2 eth0
L2SW1 Port3 - DNS Server1 eth0
L2SW1 Port4 - DNS Server2 eth1

結果は以下の通りになりました。まあまあ見られますよね。

              +----------------+
              |    Internet    |
              +--------+-------+
                       |
                     Port0
              +--------+--------+
              |       R1        |
              |    (Router)     |
              +--------+--------+
                     Port1
                       |
                     Port24
                       |
       +---------------+---------------+
       |              L2SW1            |
       |         (Layer2 Switch)       |
       +----+----------+----------+----+
            |          |          |
         Port1       Port2      Port3
           |           |          |
          eth0        eth0      eth0
          PC1         PC2   DNS Server1

                              Port4
                                |
                              eth1
                         DNS Server2

まとめ:AIで構成図を作るのは「まだこれから」だけど、活用の余地はある

ChatGPTと一緒にネットワーク構成図を作るのは、ある程度までは効率的でした。特に「ホスト名ベースでざっくり共有したいとき」は有効です。

ただし、ポート番号を含めた正確な構成になると、まだ人の補正が必要です。とはいえ、最初の整理や資料のたたき台としては十分実用的。

このあと、論理構成図やVLAN設計付きの図も試しながら、どこまでAIに任せられるかを引き続き検証していきます。


※ 本記事で紹介した内容は、ChatGPTの回答をベースにしています。重要な構成や実装の前には、必ずご自身で確認・検証を行ってください。

Follow me!

コメントを残す