付録BNAPALM

NAPALM(Network Automation and Programmability Abstraction Layer with Multivendor support)とは、ネットワーク装置を管理するためのPythonライブラリです。ネットワーク装置を管理するために、頑健なPythonオブジェクトが用意されており、ネットワーク装置の種類を問わずに利用できるのが大きな特長です。

NAPALMへの機能追加は今も続けられています。本書では、主要な機能のうち以下の2つに着目します。

  • コンフィグレーションの管理
  • ネットワーク装置からの情報取得

NAPALMのドライバが対象の操作に対応していさえすれば、ネットワーク装置のベンダーやOSの違いを意識する必要はありません。

NAPALMは多数のベンダーのネットワーク装置に対応していますが、操作に使われるAPIはネットワーク装置ごとに異なります。例えばCisco Nexusでは現在NX-APIが使われ、Arista EOSではeAPI、Cisco IOSではSSH、Juniper JunosではNETCONFがそれぞれ使われます。そのため、NAPALMを評価する際には対象のネットワーク装置で使われるAPIについて注意する必要があります。

対応しているAPIとネットワーク装置の一覧や、その他さまざまな情報がNAPALMの公式Webサイトで公開されています(https://napalm.readthedocs.io/en/latest/)。本書では引き続き、NAPALMを使ったコンフィグレーションの管理について解説していきます。

B.1 NAPALMによるコンフィグレーションの管理

NAPALMでは従来からのアプローチに従ってネットワーク装置を設定することも可能ですが、新たなアプローチについても取り入れられています。それは ...

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.