9章自動化ツール

ネットワーク自動化について語るのであれば、自動化ツールの検討は欠かせません。AnsibleやChef、Puppet、StackStorm、Saltなどの自動化ツールは、ネットワーク自動化にも大きな役割を果たしています。

一般的にこれらの自動化ツールは、主なユースケースとしてサーバーの自動化を想定しています。ほとんどの自動化ツールはサーバー向けOSの自動化を起源としており、OSやアプリケーション設定の管理に使われていました。しかし近年では、自動化ツールを提供する多くの企業が自社製品にネットワーク自動化の機能を追加しようという動きが見られ、結果的にこれらの自動化ツールをネットワーク自動化のユースケースに対しても利用できるようになってきました。

この章では、ネットワーク自動化に使われる主なツールとして以下の3つを取り上げます。

  • Ansible
  • Salt
  • StackStorm

具体的なネットワーク自動化のための利用方法を解説する前に、まずは自動化ツールの概要について紹介します。

9.1 自動化ツールの概要

ここで紹介する各ツールはいずれも自動化に特化していますが、アーキテクチャーやアプローチはそれぞれ微妙に異なり、長所と短所も異なります。これから紹介する各ツールの概要を知ることで、読者の環境に採用する際の参考にしてください。

各ツールのアーキテクチャーの違いは、主に以下の点で見られます。

エージェントベースかエージェントレスか
一部のツールでは、エージェントと呼ばれるソフトウェアが管理対象のシステムやマシンで実行されている必要があるものがあります。ネットワーク自動化で利用する場合には、この要件がツール利用の妨げになることがあります。これは、すべてのネットワークOSでエージェントを実行できるとは限らないためです。対象のネットワーク装置でエージェントを実行できないネットワークOSの場合、代替策としてプロキシエージェントが利用できることもあります。その一方で、エージェントレスなツールではもちろんエージェントは不要です。ネットワーク自動化の場合にはエージェントレスのツールのほうが適用しやすいでしょう。 ...

Get ネットワーク自動化とプログラマビリティ ―次世代ネットワークエンジニアのためのスキルセット now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.