【後編】SD-WANについてエンジニア目線で解説

SD-WANSD-WAN

はじめに

今回は後編です。後編ではSD-WANの主要機能について説明します。

 【前編】 SD-WANのコンポーネントや全体構成のイメージについて
 【後編】 SD-WANの主要機能の詳細説明

※注意
これから説明するSD-WANの内容は当方が過去に触れた機器を中心に説明します。すべてのSD-WAN製品に共通して言える内容では御座いませんので、その点ご注意ください

SD-WANの主要機能

前回の記事で紹介した機能の中で、よく利用されている太字の機能を中心に技術的な視点を含め説明していきたいと思います。
※全てのメーカが下記の機能を実装しているわけではありませんのでご注意ください。
※仕組みについても触れますがメーカによって異なりますので参考程度にご確認ください。

<通信制御の機能>
 ・アプリケーション通信のローカルブレイクアウト
 回線の負荷分散
 
アプリケーション毎に利用する回線を選択する機能
 ・回線品質によるルーティングトラック

<モニタリング>
 ・WAN全体の状態モニタリング
 ・各エッジデバイスのステータス状態
 ・アプリケーショントラフィックの可視化
 ・イベント発生時のアラート発砲

<セキュリティ>
 ・UTMなどの高度なセキュリティポリシーの適用
 ・サンドボックス機能

<構築>
 ・エッジルータのコンフィグテンプレート化機能
 ゼロタッチプロビジョニング(通称ZTP)
 ・エッジルータの一斉OSアップデート

<その他>
 ・APIの提供
 ・マルチテナント

アプリケーション通信のローカルブレイクアウト

ローカルブレイクアウトとはインターネット上のサービスに通信する際、拠点で敷設しているインターネット回線から直接通信させる技術のことを言います。

ローカルブレイクアウトが必要になった背景ですが、昨今の業務はSaaSアプリケーション(Microsoft365とかSalesforce等)やビデオ会議コミュニケーション(TeamsやWebEx等)が一般的になってきており、それらは大量のトラフィックやTCPセッションを生成しデータセンターのプロキシサーバやインターネット回線に高い負荷をかけてしまいます。(下図を参照)

高い負荷の影響で社内プロキシやインターネット回線のスケールアップが必要になってしまいます。その為、下図のように本社や支社のインターネット回線から直接SaaSへ通信させることでデータセンターの社内プロキシやインターネット回線に負荷を与えないで済みます。(下図を参照)

ローカルブレイクアウトの仕組みですが、SD-WAN製品はSaaSサービスのFQDNやIPアドレスやポート番号情報をデータベースとして持っています。エッジルータはその情報を基に、SaaSサービス宛ての通信か否かをチェックし、SaaSサービス宛ての場合はアンダーレイのインターネット回線側にルーティングし、それ以外の通信はオーバーレイ側にルーティングします。なお、SaaSサービスの特徴としてFQDNやIPアドレスやポート情報は動的に変更するケースがあります。この変更にSD-WAN製品側で追従する機能も持っています。

注意点としては、社内の通信をプロキシ前提としている場合、SaaS宛て通信も一度プロキシサーバに転送されてしまうことから、上記の仕組みを活かすことが出来ません。その為、メーカによってはエッジルータ自体をプロキシサーバとして機能させ、更にフォワーディング先にデータセンターのプロキシサーバを指定する多段構成をとることが可能です。この場合、一段目のプロキシとなるエッジルータでローカルブレイクアウトすることができるようになります。

回線の負荷分散

今までのネットワークでは複数の回線を全てActiveで動作させる場合、BGPやOSPFでmaximum pathを設定しECMPにすることが一般的でした。この場合、パケット毎の均一的な負荷分散か、送信元IPと送信先IPアドレス等の組み合わせで利用回線が決定される方式の2択のどちらかを採ることになります。

ECMPの場合は上記のようにL3レイヤーのみで制御することになり柔軟性がありません。SD-WANではより柔軟な負荷分散ができるようになっており、例えば回線帯域に違いがある場合に、A回線は7割、B回線は3割、というように通信量やセッション数で比率を定義し、回線やエッジルータにかかる負荷を最適化することが出来ます。

