DHCPが使えない環境でのゼロタッチプロビジョニング

16.3までのゼロタッチプロビジョニングの前提条件

Viptelaが提供するゼロタッチプロビジョニングは、電源ケーブルとLANケーブルを挿すだけで作業が完了する、完了なゼロタッチプロビジョニングです。現場でラップトップを内蔵Wifiに接続してeメールでのアクティベーション作業を実施したり、機器それぞれに異なるUSBメモリを事前配布したりといったミスにつながりかねない作業を必要としません。

しかしながら、従来のゼロタッチプロビジョニングは、DHCPもしくはLTEのデフォルトプロファイルに依存して動作していました。つまり、DHCPIPアドレスとDNSサーバが取得できるか、LTE対応のvEdge-100mデフォルトプロファイル(現在日本では、OCN Mobile Oneのlte-d.ocn.ne.jpのAPNに接続するmobileid@ocnアカウント)に対応するSIMを挿している場合にのみゼロタッチプロビジョニングが可能でした。

17.1で新たに静的IPでの閉域網への接続などもサポート

2017年4月にリリースされた17.1.0では、ゼロタッチプロビジョニングに大きな機能追加がありました。これにより、DHCPではIPアドレスやDNSサーバが取得できない環境でも、環境に合わせてネットワークの接続性を確保し、ゼロタッチプロビジョニングを行うようになります。特に、MPLSなどの閉域網につながり、本来はIPアドレスとBGPを静的に設定する必要がある環境でも、ゼロタッチプロビジョニングによる自動設定が可能となります。

具体的な動作の説明は割愛させていただきますが、ご興味をお持ちいただいた方は、是非ask@sd-wan.jpまでお問い合わせください。

なお、17.1においても、PPPoEを必要とする回線のみの環境では完全なゼロタッチプロビジョニングは実現できません。しかしながら、閉域網との回線二重化が行われている拠点や、LTEも利用する拠点では、それらの回線を使ってゼロタッチプロビジョニングすることで、PPPoEの設定もvEdgeにプッシュされます。このため、日本においてもゼロタッチプロビジョニングを使った展開がかなり現実的になったのではないかと期待しています。

PPPoEを必要とする回線のみの環境では、事前にPPPoE用の最低限の設定を投入する事で、それ以降のプロセスはゼロタッチプロビジョニングを使用することができます。正式名称ではありませんが、ワンタッチプロビジョニングなどと呼んでいます。

vManageテンプレート機能による設定管理

vManageが提供する機能の1つに「テンプレート機能」があります。ViptelaのSD-WANソリューションではvEdgeやコントローラー(vManage/vSmart/vBond)に直接ログインして設定を行うこともできますが、vManageのテンプレート機能で全てのデバイスの設定を一元管理することもできます。各デバイスの固有の値(ホスト名、IPアドレスなど)をパラメーター化(変数化)できるため、複数のデバイスの設定を共通のテンプレートで管理できます。これにより、設定ミスや設定漏れを排除し、短時間で新しいデバイスを展開できます。

テンプレートの作り方

テンプレートは2つの方法で作成することができます。CLI TemplateとFeature Templateです。CLI Templateは、各デバイスに直接ログインした場合に使われるCLIでの設定をテンプレート化したものです。

CLI Templateとパラメータ化
CLI Templateの作成画面とパラメータ化

テンプレートの中に{{variable}}のように{{と}}で囲んで任意の文字列を記述すると、その部分は機器ごとに固有の値が入る変数として扱われます。

CLI TemplateはCLIそのものですのですし、シンプルな内容であれば慣れた方には全体をざっと見渡しやすいという特徴があります。このため、すでにCLIで設定を行い運用を始めたあとでテンプレート化を行う場合や、非常にシンプルな環境で運用管理を行う場合に適しています。

もう1つの作り方であるFeature Templateは、vManageのGUIを使って作るテンプレートです。

