OpenConfigとYANGモデルの使い方 - TechRepublic

OpenConfigとYANGモデルの使い方 - TechRepublic

サービスプロバイダにとって、ネットワーク環境における一般的なタスクの自動化は一般的な慣行となっています。近年のよりオープンなネットワーク環境において、OpenConfigはこれを可能にします。OpenConfigは、ネットワーク事業者による非公式ワーキンググループであり、ネットワークの世界を動的でプログラマブルなインフラストラクチャへと移行させることを目指しています。OpenConfigは、NETCONF設定プロトコルを介して送信されるデータのためのデータモデリング言語であるYANGを用いた、ベンダー中立的なネットワーク管理モデルを推進しています。

このモデル駆動型ネットワーク自動化の背後にある動機は何でしょうか? 動機は3つあります。

  1. スピードと規模には自動化と監視機能が求められます
  2. それを競争上の優位性と考える人もいる
  3. IT運用コストを削減できる

動機はさておき、組織はこれらの機能に興味を持ち、ベンダーは実装を進めています。しかし、そのためには、特に長年ネットワークに携わってきた人にとっては、新たな考え方が必要になります。

昔の時代

ネットワーク管理者にとって馴染み深い設定方法の一つに、コマンドラインインターフェース(CLI)があります。多くの人にとって、これは愛憎入り混じった関係です。CLIは通常、デバイスの基本的な設定機能すべてにアクセスできますが、当然ながら習得が必要です。シスコは、CLIを習得する人材を育成するための認定プログラム「Cisco Certified Internetworking Expert(CCIE)」を提供しています。このプログラムは長年にわたり変化してきましたが、その根幹はCLIの熟練度にあります。

そこから多くの人がネットワーク管理システム(NMS)、OpenScore、NaviScore、HP OpenViewなどを思い浮かべるでしょう。これらのネットワーク管理システムは、大規模環境を想定して構築されました。大手サービスプロバイダーのネットワークオペレーターは、CLIにアクセスすることはほとんどなく、グラフィカルユーザーインターフェース(GUI)で提供される機能のサブセットにアクセスできます。このモデルは、組織を意図しない追加、移動、変更から保護し、ほとんどのネットワークオペレーターが業務を遂行するために必要な知識の範囲を制限します。これらの過去のソリューションの根本的な問題の一つは、通信に簡易ネットワーク管理プロトコル(SNMP)に依存していたことです。15年前はそれで問題ありませんでしたが、ネットワークは変化し、SNMPには制限と脆弱性があり、現在ではプログラマビリティと柔軟性が重要になっています。

参照: システム監視ポリシー (Tech Pro Research)

データモデルの入力

ですから、この点をきちんと把握し、データ モデルが必要な理由と、OpenConfig がどのように役立つのかを具体的に説明することが重要だと感じています。まずは、OSPF などのルーティング プロトコルの設定といった簡単なものから始めましょう。高レベルでは、ルーティング プロセスを定義し、ネイバーを定義し、場合によっては認証を設定します。簡単ですよね? しかし、実際にこの設定を行うと、Cisco、Juniper、Cumulus などによって異なります。私たちが直面する問題は、これを自動化しようとすると、各ベンダーの CLI を個別にスクリプト化したり、ベンダー API を扱ったりする必要があることです。API も異なる可能性があります。物事を一貫した形式にするのは難しいため、データ モデルが非常に重要なのです。

例えば、TelnetやSSHを使用する場合、返されるデータは生のテキストになります。REST APIなどを使用する場合、返されるデータはJSONになる可能性があります。つまり、返されるデータの種類や形式が多岐にわたるため、大規模な処理では問題が生じます。

私がよくこのことを思い出すのは、Cisco MARSが、ログ形式が異なる様々な種類のデバイスから送られてくるイベントを正規化し、一貫性のある形でデータを表示するという点です。これは基本的に同じことです。YANGを活用するNETCONFを使えば、どのデバイスにインターフェースの詳細を問い合わせても、常に一貫性のある解析が可能な構造化データが返されます。これを設定パラメータに変換すれば、NETCONFは正しい方向へと導いてくれます。

参照: Linux ネットワークを簡単にする 20 のクイックヒント (無料 PDF) (TechRepublic)

欠点は何ですか?

デメリットについて言えば、私の組織でこれを実装する際の最大のデメリットの 1 つは、デメリットというよりはむしろ阻害要因だったと思います。私の懸念は、一貫性のメリットよりも、学習曲線に関するものでした。シスコ環境での CLI の作業経験が長いため、モデル駆動型プログラマビリティの使用によるメリットよりも、むしろ複雑化してしまうのではないかと懸念していました。さて、OpenConfig に戻りましょう。4 つの異なるルータ ベンダーがあるとします。各ベンダーには特別なベンダー機能がありますが、同時に共通の値も持つことになります。OpenConfig は、監視と設定のための標準機能をオペレータに返すことができるモデルを使用することを保証します。つまり、マルチベンダー環境全体で一貫性を維持できるということです。ここでは大きなデメリットはありません。

次に何をすべきか?

OpenConfig、NETCONF、YANG にもう少し時間を費やしたいと確信したら、次に挙げるリソースから始めることができます。

  1. Cisco Press の書籍 – Cisco ネットワークのプログラミングと自動化: データセンター、キャンパス、WAN におけるネットワークのプログラマビリティと自動化のガイド
  2. Tech Field Day 15 におけるシスコのプレゼンテーション「Cisco IOS XR の高度なプログラマビリティ: モデル駆動型管理」(Santiago Alvarez 氏)
  3. Cisco Devnet の YANG モデル チュートリアル
  4. OpenConfig: ネットワークの標準化モデル(Ethan Banks 著)

始めるためのリソースは数多くあります。まずは上記のリソースに目を通し、そこから他のトピックへと広げていくことをお勧めします。大変な作業に思えるかもしれませんが、長期的には必ず報われます。このように捉えてみてください。ネットワークエンジニアになるために、プログラマビリティとYANGの本質を学ぶ必要があるでしょうか?いいえ。しかし、今後優れたネットワークエンジニアになりたいのであれば、これらのことを学ぶことは不可欠です。これらのモデルは今後も衰えることはありません。より多くのベンダーがこれらのモデルを採用するでしょう。今こそ、私たちが受け入れ、ネットワーク自動化とプログラマビリティにおける新たな標準にすべき時です。

  1. jYang : Java の YANG パーサー
  2. Odin によるプログラム可能なエンタープライズ WLAN の実現

以下も参照:

  • NGINX Amplify でカスタムダッシュボードを作成する方法 (TechRepublic)
  • Ubuntu 16.04 または Debian 8 に OpenNMS を素早くインストールする方法 (TechRepublic)
  • ネットワーク管理者が絶対に避けるべき10の悪い習慣(TechRepublic)
  • ビデオ: さまざまなユーザーのニーズを満たすネットワーク設計のヒント (TechRepublic)
  • Cisco Certified Network Associate (CCNA) および Professional (CCNP) 認定トレーニング (TechRepublic Academy)
Tagged: