特集

インテントベースネットワーキングを加速する――、ジュニパーの「Apstraソフトウェア」とは何か?

 ジュニパーネットワークス(以下、Juniper)は、2021年1月に買収したインテントベースネットワーキングソリューション「Apstra」の最新バージョン「Apstra 4.0」を、6月11日に発表した。

 近年企業ネットワークは急速に複雑化し、その導入や管理の負荷は増大し続けている。そのため、さまざまなネットワークベンダーから、ネットワークの自動化に関連したソリューションが発表されている。Apstraもそうしたツールのひとつであり、IPファブリック(※)準拠のネットワークを自動的に設計、構築、運用できるソフトウェアだ。

 Apstraの特長は、ネットワークを「インテント」つまり「あるべき姿」で管理するという点にある。スイッチ、スイッチのポート、その先のリンクといった物理情報と、そこで使われているプロトコルなどネットワークを構成するすべての要素を関連付け、グラフデータベースとして管理することで、ネットワークのあるべき姿を理解する。その情報に沿ってネットワークを構築し、運用するのだ。

 今回はアプストラ製品事業担当 コンサルティングエンジニア 樋口智幸氏から、Apstraがどのようにネットワークを自動化するのか、および先日発表されたApstraの最新バージョンについて話を聞いた。

Juniper アプストラ製品事業担当 コンサルティングエンジニア 樋口智幸氏

※:IPファブリックとは、Google、Microsoft、Facebookといった大規模ネットワークによってサービスを提供している企業を中心に、次世代のネットワークアーキテクチャとして2016年に標準化されている。

ネットワーク自動化の需要は拡大

 Apstraは、複雑化したネットワークの導入や管理にかかるコストや時間を効率化するため、これまで人がマニュアルで行っていた作業を自動化するツールだ。

 現在、多くの企業は、「運用コストの削減」「移行期間短縮」「迅速な障害検知」「設定変更ミスの解消」「安全な切り戻し」「人手不足の解消」など、ネットワークの管理に課題を抱えている。また、これら山積みの課題を解決するため、ネットワークの自動化をどのように実現するかを検討しているという。

 「ネットワークの自動化を実現するには、ベンダーが販売しているコントローラを利用する、OSSを組み合わせる、独自のツールを開発するなどさまざまな方法がある。ベンダーのコントローラには、自社の機器にしか対応していないものもあるが、Apstraはマルチベンダーのスイッチに対応しており、Juniperはもちろん、Cisco、Arista、SONiC、NVIDIA(Cumulus)など主要ベンダーのスイッチをサポートしている」(樋口氏)。

ネットワーク自動化の課題
Apstraはインテントベースのネットワーキングソリューション

 ネットワーク自動化のためにコントローラを導入したものの、『コントローラの操作が難しい』『拠点ごとにコントローラを設定して運用しなければならない』『一度作成したネットワークに機器を追加したり削除したりするのが大変』『マニュアルで監視設定を行わなければならない』『ネットワークの中がどうなっているか把握できずブラックボックス化してしまう』といった問題にぶつかることも多いという。

 「コントローラを導入することで運用が楽になると思っていたのに、かえって工数がかかってしまうという話はよく耳にする。Apstraであれば、Web UIから、簡単に操作が可能だ」(樋口氏)。

 また、Apstraはバーチャルインフラにも対応しており、VMware vCenterやNSX-Tとの連携が可能になっている。例えばNSX-Tで管理されているVM、そのVMのポートと設定されているパラメータなどの情報をNSX-TからAPIで取得できるため、Apstraが管理しているスイッチのポート設定と比較して、不整合はあればアラートすることもできる。

 「VMwareに限らず、最近はこうしたオーバーレイのソリューションは最近よく使われているものだ。他社のコントローラとの連携は今後必須になっていくだろう」(樋口氏)。

ネットワークの設計・構築を容易に実現する

 Apstraを利用すればネットワークもWeb UIから容易に作成できる。具体的には、次のような流れになる。

1)新しく作るネットワークのスイッチやサーバーのポート構成を決める。例えば「ダウンリンクは10GbEの48ポートにして、アップリンクは100GbEの4ポートにしよう」「サーバーは10GbE2ポートでチーミングしよう」など、機器単体の抽象的なポート構成を決めていく。

2)ラックタイプ(ラックのテンプレート)を作成する。例えば「このラックにはスイッチを2台入れ、そのスイッチの下にサーバーを30台入れよう」といった情報を入力し、ラックタイプを作成していく。

3)作成したラックタイプを配置し、ポート構成と物理結線の速度を決めて物理ネットワーク全体のトポロジーを定義する。

4)物理構成が完成した後は、スイッチ自体のIPアドレス、スイッチ間のリンクのIPアドレス、ネットワークをルーティングするプロトコルのステータスなどネットワークのパラメータを定義し、poolしておく。