アプリケーション毎に利用する回線を選択する機能

こちらも複数回線時における機能です。アプリケーション毎に優先する回線を定義することができます。例えば下図のように大容量通信が発生するファイル転送通信はインターネット網を利用し、それ以外の通信を広域イーサネットを使う、と言ったことがSD-WANなら簡単に可能です。

なお、通常のネットワークでもファイルサーバのIPアドレスをプレフィックスで分類し、BGPやOSPFのメトリックをコントロールすることでインターネット網を優先させることは可能でした。ただ、この場合、戻りについてはPBRで制御するなど複雑な設定が発生します。SD-WANであればアプリケーションを指定し優先する回線を選択するだけで利用する回線を変えることができます。

回線品質によるルーティングトラック

こちらも複数回線時における機能です。複数の回線に対してエッジルータが回線品質の測定を行います。品質の測定方法はメーカによって仕様が異なりますが、例えばFortigateであればICMPやHTTP等プロトコルを指定しパケットロスやレイテンシ、ジッターをチェックします。
なお、予め閾値設定を行うことで、閾値を下回った場合はルーティングをバックアップ回線に切り替えるような設定が可能です。

ゼロタッチプロビジョニング(通称ZTP)

ゼロタッチプロビジョニングとはエッジルータの初期設定を行わなくても、回線に接続し電源を入れたらコンフィグが自動で設定され、IPsecなどを自動で張ってSD-WAN環境に組み込まれる自動構築の仕組みのことを言います。

ゼロタッチプロビジョニングのメリットは大量にエッジルータを構築する必要がある場合に手作業を省くことが出来るので作業コストの削減に効果があります。また、運用中に故障した場合、新しい機器を現地に配送し非エンジニアでも簡単に交換できます。

ZTPの仕組みはメーカの仕様によって異なります。当方が過去に触れたいくつかのSD-WAN製品は下記のフローでした。

 ・エッジルータを回線に接続しDHCPでIPアドレスやDNSサーバ情報を取得
 ・エッジデバイスがコントローラのFQDNに対し接続しに行き、エッジデバイスとコントローラが同期される
 ・コントローラで予め作成したコンフィグ(注)や設定内容がエッジデバイスにプッシュされインストールする
 ・エッジデバイスはSD-WAN環境に組み込まれる

当方は複数の製品のZTPを試したことがありますが、回線サービスの仕様やコントローラを自前で用意するのか、メーカで用意されたものを使うのかで、その他いくつかの要素によって上記以上の仕掛けが必要になる場合があります。ZTPをする際は仕様に沿った一連のフローをよく理解し設計することが重要です。

(注)
コンフィグは大量のエッジルータを構築するような場合でもテンプレート機能を使うことでコンフィグ作成の手間を簡略化することができます。拠点によってホスト名やLAN側インタフェースの数やIPアドレスが変わりますが、そういう可変のところを子テンプレートで用意したりパラメータ部分を変数化することで簡単に量産することができます。

その他

次に、上記の主要機能以外のところについて簡単に説明します。

モニタリング系の機能はSD-WAN全体のステータス状態やどういったアプリケーション通信が多く行われているかをコントローラ上で確認することが出来ます。

セキュリティに関してはエッジデバイスでセキュリティ機能を有効にしてユーザトラフィックの監視やフィルタリング機能を実装することが出来ます。

エッジルータのOSアップデートはコントローラから指定したエッジルータを選択し任意のバージョンにアップデートすることが可能です。スケジューリングも可能で休日や深夜帯に自動実行させるようなことも可能です。

APIの提供は当方も詳しくは把握していませんが、各社メーカがAPIを公開しており、デバイス情報の取得や、設定変更をAPI経由で行えるというものです。

SD-WANにはマルチテナントの機能を実装していることも多く、コントローラ側で複数のテナントを作成したり、ユーザと権限ロールと管理できるエッジルータを指定しマルチテナントのような作りこみが可能です。

まとめ

今回は2部構成でSD-WANについて説明してみました。

前編では主にSD-WANの構成要素や全体構成のイメージ、また、SD-WANにおけるオーバーレイについて説明しました。
後編である本編では、SD-WAN主要機能の仕組みを中心に説明しました。

以上です。