本文へスキップ
totonoe.tech

ネットワークを整える

中級

SDN・ネットワーク自動化を整える。

= 機器を1台ずつ設定する時代から、まとめて操作する時代へ

ネットワークのどこの話? 会社の LAN やデータセンターにある機器を、「どう管理して設定するか」の話です。通信そのものの仕組みではなく、運用のやり方です。

① 1台ずつ設定する型 と コントローラ型

機器の中には「どこへ送るか決める頭脳(コントロールプレーン)」と「実際に運ぶ手足(データプレーン)」があります。SDN は頭脳を外へ出して集めます。

各機器が、自分で経路を考え、自分で設定を持つ スイッチ 1 コントロール (頭脳・経路を決める) データ (手足・転送する) スイッチ 2 コントロール (頭脳・経路を決める) データ (手足・転送する) スイッチ 3 コントロール (頭脳・経路を決める) データ (手足・転送する) 👤 運用者が機器ごとにログインして設定(台数が増えるほど手間が増える)

ノースバウンド API

コントローラの上(北)向き。アプリや自動化ツールが、コントローラに「こうして」と頼む入口です。多くは REST API で、データは JSON。

サウスバウンド API

コントローラの下(南)向き。コントローラが機器に設定や指示を送る出口です。NETCONF・CLI(SSH)・SNMP・OpenFlow などがあります。

覚え方

地図と同じで、コントローラを中心に北が上(アプリ側)、南が下(機器側)。

アンダーレイ・オーバーレイ・ファブリック

Cisco Catalyst Center(旧 DNA Center)などのコントローラ型 LAN で出てくる言葉です。

  • アンダーレイ

    実際の機器とケーブル、その上で IP パケットを届ける土台のネットワークです。道路そのもの。

  • オーバーレイ

    土台の上に、トンネルなどで重ねた仮想のネットワークです。道路の上に引いた「専用レーン」。利用者から見た論理的なつながりを決めます。VXLAN や IPsec VPN も、土台の上にトンネルを重ねる考え方です。

  • ファブリック

    アンダーレイとオーバーレイをあわせた、ひとまとまりのネットワーク全体です。布のように「全体で1枚」として扱います。

Catalyst Center は、機器の設定を意図(「営業部の端末は社内システムだけ使える」など)から自動で作り、機器へ配ります。従来の「機器ごとに CLI で設定」との違いが、CCNA で問われます。

② 10台に同じ VLAN を足してみる

