昨今、話題となっている「SD-WAN」が「どのような技術を組み合わせて実現しているのか」について興味が湧いたので、Google先生に聞いた結果をまとめてみました。
ダディ伯爵は、WANで使われるダイナミックルーティングプロトコルである「BGP(Border Gateway Protocol)」や専用線で使われる「MPLS(Multi-Protocol Label Switching)」は、業務で扱うことがほとんどなかったため、理解に乏しいという前提でお読みください。
- GCPのAlways FreeのGAE無料枠を使ってみた
- GAEの「無料ドメイン」と「無料SSL証明書」がとても便利♪
- 社内PCからRDP接続するために中継サーバ(Guacamole)をdockerコンテナで立ててみた
- 社内PCからGCPのdockerコンテナ環境へSSH接続する
- 「Container-Optimized OS」から「Google Container Registry(GCR)」へコンテナイメージをpushする方法
- Google Cloud Platform(GCP)認定資格の勉強方法
- GCP認定資格「Associate Cloud Engineer」を受験するための勉強方法
- GCP認定資格「Professional Cloud Architect」を受験するための勉強方法
- Google Cloud Platform(GCP)イベント「Cloud OnBoard」に参加してみた
- クレカ不要でGCPを始めよう「Qwiklabs」が無料で使える♪
- クラウド移行ツール「CloudEndure(クラウドエンデュア)」が無料で使える
- ロードバランサー比較(AWS、Azure、GCP)
- SD-WANをOSSで実現できるのか?
- マルチクラウドにおけるVPNネットワーク相互接続について
1.SD-WANとは
SD-WANとは「Software-defined Wide-area Network」の略称である。LAN/WANといったネットワーク用語について理解されていない方は、「ネットワーク 入門」というキーワードでGoogle先生に質問してみるのがよろしい。
各社ともに「オーケストレーター(SD-WAN管理機能)」がクラウド上にあり「SD-WANルーター(ハード or 仮想アプライアンス)」が拠点にばら撒くという構成であり、主に以下の機能を実現するものが主流となっている。
1-1.ゼロタッチコンフィギュレーション
WEB管理画面からポチポチするだけで、拠点のSD-WANルータの設定を変更できる機能が標準実装されている。主に以下の3点の技術が使われていると思われる。
VPNトンネル接続の自動化(DMVPN)
複数拠点ルータでSite-to-SiteのIPsecVPNを構成する場合、フルメッシュか、ハブアンドスポークで構成する必要があるが、それを自動構成してくれる機能ネットワーク仮想化(VXLAN)
IPsecVPN上にオーバーレイネットワークを作り、L2延伸することができる機能WAN回線のロードバランシング(専用線とベストエフォート回線のハイブリッド、有線回線と無線回線のハイブリッド)
複数回線のうち、どちらの回線にどのトラフィックを流すのかをコントロールする機能であり、インターネットブレークアウト(拠点からデータセンターを経由することなく、インターネットに直接抜ける)を実現する構成が主流。
1-2.WAN回線の可視化
WEB管理画面からトラフィック状況を閲覧できる機能が標準実装されている。
SD-WANルーターから送りつけられた大量のログを分析し、グラフィカルに表示する仕組みがクラウド上に実装されていると思われる。
パワフルなクラウドリソースをふんだんに使える利点を賢く活用している良い事例だと思われる。
2.SD-WANを実現している技術
主に「ゼロタッチコンフィギュレーション」で設定している内容については、以下の技術が使われていると思われる。
2-1.DMVPN
DMVPN(Dynamic Multipoint VPN)とは、mGRE、NHRP、IPsecの技術を組み合わせたVPNソリューションである。
- mGRE・・・1対多のトンネルインターフェース
- NHRP・・・Next Hop Resolution Protocolの略であり、トンネルインターフェースのIPアドレスを解決するプロトコル
- IPsec・・・言わずもがなVPNの暗号化を司るプロトコル
なお、構成としては、ハブアンドスポーク構成(サーバー、クライアント構成)となっていると思われる。
- サーバー(オーケストレーター)がハブであり、各拠点からの情報を一元管理している
- クライアント(SD-WANルーター)がスポークであり、自身の情報はサーバーへ送り、他の情報はサーバーへ問い合わせし入手する
2-2.EVPN(コントロールプレーン)
EVPN(Ethernet VPN)とは、MPLS ネットワークを介してイーサネット マルチポイント サービスを提供する次世代のソリューションとのことだが、EVPNは正直なところよく理解できていない。
DMVPNがインターネット回線版とすると、EVPNがMPLS回線版といったところなんでしょうか。
2-3.VXLAN(データープレーン)
離れた複数のL2ネットワークの間に、オーバーレイネットワークを使って、 共通のL2ネットワークを構築するSDN技術である。
2-3.WANロードバランシング
内部LANから外部向け(インターネット or 他拠点)のトラフィックをコントロールする技術である。主にQoSやポリシールーティング等の技術を応用していると思われる。
3.調べた結果・・・実現できそう
各社ともに有償製品ばかりだが、OSS製品では「VyOS(旧名称:Vyatta)」が「VXLAN」と「DMVPN」と「WAN load balancing」の3点を実装しているので、複数のVyOSをオーケストレートしてくれる管理アプリケーションが出来れば、無償でもSD-WANを簡単に構築出来そうな気がする。
VyOS活用例ではないが、以下の2点の資料がとても興味深い。実際に動かしてみないと実感が湧かないので、検証環境を作ってみようと思う。
有償製品では、VMware社のVeloCloudのForward Error Correction機能(FEC機能)を使ったWAN高速化、安定化が群を抜いてアドバンテージがあるように思われた。
- GCPのAlways FreeのGAE無料枠を使ってみた
- GAEの「無料ドメイン」と「無料SSL証明書」がとても便利♪
- 社内PCからRDP接続するために中継サーバ(Guacamole)をdockerコンテナで立ててみた
- 社内PCからGCPのdockerコンテナ環境へSSH接続する
- 「Container-Optimized OS」から「Google Container Registry(GCR)」へコンテナイメージをpushする方法
- Google Cloud Platform(GCP)認定資格の勉強方法
- GCP認定資格「Associate Cloud Engineer」を受験するための勉強方法
- GCP認定資格「Professional Cloud Architect」を受験するための勉強方法
- Google Cloud Platform(GCP)イベント「Cloud OnBoard」に参加してみた
- クレカ不要でGCPを始めよう「Qwiklabs」が無料で使える♪
- クラウド移行ツール「CloudEndure(クラウドエンデュア)」が無料で使える
- ロードバランサー比較(AWS、Azure、GCP)
- SD-WANをOSSで実現できるのか?
- マルチクラウドにおけるVPNネットワーク相互接続について