5)具体的なハードウェア(どのベンダーのどの機種を使うか)を選定する。

6)自動でスイッチのコンフィギュレーションが作成される。できあがったコンフィギュレーションに不整合がなければ、実際の機器にインストールしてネットワークが完成する。

 ネットワークのパラメータ設定は、使用するIPアドレスの範囲を指定しておくだけで、そのサブネットからどんどんループバックIPやリンクのIPをApstraが自動的に払い出してくれる。従来の運用では、人がマニュアルで作成してExcelなどで管理し、その内容に沿って各スイッチを設定するといった作業になることが多く、ネットワーク規模が大きくなるほど作業負担も増大していた。この作業を自動化することで、ネットワークの構築・運用の作業効率を大きく向上させることが可能だ。

 5)まで設定すると、Apstraは自動的にコンフィギュレーションを生成する。それぞれの機種にあったコンフィギュレーションを作成するため、Juniperは『コンフィギュレーションテンプレート』を用意している。このテンプレートは、Juniper本社のエンジニアが実機を使ったテストを実施して作成しており、このテストをクリアできたものだけを、Apstraのソフトウェアに組み込んで”出荷”している。つまり、Juniperよって保証されいるということになる。

 「これまでコンフィギュレーション作成の責任は、作成したユーザーにあった。しかし、Apstraが自動で生成するコンフィギュレーションの作成責任はJuniperとなるため、安心して利用いただける」(樋口氏)。

Apstraによるネットワーク構築
Web UIからネットワークを設計していく

 また、Apstraには、コンフィギュレーションを実機にインストールする前に、不整合がないことをチェックする機能が搭載されており、「このパラメータはほかとバッティングしている」などの問題点をApstraが指摘してくれるようになっている。問題のあるコンフィギュレーションは、スイッチに投入できない仕組みで、ユーザーから指摘を受けた部分をWeb UIから修正し、ネットワーク全体で整合性がとれた後、インストールできるようになる。

 「コンフィギュレーションを実機に投入する際、設定が間違っていることはよくある。人がマニュアルで作業すれば、誤った設定でネットワークトラブルが発生する可能性もあるが、Apstraはそれを事前に検知することが可能だ」(樋口氏)。

 コンフィギュレーションを実機にインストールすることでネットワークの作成は完了するが、ネットワークを作成して終わるのではなく、引き続きApstraはIPファブリックの監視を行っていく。

インテントベースのネットワークの監視とは

 またApstraは、ネットワーク全体の要素を関連付けるグラフデータベースによって、ネットワーク全体がどういう状態が「あるべき姿」なのかを理解しており、Apstraグラフデータベースの情報と、実際にネットワーク機器から収集した情報を比較し、差異があればアラートする仕組みとなっている。つまり、従来のネットワーク監視のように、人が監視項目や監視ノードを設定してネットワークを監視する必要はない。

ネットワーク全体の要素を関連付けるグラフデータベース

 例えば特定のスイッチが学習しているべきサブネット、ループバックIP、その先のリンクのセグメントといったルーティング情報をチェックし、その結果とグラフデータベースの情報に差異があれば、「あるべき姿」と「実態」にギャップがあると判断するのだ。(ちなみに、アラートはWeb UI上で赤く表示されるだけでなく、きちんとsyslogとしても通知される)

インテントベースの監視設定では、「あるべき姿」と「実態」を比較する
IPファブリックのアンダーレイ・オーバーレイをすべて監視

 加えてApstraでは、要件に応じて新たな監視項目を独自に設定することもできる。これまでネットワーク監視といえばSNMPを利用するケースが多かったが、SNMPではMIBで管理されている情報しか取り扱うことができない。しかしApstraであれば、個々の機器が取り扱う情報をすべて参照できるため、どのレイヤーのネットワークの情報でも監視項目に設定することが可能になるという。

 Apstraには、トラフィックの可視化も搭載されている。これまでネットワーク機器のトラフィック情報は、SNMPを使ってグラフのように表示する方法が一般的だった。もちろんApstraでも同様の表示は可能だが、トポロジー図に対してトラフィックがどのように流れているかを見ることが可能となっており、より詳細にトラフィックの状況を把握できる。

 「Apstraでは、それぞれのスイッチのキャパシティに対してどれくらいトラフィックが流れているか、などの情報が見られるほか、特定のスイッチをクリックすれば、各ポートにどれだけトラフィックが流れているかを可視化することもできる」(樋口氏)

 なお、ネットワークトラフィックの情報は、リアルタイムに見るだけではなく、例えば10分前のトラフィックを見るといったことも可能だ。例えばトラフィックが大量流れて帯域を圧迫しているような状況では、遅延が発生したり、パケットが落ちてしまうといった現象が発生する。Apstraのトラフィック可視化の機能を利用すれば、ネットワークのどこに、いつごろから、どれくらいの量のトラフィックが流れているのかをビジュアルで把握できる。