VLAN 100 を10台のスイッチに足します。手作業と、1つの台本を流す方法を押し比べてください。

    - name: VLAN 100 を全スイッチに足す
      hosts: switches
      tasks:
        - cisco.ios.ios_vlans:
            config:
              - vlan_id: 100
                name: SALES
            state: merged

    ※ 所要時間は「1台あたりログイン・設定・保存・確認で90秒」と仮定した目安です。打ち間違いの場所は教材として固定しています。

    ③ REST API でコントローラを操作する

    操作(メソッド)を選んで送ると、架空のコントローラの機器一覧がどう変わるかが見えます。ステータスコードの意味は HTTP ステータスのページで確かめられます。

    リクエストを作る すべてブラウザ内の疑似 API(送信ゼロ)

    リクエスト → 応答

    ステータスコードの意味

     

    コントローラの機器一覧(いまの状態)

    idnamemodeliprole
    CRUDHTTP メソッド意味
    CreatePOST新しく作る
    ReadGET読む(状態は変わらない)
    UpdatePUT / PATCHPUT は丸ごと置き換え、PATCH は一部だけ直す
    DeleteDELETE消す

    REST API は HTTP の上で動くので、メソッドやヘッダーは HTTP のページ と同じです。つなぐ前には認証が要ります(Basic 認証・トークン・API キーなど)。データの書き方(エンコード)には JSON・XML・YAML があり、API では JSON がよく使われます。通信は TLS(HTTPS)で守ります。

    ④ JSON を読んでみる

    架空の機器の API 応答です。波かっこ { } がオブジェクト、角かっこ [ ] が配列、引用符で囲んだものが文字列です。読んで下の問いに答えてください。

     

    型は6つです: オブジェクト・配列・文字列・数値・真偽値(true/false)・null。数値は引用符で囲まず、"10" のように囲むと文字列になります。配列の番号は 0 から数えます。

    ⑤ Ansible と Terraform

    設定の台本を書いて流す道具です。人の手作業を、同じ結果になる実行に置き換えます。

    観点AnsibleTerraform
    考え方「この手順を流す」台本(Playbook)を実行する「こうなっていてほしい」という完成形を書き、差分を埋める(宣言型)
    書き方YAMLHCL(独自の宣言言語)
    機器側の準備エージェント不要。SSH や API で入って設定するプロバイダ(接続部品)を通して API を呼ぶ
    流れ管理サーバーから機器へ押し込む(プッシュ型)plan で差分を確認し、apply で反映。状態をファイル(state)に持つ
    得意な場面既存の機器の設定変更・設定の一斉配布クラウドなどの環境をまるごと作る・作り直す

    どちらも「同じ台本なら同じ結果」になるのが強みです(冪等)。上の②で「もう一度流す」と変更が0件になるのは、すでに入っているものは触らないからです。

    ⑥ AI と機械学習がネットワーク運用に与える影響

    CCNA v1.1 で加わった項目です。生成 AI(文章や設定案を作る)と、予測 AI(データから先や異常を見積もる)の2つを区別します。

    使うときに気をつけること

    • AI の出力は間違うことがあります。機器へ反映する前に、人が内容を確かめます。
    • 学習や予測の質は、元のデータ(ログ・通信量)の質で決まります。
    • 機器の設定やログには機密が含まれます。外部のサービスへ送るかどうかは、会社の決まりを確認してから決めます。

    CCNA ではここが問われる

    • CCNA 200-301 v1.1 の「自動化とプログラマビリティ」(試験の約10%)の範囲です。
    • 従来の機器ごとの管理と、コントローラ型(Cisco Catalyst Center など)の比較。
    • コントロールプレーンとデータプレーンの分離。ノースバウンド(アプリ側)とサウスバウンド(機器側)の API。
    • アンダーレイ・オーバーレイ・ファブリックの意味。
    • REST API の特徴: CRUD と HTTP メソッド(POST・GET・PUT/PATCH・DELETE)の対応、認証の種類、データのエンコード(JSON・XML・YAML)。
    • JSON で書かれたデータを読み、キーと値・配列・型を答える。
    • Ansible(エージェント不要・プッシュ型・YAML)と Terraform(宣言型)の特徴。
    • ネットワーク運用での生成 AI・予測 AI・機械学習の影響を説明できる。

    関連: ネットワーク運用、VLAN、JSON。

    信号機を1台ずつ見て回るか、管制室から操作するか

    街の信号機を、作業員が1台ずつ回って時間設定を変えていくのが、従来のネットワークの設定です。10台なら10回、同じ作業をします。

    SDN(ソフトウェアで定義するネットワーク)は、管制室(コントローラ)を作り、そこから全部の信号機にまとめて指示を出す考え方です。自動化は、その指示をプログラムや台本で出すことで、間違いと手間を減らします。

    このツールは、ネットワーク全体図のここ

    1. 自分の端末
    2. 家・会社の中
    3. 出入口
    4. 建物の外
    5. 相手のサーバー
    6. データセンター
    7. 見る・動かす

    全体を見る・動かす(運用・監視)— 機器を1台ずつ設定する代わりに、全体をまとめて動かす考え方の話です。

    全体を見る・動かすは、道路全体を映す管制室のような場所です。OSI では特定の層には決まらない。

    「ブラウザで URL を打ってからページが出るまで」の 11 番目(うまくいかないときは「見る」)で活躍します。

    前の段: HTTPステータス

    このページに出てくる略語(10語)
    • SDN (Software-Defined Networking) — 機器を1台ずつ設定せず、ソフトウェアで全体をまとめて動かす考え方
    • API (Application Programming Interface) — プログラムから機能を呼び出すための窓口
    • REST (Representational State Transfer) — HTTP の命令で、データを取る・作る・消すを行う API の作り方
    • JSON (JavaScript Object Notation) — 名前と値を { } で書く、データのやりとり用の書き方
    • YAML (YAML Ain't Markup Language) — インデントでデータを書く、設定ファイル向けの書き方
    • XML (Extensible Markup Language) — タグでデータを囲んで書く、データのやりとり用の書き方
    • CRUD (Create, Read, Update, Delete) — データに対する基本の4操作(作る・読む・更新・消す)
    • NETCONF (Network Configuration Protocol) — 機器の設定を、XML で取得・変更するための決まりごと
    • RESTCONF (RESTCONF Protocol) — 機器の設定を、HTTP の命令で取得・変更するための決まりごと
    • YANG (Yet Another Next Generation) — NETCONF などで扱う、機器の設定項目の書式を定めたデータ定義

    ネットワークの略語をすべて見る

    ネットワークの全体図を見る

    このツールについて

    ネットワーク機器を1台ずつ打ち込んで設定する時代から、プログラムで一斉に操作する時代へ。その考え方と、REST API・JSON・Ansible の基本を、手を動かして確かめられます。

    SDN は機器の頭脳(コントロールプレーン)をコントローラに集め、API と台本で一斉に操作する考え方。REST は HTTP の上で動き、データは JSON で読む。

    主な機能

    • 従来型とコントローラ型の切り替え図(ノース/サウスバウンド API つき)
    • 10台に VLAN を足す手作業 vs 自動化の比較アニメ
    • GET/POST/PUT/PATCH/DELETE を試せる疑似 REST API
    • 架空機器の JSON 応答を読むクイズ(型・件数・パス)
    • Ansible と Terraform の比較、生成 AI と予測 AI の仕分け

    よくある質問

    Q. SDN とは何ですか?

    A. ネットワーク機器の中にある「経路を決める頭脳(コントロールプレーン)」を外のコントローラに集め、ソフトウェアで全体をまとめて管理する考え方です。機器は転送(データプレーン)に専念します。

    Q. 自動化すると何が良いのですか?

    A. 同じ作業を1台ずつ手で行うと、時間がかかり打ち間違いも起きます。台本(プログラム)を流せば全台に同じ設定が入り、間違いは台本を1か所直せば全台で直ります。

    Q. ノースバウンド API とサウスバウンド API の違いは?

    A. コントローラを中心に、上(北)のアプリや自動化ツールとの入口がノースバウンド API(多くは REST)、下(南)の機器との出口がサウスバウンド API(NETCONF・CLI・SNMP・OpenFlow など)です。

    Q. PUT と PATCH の違いは?

    A. どちらも更新ですが、PUT は対象を丸ごと置き換え、送らなかった項目は空になります。PATCH は送った項目だけを直し、ほかはそのまま残します。

    Q. Ansible と Terraform はどう違いますか?

    A. Ansible は YAML の台本(Playbook)を機器へ押し込むエージェント不要のプッシュ型です。Terraform は「こうなっていてほしい」という完成形を宣言し、差分を埋める宣言型で、クラウド環境の構築が得意です。

    入力値はURLの「#」以降に入るためサーバーには送信されません。リンクを開くと同じ状態を復元します。

    続けて整える

    totonoe.tech を運営する株式会社Koinobori は、法人向けの研修サービス「NOBORIBA®」も運営しています。 ここで手を動かした内容を、講師から教わる形の研修です。このページの道具は無料のまま、登録もいりません。

    運営サイト

    私たちが運営するサイト