ネットワークを整える
中級SDN・ネットワーク自動化を整える。
= 機器を1台ずつ設定する時代から、まとめて操作する時代へ
ネットワークのどこの話? 会社の LAN やデータセンターにある機器を、「どう管理して設定するか」の話です。通信そのものの仕組みではなく、運用のやり方です。
① 1台ずつ設定する型 と コントローラ型
機器の中には「どこへ送るか決める頭脳(コントロールプレーン)」と「実際に運ぶ手足(データプレーン)」があります。SDN は頭脳を外へ出して集めます。
ノースバウンド 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 ステータスのページで確かめられます。
リクエスト → 応答
コントローラの機器一覧(いまの状態)
| id | name | model | ip | role |
|---|
| CRUD | HTTP メソッド | 意味 |
|---|---|---|
| Create | POST | 新しく作る |
| Read | GET | 読む(状態は変わらない) |
| Update | PUT / PATCH | PUT は丸ごと置き換え、PATCH は一部だけ直す |
| Delete | DELETE | 消す |
REST API は HTTP の上で動くので、メソッドやヘッダーは HTTP のページ と同じです。つなぐ前には認証が要ります(Basic 認証・トークン・API キーなど)。データの書き方(エンコード)には JSON・XML・YAML があり、API では JSON がよく使われます。通信は TLS(HTTPS)で守ります。
④ JSON を読んでみる
架空の機器の API 応答です。波かっこ { } がオブジェクト、角かっこ [ ] が配列、引用符で囲んだものが文字列です。読んで下の問いに答えてください。
型は6つです: オブジェクト・配列・文字列・数値・真偽値(true/false)・null。数値は引用符で囲まず、"10" のように囲むと文字列になります。配列の番号は 0 から数えます。
⑤ Ansible と Terraform
設定の台本を書いて流す道具です。人の手作業を、同じ結果になる実行に置き換えます。
| 観点 | Ansible | Terraform |
|---|---|---|
| 考え方 | 「この手順を流す」台本(Playbook)を実行する | 「こうなっていてほしい」という完成形を書き、差分を埋める(宣言型) |
| 書き方 | YAML | HCL(独自の宣言言語) |
| 機器側の準備 | エージェント不要。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・機械学習の影響を説明できる。
信号機を1台ずつ見て回るか、管制室から操作するか
街の信号機を、作業員が1台ずつ回って時間設定を変えていくのが、従来のネットワークの設定です。10台なら10回、同じ作業をします。
SDN(ソフトウェアで定義するネットワーク)は、管制室(コントローラ)を作り、そこから全部の信号機にまとめて指示を出す考え方です。自動化は、その指示をプログラムや台本で出すことで、間違いと手間を減らします。
このツールは、ネットワーク全体図のここ
- 自分の端末
- 家・会社の中
- 出入口
- 建物の外
- 相手のサーバー
- データセンター
- 見る・動かす
全体を見る・動かす(運用・監視)— 機器を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®」も運営しています。 ここで手を動かした内容を、講師から教わる形の研修です。このページの道具は無料のまま、登録もいりません。