ネットワーク全体のトラフィック量を可視化する

 さらに樋口氏は、Apstraの特長としてネットワークのトラブルシュートが容易であることも挙げている。

 「他社のコントローラによくある話として、障害発生時に切り分けを行いたいと思ってもコントローラから十分に情報が得られない、しかし従来通りにスイッチにログインして1台ずつ切り分けようとしても、コントローラが管理しているためにスイッチがどういう状態なのかを把握できない、というものがある。その点Apstraはすべてをオープンにしているため、従来通りスイッチにログインすることもできるし、Apstraのトラブルシューティング機能を利用することも可能だ」(樋口氏)。

ネットワークエンジニアの人手不足解消のカギとなるか

 日本企業の多くは、ネットワークエンジニアをはじめとするIT人材の不足が大きな課題となっている。モダンなネットワークアーキテクチャに対応したいと思っていても、専任のエンジニアを確保できない、学習コストが高いなどの理由で断念してしまうことも多いという。しかし、Apstraであれば、Web UIから直感的に作成したいネットワークをデザインしていくだけで、自動的にIPファブリックが作成できる。もちろん、前提となるIPファブリックの知識があるに越したことはないが、必須ではない。

 ネットワーク機器をマニュアルで設定するには、それぞれのベンダーの知識が必要になる。しかし、ベンダーごとに利用するコマンドは異なるため、マルチベンダーに対応するには広い知識が必要になる。しかし、Apstraはそうしたベンダーごとの差異も抽象化しているため、エンジニアの学習コストを大きく削減できる。

 「Juniperのスイッチでも、Ciscoのスイッチでも、Apstraの画面は変わらない。同じように設定していくだけで、自動的にコンフィギュレーションが作成される」(樋口氏)。

 運用やメンテナンスの面でも、Apstraは効果を発揮する。例えば、故障などによって機器を交換しなければならない場合、Apstraから該当する機器をメンテナンスモードにするだけで、自動的にトラフィックを迂回(うかい)するように設定される。また、ネットワークOSをバージョンアップする際も、Apstra上に新たなOSをアップロードすれば、該当する機器のネットワークOSを一括でバージョンアップが可能だ。

 Apstraはコントローラではなく、マネジメントのツールである。つまり、コンフィギュレーションを作成して設定した後は、監視のための情報を収集するだけで、Apstraが機器をコントロールし続けるわけではない。そのため、Apstra自身がバージョンアップする際も、ほかの機器に影響を与えることはない。

「極端に言えば、Apstraでネットワークを作成した後にApstraを止めたとしても、ネットワークは稼働し続けることが可能。そのため、Apstraのお客さまの多くは、Apstraのバージョンアップを昼間に行っている」(樋口氏)。

 そのほかにもロールバック(切り戻し)機能をはじめ、さまざまなメンテナンスがApstraのWeb UIから可能になっている。

ネットワーク運用

最新バージョン「Apstra 4.0」を提供

 先日発表されたApstra 4.0では、さまざまな機能追加が行われているが、大きなものとしては、接続テンプレートがある。接続テンプレートでは、サーバー、ルーター、ファイアウォール、ロードバランサ―、さらにはNSX-Tなどのバーチャルマシンが載っているようなソリューションのノードが、物理的にどうつながって、論理的にどうつながってくるか(どういったVLANでつながってくるか、ルーティングプロトコルは何かなど)をテンプレート化して、各スイッチのポートにアサインしていけるという。なお、接続テンプレートはJuniperがビルトインで提供するものもあるが、ユーザーが作成することも可能となっている。

 また、新たにタグマネジメントにも対応した。ノード、機器、あるいはラック等さまざまな要素にタグを設定できるようになったことで、設定変更などを行う場合にタグが付いている機器に対して一括で適用するといった指示ができる。

 また、「VMware NSX-T 3.0」や「Enterprise SONiC」をはじめとするさまざまなコンフィギュレーションテンプレートも新たに追加された。コンフィギュレーションテンプレートの追加を見ても、Juniperが今後もマルチベンダー対応をしていく意気込みを伺うことができる。

 「Juniperに買収されたことで、Apstraのマルチベンダー対応に影響があるのではないかと聞かれることも多いが、Juniperのヘッドクォーターは明確に『今後もApstraのマルチベンダー対応を継続していく』ことをマーケットに向けて発表している。そのため、既存環境でJuniper以外のネットワーク機器を使用している、あるいは今後Juniper以外の機器を導入したいと考えているお客さまでも、安心してApstraをご利用いただける」(樋口氏)。