Instiq
第5章 · インフラと自動化·v1.0.0·更新 2026/7/20·読了目安 約16分

変更要約: 初版

5.2テスト・CI/CDと自動化ツール

この節の要点

ネットワーク変更を安全に流すためのCI/CDパイプライン(lint→テスト→デプロイ)、仮想環境で試すCisco Modeling Labs(CML)と状態を検証するpyATS、そしてAnsible(エージェントレス・冪等)・Terraform(宣言的・状態管理)・Cisco NSO(マルチベンダ・サービスモデル)の得意分野を、「このパイプライン段は何を守っているか」「この要件にはどのツールか」という判断として学びます。

自動化は「間違った設定を、より速く・より広く配る」危険も併せ持ちます。だからこそ、変更を本番へ届ける前に機械的に検証する仕組み(テストとパイプライン)が要ります。この節では、ネットワーク変更を安全に運ぶCI/CDの各段が何を守っているのか、仮想環境CMLとテストフレームワークpyATSの役割、そしてAnsibleTerraformNSOをそれぞれ「何が得意か」で選ぶ判断を、道具比較の暗記でなく要件との突き合わせとして整理します。

5.2.1CI/CDパイプラインの段

  • CI(継続的インテグレーション)=変更をコミット/Pull Requestするたびに自動でビルド・検査・テストを走らせ、壊れた変更を早期に弾く仕組み。ネットワークでは、まずyamllint等のlint(構文/書式検査)で「そもそも文法が正しいか」を機械確認する段が入る。ここで落ちれば本番に届く前に止まる。
  • CD(継続的デリバリ/デプロイ)=テストを通過した変更を自動で(あるいは承認後に)本番へ配布する段。典型的な順序はlint → 仮想環境でテスト → 承認 → 本番デプロイ → 事後検証。各段は「前段を通ったものだけ次へ」進むゲートであり、どこで落ちたかが原因の切り分けになる。

5.2.2テストの道具:CMLとpyATS

  • Cisco Modeling Labs(CML)=実機さながらの仮想ネットワークをシミュレートする環境。パイプラインの「テスト段」で、本番と同じトポロジをCML上に作り、変更を本番の前に安全に試す(サンドボックス)。物理機材を用意せずに検証でき、壊しても本番に影響しない。
  • pyATS(+Genie)=Cisco製のネットワークテスト自動化フレームワーク。機器のshow出力を構造化データにパースし、「BGPネイバがEstablishedか」「インタフェースがupか」といった期待状態を機械的に検証(アサーション)する。変更前後の状態を比較して回帰(想定外の劣化)を検出するのに使う。

続きは無料登録で読めます

冒頭を無料で公開中。無料登録でこの節の全文と、第4章以降を含む全参考書・全問題集が読めます。