Blog Brocade Japan

StackStormとNAPALMを使用してネットワーク構成の整合性を確保する

by mierdin on ‎08-08-2017 10:47 AM - last edited on ‎08-10-2017 12:35 AM by aokuhara (1,274 Views)

--- StackStorm Blog 翻訳記事「Ensuring Network Configuration Consistency with StackStorm + NAPALM Matt Oswalt ---

 

StackStormの新たな統合に関する話題に関心があれば、数週間前にNAPALMパックが作成されたことをご存知かもしれません。NAPALMのことをよく知らない方に説明すると、これはルータやスイッチなどのネットワーク・デバイスと対話するためにマルチベンダー環境の抽象化レイヤを提供するPythonライブラリです(ネットワーク業界以外の方は、NAPALMをネットワーク用の「libcloud」と捉えることができます)。  これはネットワーク自動化の実行に非常に役立ちます。なぜなら、必要な作業は、このライブラリを対象としてスクリプト(またはStackStormアクション)を1回作成することだけで、NAPALMでサポートされる10以上のネットワーク・ベンダー(その数は絶えず増加しています)に対してすぐにそれを使用できるからです。

 

このことは、イベント駆動型の自動化をネットワーク空間に大々的に導入する大きな機会をもたらしました。最初に、コミュニティの協力を得て、これを実現するためのパックを作成しました。コミュニティのメンバーであるRob Woodward氏は初期のプルリクエストに応えました。これには、NAPALMライブラリの機能の大部分を扱う多くの新しいアクションやワークフローが含まれています。これは数週間前に統合されました。現時点ではまだこのパックを「ベータ版」のステージに含めることを検討中の段階ですが、このことは、StackStormを使用する成熟したマルチベンダー・ネットワーク自動化への大きな一歩となりました。Rob氏の協力に感謝します。

 

このパックの存在は、マルチベンダー・ネットワーク自動化とイベント駆動型の自動化の領域が最終的に一体化することを意味します。NAPALMは、それ自体にすでに多くの優れた機能を備えています。たとえば、運用データ(ルーティング・テーブルやネイバー・テーブルなど)をベンダーに依存せずに取得する機能や、ネットワーク・デバイスに対して構成変更をプッシュする機能などです。この機能をStackStormのイベント駆動型の自動化と連携させると、ネットワーク監視システムをはじめ、どこにおいても興味のあるイベントに応答してこれらのアクティビティをトリガーできるようになります。

 

要約については、このパックのREADMEを確認してください。その前に、このパックに現在含まれているいくつかの利点を紹介しましょう。

 

  • トポロジの変更や構成の更新などの一般的なネットワーク・イベントに自動的に対応するためのルール
  • ネットワークの状態(ARP、BGP、IPv6ネイバー・テーブルなど)を取得するためのアクション、変更を行うためのアクション(1回限りのコマンドの実行など)、構成全体または構成の一部をインストールするためのアクション

napalm_actions.png

 

ここに挙げたアクションはほんの一例に過ぎません。現時点で、NAPALMパックは、NAPALMライブラリ自体によって公開されている機能のほぼすべてをサポートしています。

 

繰り返しになりますが、これらの機能はすべて、NAPALMライブラリの特性ゆえに、本質的にマルチベンダーに対応しています。「get_lldp_neighbors」アクションを使用してJuniperファイアウォール上でLLDPネイバーを取得し、取得した情報を使用してBGP構成を作成し、さらに「loadconfig」アクションを使用してCiscoルータにプッシュしたい場合、それが可能になるのです。

 

構成の整合性の確認

このパックの初版の公開以降、ネットワーク・エンジニアの負担を軽減するために、彼らが毎日解決する必要がある問題に具体的に焦点を当てて、パックを充実させる方法を検討しています。ネットワーク内の1つの重要な課題は、意図した通りにネットワークが構成されるようにすることです。これは自動化を開始する際に特に重要です。

 

そのために、最近、「check_consistency」と呼ばれるアクションがNAPALMパックに追加されました。このアクションは、NAPALMライブラリを使用して指定されたネットワーク・デバイスに接続し、その構成を取得します。次に、それをGitリポジトリに保管された「標準構成」と比較し、相違がある場合は通知します。

 

これはChatops対応であるため、すべての作業をSlackまたはHipChatから容易に実行できます。この固有の機能の概要については、以下のビデオを確認してください。

 

 

これは、NAPALMパックで行えることの一例に過ぎません。NAPALMパックと関連機能を使用して、あらゆる種類の興味深いネットワーク自動化デモを作成することが予定されています。その目的はネットワーク・エンジニアの運用能力を向上させることです。

 

まだ終わりではありません。このパックは近い将来、幅広く導入されることになるでしょう。ネットワーク自動化に関心がある場合は、是非試してみて感想をお聞かせください。NAPALMの価値をすでに認めている方、または、すでにNAPALMを使用しているがまだStackStormを試していない方は、StackStormの概要を確認して概念に精通し、使い始めてください。NAPALMの詳細については、プロジェクトのGithubページを参照してください。

是非自動化を導入してください。