Feature Templateの設定画面
Feature Templateの作成画面

Feature TemplateではGUIに沿って必要な設定を選択していくだけで全体の設定を作り上げることができます。また、CLI Templateと同様に、機器固有の値についてはパラメータ化(変数化)が可能です。さらに、Feature Templateは設定の内容ごとにブロック化され、複数のテンプレートから利用できるようになっていてます。構成の異なる複数のテンプレートを用意する場合でも、共通の内容の設定箇所は1つのFeature Templateを使い回すことで管理性を高めることができます。このため、多数のテンプレートの管理が必要となる環境ではFeature Templateがお勧めです。

テンプレートの適用とvManage Mode

作成したテンプレートを各デバイスに適用する手順は主に下記の3ステップです。

  1. テンプレートにデバイスを割り当てる
  2. パラメーター化(変数化)されている固有の値を入力する
  3. 最終的な設定内容を確認する

固有の値(変数/Variable)の入力はvManageのGUI画面からも可能ですが、デバイスが複数の場合にはCSVファイルでまとめてインポートもでき、便利です。

デバイス固有の変数を入力 (CSVファイルで代替可能)
vManageでデバイス固有の値を入力 (CSVファイルで代替可能)

CLI TemplateとFeature Templateのいずれの作り方で作成したテンプレートも、各デバイスに適用を行う際に自動的にCLIに変換されます。適用前に現在の設定との差分を確認することもできます。

Config Diff
テンプレートの適用の際の設定と差分の確認

各デバイスはvManageから適用された設定を自分自身で保持しますので、再起動時にvManageと接続できない場合に設定が失われるというようなことはありません。

テンプレートを使ってvManageから設定を適用されたデバイスはvManage Modeに設定されます。vManage Modeにあるデバイスには、直接ログインしても設定を変更することができません。vManageで設定を確実に一元管理できるようになっています。各デバイスで設定変更を行いたい場合には、vManageにてデバイスをテンプレートから切り離します。このモードをCLI Modeと呼びます。

ゼロタッチプロビジョニングとテンプレート

ゼロタッチプロビジョニングはViptelaのSD-WANソリューションの大きなメリットです。工場出荷時設定のvEdgeにゼロタッチで設定を適用するためには、あらかじめそのvEdgeをテンプレートに割り当て、固有の値(変数)を指定しておきます。vManageに未登録のvEdgeの識別には、シリアル番号が使用されます。シリアル番号はサポートポータルで確認できるほか、vEdgeの入っている外箱にも記載されています。これにより、ゼロタッチプロビジョニングで展開されたvEdgeに、適切な設定が適用され、vManage Modeで安全に運用できます。

SD-WANでマルチキャスト

ViptelaのSD-WANに特徴的な機能の一つにマルチキャストのサポートがあります。アンダーレイネットワーク側にマルチキャストのサポートは必要ありません。オーバーレイネットワーク側でマルチキャストネットワークを作ることができます。以下、Viptelaのマルチキャスト機能について見てみましょう。

スケーラブルなマルチキャスト

ViptelaのSD-WANはPIM-SMをサポートしています。マルチキャストの送信者側、受信者側共に特別な要件はなく、普通にマルチキャストをする場合となんら変わりません。一方、オーバーレイ側では少々工夫がされています。

Multicast Support by Viptela
オーバーレイでマルチキャストをサポート

サービス(LAN)側から来るIGMPまたはPIMのjoinは、OMPプロトコルを使ってvSmartコントローラに送られるようになっています。

また、パケットのレプリケーションは上流のルータ(マルチキャストのソースを持つvEdge)が行うのではなく、「レプリケータ」と呼ばれる別のvEdgeルータが行うようになっています。通常、データセンタ側に置かれるvEdgeをレプリケータに設定します(性能や帯域に余裕があることが多いため)。このようにレプリケータを設けることで、拠点側のvEdgeの処理負荷軽減や帯域の削減が可能になります。レプリケータは複数設定することができ、マルチキャストのグループアドレス、ソースのvEdgeなどによって分散するようになっており、その際に各はレプリケータの負荷も考慮してレプリケータへの振り分けが行われるようになっています。このようにレプリケータを設けることで、単純にソースのvEdgeでレプリケーションするよりもスケールするマルチキャストネットワークを構築することができます。

