Mímisbrunnr知恵の泉

← コンピュータネットワーク 一覧

🎓 レベル:標準 | 重要度:B(重要) 📎 前提:REST APIとJSON

要点(BLUF)

なぜ設定をコードにするのか

手作業の設定は、(1) 再現できない(誰かの記憶頼み)、(2) 履歴が残らない、(3) レビューできない、(4) 規模に追従できない、という弱点があります。設定をテキストのコードで表せば、Gitでバージョン管理し、差分をレビューし、同じ構成を何度でも再現できます。「サーバやネットワークを、ソフトウェアと同じ規律で扱う」のがIaCです。

Ansible と Terraform

v1.1ではPuppet/ChefからAnsible/Terraformへ範囲が更新されました。両者は重なりつつ重心が違います。

AnsibleTerraform
主な用途構成管理(既存機器を望む状態に)プロビジョニング(リソースを作る)
記述YAML(playbook)HCL(宣言的)
実行方式エージェントレス(SSH/API)プロバイダ経由でAPI呼び出し
状態管理都度確認stateファイルで管理
押さえ手続き寄りにも書ける宣言的・あるべき姿を定義
graph LR
  CODE["設定コード(YAML / HCL)"]
  TOOL["Ansible / Terraform"]
  DEV["ネットワーク機器・クラウド(API経由)"]
  CODE --> TOOL --> DEV

Ansibleのplaybookの雰囲気(YAML):

- name: VLANを設定する
  hosts: switches
  tasks:
    - name: VLAN10を作成
      cisco.ios.ios_vlans:
        config:
          - vlan_id: 10
            name: Sales
        state: merged

宣言的アプローチ:何を、どうやって

宣言的だと、既に望む状態なら何もしない(冪等性)ため、何度実行しても安全です。Terraformやansibleのmergedモードはこの考え方を取ります。

AIネットワーキング(v1.1の新規)

ネットワークが生む膨大なテレメトリ(ログ・統計)を、人手で監視するのは限界があります。AI/MLは:

CiscoのAI支援機能(Catalyst Center等のアシュアランス)が代表例です。CCNAでは**「AI/MLが運用をどう変えるか」の概念**を押さえれば十分で、深い理論は機械学習分野へ繋ぎます。

なぜ自動化とAIが必須になったのか(設計の直観)

機器数・変更頻度・求められる速度が、人手のCLI運用の限界を超えました。自動化は「人を速くする」のではなく「人を構成のループから外す」ことで、ミスと遅延を根絶します。さらにAIは、人が見切れない量のデータから異常や予兆を拾い、運用を「事後対応」から「予測・予防」へ移します。CCNA v1.1がこのドメインの比重を上げたのは、ネットワーク技術者の仕事が設定屋から、自動化を設計しデータを読む役割へ移っている現実を反映しています。

⚠️ よくある誤解

対応 lab

関連