セキュアなマルチキャストオーバーレイ

マルチキャストのトラフィックもユニキャストの時と同様に全てIPsecで暗号化されて送られます。「SD-WANのスケーラビリティ」で述べたように、vEdgeは自分宛に送るパケットを暗号化する際に使って欲しい暗号化鍵を自分で生成し、vSmartでそれを配布するようになっています。しかし、マルチキャストでこれをやろうとすると、レプリケータは送信先のvEdgeの数だけIPsecの暗号化処理をしなければなりません。暗号化処理はハードウェアで行われるとはいうものの、下流にvEdgeが100台あったら100回別々の鍵で暗号化をしなければいけませんのでかなり大変です。そこで、マルチキャストトラフィックを暗号化する際は、送信先のvEdgeが生成した鍵ではなく、送信元が生成した鍵を使うようになっています。このようにすればレプリケータは下流のvEdgeの数だけ別々に暗号化する必要は無くなります。レプリケータからパケットを受け取ったvEdgeは送信元のvEdgeが生成した鍵を使って復号化を行えば良いわけです。

ViptelaのSD-WANでは、上記のようなさまざま工夫によってスケールするマルチキャストネットワークを構築することができるようになっています。Viptelaユーザの中には、実際にこのマルチキャスト機能を使ってWAN上でビデオ配信を行なっているお客様がおられます。

vEdgeのQoS機能

どのようなSD-WANソリューションであっても、通常拠点側(エッジ)に設置する機器(CPE; Customer Premise Equipment)があります。Viptelaソリューションの場合はvEdgeがCPEになります。基本的にこれらのCPEは「ルータ」ですので、ルータとしての基本機能を備えている必要があります。ルーティングプロトコルサポートの重要性については「SD-WANへのスムースなマイグレーション」で述べましたが、QoS(Quality of Service)機能もSD-WANのCPEがサポートしていなければならない基本的機能要件の一つです。アプリケーションの重要度によってWANの回線を使い分ける、というのが最も典型的なSD-WANのユースケースだと思いますが、そもそも重要度の高いアプケーションのQoSを担保できなかったら回線を使い分けてもあまり意味がないでしょう。

一口に「QoSサポート」といっても非常に幅広いので、SD-WANソリューションを選択する際には具体的にどのようなQoS機能をサポートしているのかを注意深く見極める必要があります。vEdgeが持つQoS機能は以下のようなものがあります。

  • キューイング
  • シェーピング
  • ポリシング
  • リマーキング

キューイング

パケットの分類(Classification)はACL(src/dst IPアドレス or プレフィックス、src/dstポート番号、DSCP、パケット長、TCPフラグ、PLP (Packet Loss Priority) を使用できます。またDPIによるアプリケーション分類を使うこともできます。

vEdgeはEgressインターフェース毎に8個のキュー(Q0〜Q7)を持っています。このうちQ0はLLQ(Low Latency Queue)です。LLQは他のキューよりも高い優先度を持つものの、指定された以上の割合でスケジュールされることはありません。これにより単純なPQ(Priority Queueing)時に見られるような他のキューの飢餓状態(Starvation)が起こりません。したがって、音声などのトラフィックに向いています。残りのQ1〜Q7は通常のWRR(Weighted Round Robin)なキューです。

Queueing
キューイング処理

また、キューが輻輳した際の挙動についてはテールドロップをするかRED(Random Early Detection)をするかを指定できます。REDはキューへのたまり具合に応じて(たとえキューが満杯になっていなくても)パケットを確率的に落とす方法です。REDを使うことによりテールドロップ時に見られる「TCPのグローバル同期問題」を避けることができます。

シェーピング

シェーピングは単純にEgressのインターフェースに上限のレート(Kbps)を設定します。指定したレートを超えるパケットはキューイングされます。

ポリーシング

いわゆるシングルレート、2カラーなポリサーです。レート(bps)とバーストサイズ(bytes)を設定します。

ポリサーはIngress、Egressのインターフェースのどちらにでも設定することができます。また、ACLを使ってパケットに対して選択的にポリーシングをかけることもできます。

Policiing
ポリーシング処理

なお、指定したポリサーに違反するトラフィックに対するアクションとして “drop” もしくは “remark” を指定することができます。remarkを指定すると違反パケットはドロップはされませんが、PLPが “high” であるとマークされ、それを元にキューイングをしたりDSCPのリマーキングをすることができます。

リマーキング

ACLやDPIで特定されたトラフィックによって指定されるトラフィッククラスとPLP毎に、書き換えるDSCPの値を指定することができます。このリライトルールはインターフェースに対して適用されます。

Cloud Express:SaaS、クラウド環境をSD-WANで快適に

ViptelaのSD-WANソリューションは単にSD-WANを提供するだけにとどまりません。Viptelaが目指しているのは「クラウド/SaaSに最適化されたWANを提供する」ことです。「リージョナル/ローカルExit」もクラウド/SaaSに最適化されたネットワークを作るための一つの有効な方法であることは前回ご紹介しました。今回ご紹介する “Cloud Express” という機能は、単純なリージョナル/ローカルExitよりもさらにインテリジェントにSaaS/クラウドに最適化されたネットワークを提供することのできる機能で、Viptelaソリューションが持つ非常にユニークな機能の一つです。

課題はSaaS、クラウドへのラストマイル

「ユースケース:アプリケーション対応ルーティング」の回で説明した通り、vEdge間で張られているIPsecトンネルの中にBFDのパケットを流して、各トンネルの品質(遅延、ジッター、パケットロス率)を常に監視しています。フルメッシュなネットワークであればすべてのvEdgeの間でこれらを測定して各トンネルの品質を把握していますので、vEdgeのネットワーク内に関してはどのvEdge(例えばローカル、リージョナル、DC、など)Exitするのが最適であるのかを判断することができます。しかし、出口のvEdgeからSaaSサービスまでのネットワークの品質は分かりませんので、本当にどの出口からExitするのがいいのか判断をすることはできません。一般的にはローカルからExitする方が良好なパフォーマンスが得られる場合が多いと考えられますが、場合によってはDCから抜けた方が良い場合もあるかもしれないわけです。

Cloud ExpressでSaaS、クラウドをより快適に!

Cloud Expressはエンド〜エンドでSaaSアプリケーションの品質を監視します。具体的には、出口となるvEdgeからSaaSアプリケーションまでの遅延などをHTTP pingなどにより監視をして、vEdge内のネットワークの遅延と合計します。これによりSaaSアプリケーションにとって本当にどのExitポイントが最適なのかを判断し、それに基づいたポリシーを自動的に適用することにより、SaaSアプリケーションに最適なネットワークパフォーマンスを提供します。Cloud Expressは、まずはOffice 365、SharPoint、Salesforce.com、Dropbox、Box、WebExなど代表的なSaaSアプリケーションに対応します。

CloudXpress
Cloud ExpressはSaaS、クラウドアプリケーションに最適なパスを提供

Cloud Expressは2016年12月末リリース予定の16.3というソフトウェアリリースから利用可能になります。まだリリース前なので、具体的な画面などはソフトウェアがリリースされてから再度ご紹介をしようと思います。

ゼロタッチプロビジョニング

多数の拠点をもつ企業にとって、WANルータの管理は負荷の高いオペレーションです。特に、海外展開などにより物理的に離れた拠点が増えると、WANルータの管理にかかる運用コストも高くなります。ViptelaSD-WANソリューションでは、「vManageによるオーバーレイネットワークの管理」の回でご紹介した一元的な運用管理に加え、vEdgeの初期展開の負荷を大幅に軽減するゼロタッチプロビジョニング機能が提供されています。

ゼロタッチプロビジョニングによる展開

ゼロタッチプロビジョニングとは、工場出荷時状態のvEdgeをそのまま拠点に展開できる仕組みです。展開前もしくは展開時に、vEdgeに対して設定投入などの作業を一切する必要がないことから「ゼロタッチ」と呼ばれています。

ゼロタッチプロビジョニングの仕組み自体は非常にシンプルです。工場出荷時のvEdgeでは、物理インターフェースでDHCPクライアントが有効になっており、起動後にztp.viptela.comというサイトにアクセスするよう設定されています。このため、vEdgeDHCPサーバからIPアドレスを受け取り、DNSサーバでztp.viptela.comを名前解決することができれば、vEdgeztp.viptela.comにアクセスを試みます。

ztp.viptela.comは、ZTP(Zero Touch Provisioning)サーバと呼ばれるViptelaが運用するコンポーネントです。このサーバは、接続してきたvEdgeをセキュアに認証したうえで、所有者であるユーザ企業を特定し、適切なコントローラにリダイレクトさせます。vEdgeが所有するユーザ企業のコントローラに接続すると、コントローラはvEdgeを認証し、vManageのテンプレート機能を使用して必要な設定を適用します。この一連のプロセスは完全に自動化されています。

詐称による企業ネットワークへの不正侵入を防ぐため、ゼロタッチプロビジョニングにおいてvEdgeの認証を適切に行うことは極めて重要です。個々のvEdgeにはTPM(Trusted Platform Module)チップが内蔵されており、シリアル番号を含む証明書が記録されています。ZTPサーバやコントローラとの認証にはこのシリアル番号が使われます。物理的には読み取れないように処理された特殊なチップであるTPMチップを使うことで、vEdgeは詐称などのリスクを排除して適切に認証できるようになっています。ゼロタッチプロビジョニングはSD-WANを標榜する製品の中でよく見られる機能ですが、実際の動作仕様はそれぞれ異なり、実際には現場で個々のデバイスの認証を行う必要があるソリューションもあり注意が必要です。

機器故障によるリプレイス

万一vEdgeが機器故障を起こし、ハードウェア交換が必要となった場合、管理者は新しいvEdgeのシリアル番号に対して、それまで使っていたvEdgeの設定テンプレートとパラメーターを割り当てることができます。その後、新しいvEdgeを起動すると、ゼロタッチプロビジョニングによっての旧vEdgeの設定が自動投入されます。これにより、ハードウェア交換のプロセスは非常にシンプルなものとなります。

コールドスタンバイのvEdgeにはライセンスが必要ありません。vEdgeハードウェア自体は非常に安価に提供されていますので、予備のvEdgeを置いておくと、ハードウェア障害時にも、現場で即座に予備機に電源コードとLANケーブルを差し替えることでサイトの復旧が可能になります。WANルータがシンクライアントのように、簡単に扱うことができるようになるわけです。

PPPoE等の非DHCP環境でのプロビジョニング

前述の通り、ゼロタッチプロビジョニングが動作するためには、vEdgeはDHCPでIPアドレスを取得し、DNSサーバでztp.viptela.comを名前解決できる必要があります。日本で非常によくつかわれているPPPoEなどの非DHCP環境において、vEdgeを直接網につなぐためには、ゼロタッチプロビジョニングを使うことができません。

この場合、あらかじめインターネット接続のために必要な最低限の設定をvEdgeに追加することで、その後の処理はゼロタッチプロビジョニングと同様に自動化することが可能です。vEdgeの工場出荷時設定では、管理目的で192.168.1.1/24が割り当てられた物理ポートがあるほか、コンソール接続でもPPPoEの設定情報を投入できます。完全なゼロタッチではなく「ワンタッチ」となりますが、拠点での実際の作業は電源コードとLANケーブルをつなぐだけという点に違いはありません。

このように、ViptelaのSD-WANソリューションでは、ゼロタッチプロビジョニングによりvEdgeの初期展開およびハードウェア交換にともなう企業の負荷を大幅に軽減しています。

vManageによるオーバーレイネットワークの管理

vManageはViptelaのSD-WANソリューションを構成するコンポーネントの1つで、オーバーレイネットワークの動作状況や各コンポーネントの設定情報を管理しています。管理者はvManageのGUIもしくはRESTful APIを使用して、オーバーレイネットワークの運用と管理を行います。今日は、スクリーンショットを使いながら、vManageの主要な機能をご紹介したいと思います。

ダッシュボード画面

vManageのGUIのトップページであるDashboard画面によって、管理者はオーバーレイネットワークのリアルタイムの状況を簡単に把握できます。Dashboard画面には、vSmartやvEdgeなどの各コンポーネントの状態や、コントロールプレーン(DTLS/TLSトンネル)の接続状況、データプレーン(IPsecトンネル)の接続状況と品質などが一覧で表示され、問題がある場合にはすぐに把握できるようになっています。

vManage Dashboard

Dashboard画面の各ブロックをクリックすることで、詳細を表示することもできます。例えば、ダッシュボードの左下にある青い棒グラフのブロックをクリックすると、オーバーレイネットワークを流れるトラフィックをDPI (Deep Packet Inspection)で可視化したグラフが拡大表示されます。グラフのそれぞれの棒をクリックすると、当該アプリケーションのトラフィックを多く送出している送信元IPアドレスを確認することができます。

vManage DPI
vManageを使ってネットワーク上を流れるアプリケーションを可視化

Dashboard画面の右下のブロックには、IPsecトンネルの回線品質の情報を表示されています。クリックすると下のスクリーンショットのように、各トンネルの遅延、パケットロス率、ジッターの情報が表示され、オーバーレイネットワークの中で最も品質が悪いトンネルを簡単に確認できます。

vManage AAR
vManageを使ってIPsecトンネルを遅延の大きい順に一覧表示

ジオグラフィー画面

MonitorセクションのGeography画面は、世界地図上に企業のViptelaコンポーネントの設置場所をマッピングして表示します。地図を拡大して、詳細な場所を表示することもできます。

vManage Geography
vManageのGeography画面

ネットワーク画面

MonitorのNetwork画面では、vEdgeやvSmartなどの各コンポーネントの詳細な状態を確認できます。インターフェースの情報、コントロールプレーンやデータプレーンのコネクションの状態、トラフィックの詳細を確認できるほか、直接コンポーネントにログインしてCLIで確認できる情報のほぼ全てがこの画面から確認できるようになっています。

vManage Network Control
vManageを使ってvEdgeのコントロールプレーンの状態を確認

さらに、ネットワークの疎通性や障害ポイントを簡単に確認できるように、GUIでのトラブルシューティング機能も提供されています。

vManage Troubleshooting
vManageが提供するトラブルシューティング機能

テンプレート画面

ConfigurationのTemplate画面では、vEdgeやvSmartなどの各コンポーネントの設定をテンプレートとして一元管理できます。CLIベースで設定を定義するCLI Templateと、GUIベースで設定を定義するFeature Templateという2種類の定義方法が準備されており、規模や好みに応じて使い分けることができます。テンプレートによる設定管理については、今後あらためて詳しくご紹介したいと思います。

vManage Template
GUIを使った設定の作成画面

今日ご紹介した機能のほかに、vManageはポリシーの管理や、各コンポーネントのソフトウェアのアップグレード、イベントやアラームなど、管理者にとって必要な機能を多数提供しています。また、それらの機能にはGUIだけでなく、Restful APIでアクセスすることもできます。