SD-WANを利用したローカルブレイクアウトの実装について

はじめに

三菱総研DCSでネットワークエンジニアとして勤務している小渡(オド)です。

先日、社内ネットワーク改善の一環でSD-WANを利用したローカルブレイクアウトを実装しましたので、今回はローカルブレイクアウト実装の背景と実装時の注意点について説明したいと思います。

SD-WANとは?

まずはSD-WANとは何かについて説明します。
SD-WANの「SD」は「Software Defined」を意味し、名前の通りソフトウェアでWANネットワークを定義するものです。
SD-WANは従来のルータやL3スイッチと違いソフトウェアでネットワーク制御を行うため、アプリケーション毎に柔軟な経路選択などを行うことが出来ます。

ちなみに当社では以下のようにフェーズを分けて、VMware社のSD-WAN製品である「SD-WAN by VeloCloud」を導入しました。(以下、 VeloCloudと呼ぶ)

フェーズ1

フェーズ1ではVeloCloud導入と、回線品質補正機能の効果を見込んだ低価格回線への切り替えを実施しました。
回線切替により大幅なコストダウンに成功し、またVeloCloudの機能によりネットワークの可視化が可能になりました。

VeloCloud導入時のエピソードについては以前の記事に記載しておりますので、こちらもご覧いただけましたら幸いです。

SD-WANを社内NWに導入しました

フェーズ2

こちらが本題になりますが、タイトルにもなっているローカルブレイクアウトの実装です。
ローカルブレイクアウトの実装については次の項目から詳しく説明します。

ローカルブレイクアウトとは?

次にローカルブレイクアウトとは何かについて説明します。
ローカルブレイクアウトとは、各拠点のインターネット向けトラフィックについて、データセンターを経由せずに直接インターネットへ繋げるネットワーク構成を意味します。

ローカルブレイクアウトを行うことでデータセンター内のプロキシサーバやファイアウォール、インターネット回線を経由しなくなるため、そこに集中する負荷を分散することが可能になります。

但し、企業で取り扱うデータには機密度の高いものが多いため、要件やアプリケーションにより適切にトラフィックを振り分ける必要があります。
そのため、ローカルブレイクアウトの実装には上の項目でも説明したSD-WANが必要不可欠となります。

ローカルブレイクアウト実装の背景

新型コロナウイルスの影響により、社会やライフスタイルは大きく変化しましたが、当社でもコロナ禍に於けるニューノーマルな働き方に対応したインフラ作りを進めており、その一環としてテレワーク促進、オンライン会議/オンライン研修への移行を行いました。

しかし、それによって以下の問題を抱えることになりました。

ネットワークの安定性が低下

オンライン会議/オンライン研修への移行によりインターネット向けトラフィックは増加する傾向にあり、データセンター内のファイアウォールとインターネット回線への負荷が高まることでネットワークの安定性が低下しました。
特にリアルタイム通信が必要となるオンライン会議/オンライン研修にとってネットワークの品質確保は大きな課題でした。

なお、テレワーク促進により各拠点からのインターネット向けトラフィックは減りましたが、テレワークの場合もVPNを使ってデータセンター内のファイアウォールを通過するため、あまり負荷分散の効果はありませんでした。

当社ではこれらの問題を解決するためにSD-WANを利用したローカルブレイクアウトを実装し、社内ネットワークの遅延解消を目指しました。

ローカルブレイクアウトの実装方法と注意点

既にSD-WANを導入している場合、ローカルブレイクアウトの実装は難しくありません。
製品により多少の違いはあるかと思いますが、VeloCloudの場合は以下の手順でローカルブレイクアウトを行うことが出来ました。

①.VeloCloudのゲートウェイを拠点網の外部接続ポイント(キャリアルータ等)に設定する

②.ビジネスポリシー(トラフィック制御用のルール)で対象アプリケーションを選択し、ローカルブレイクアウトを行うように指定する

以下はVeloCloudのビジネスポリシー設定画面ですが、対象アプリケーションをキーワード検索などで選択してローカルブレイクアウト指定を行います。
ユーザーインターフェイスは直感的に操作出来るようになっているため、慣れてしまえば簡単に設定することが出来ます。

とはいえ、注意が必要な点もありますので、当社の事例も交えてご説明します。

1.PACファイルの考慮が必要

PACファイルを使用している場合は注意が必要です。

まずはPACファイルについて簡単に説明しますが、インターネットにアクセスする際、宛先のIPアドレスやURLを基に直接接続するかプロキシサーバに転送するかを制御する設定ファイルとなります。

注意点としては、PACファイルによりインターネット向けトラフィックをデータセンター内のプロキシサーバへ転送している場合、VeloCloudでローカルブレイクアウトの指定をしていたとしてもPACファイルの制御が優先されてしまいます。

つまり、ローカルブレイクアウト対象のトラフィックはデータセンター内のプロキシサーバに転送しないようにする必要があり、PACファイルとVeloCloudの設定が噛み合っていないと想定しない通信経路になったり通信不可の状態になる場合があります。

文章では少し分り辛いと思うので、以下図で細かく説明します。

設定が噛み合っている場合

このようにPACファイルでローカルブレイクアウト対象のトラフィックを"DIRECT"※1に設定している場合、 VeloCloudの制御によりVeloCloud Edge~VeloCloud Gateway間のオーバーレイネットワークを通り、正常にローカルブレイクアウトされます。

※1・・・プロキシを使用せずに直接接続する

設定が噛み合っていない場合①

このようにPACファイルでローカルブレイクアウト対象のトラフィックを"PROXY"※2に設定している場合、 PACファイルの制御が優先されるため、データセンター内のプロキシサーバを経由した通信経路となり、正常にローカルブレイクアウトされません。

※2・・・指定されたプロキシを使用して接続する

設定が噛み合っていない場合②

本ケースは特に注意が必要です。

PACファイルでローカルブレイクアウト対象のトラフィックを"DIRECT"に設定しているがVeloCloudでローカルブレイクアウト指定が出来ていない場合、トラフィックはVeloCloud Edge~VeloCloud Gateway間のオーバーレイネットワークを通らずに閉域網の外部接続ポイントに転送されます。

そのため、外部接続ポイントのファイアウォールでトラフィックがドロップされて通信不可となってしまいます。

PACファイル作成時の注意点

そしてもう1つPACファイル作成時の注意点があります。
PACファイルの設定はIPアドレスやURLで指定する必要がありますが、ローカルブレイクアウトで対象とするクラウドサービスでは、IPアドレスやURLが予告なく変更される可能性があるということです。

当社ではMicrosoft 365をローカルブレイクアウト対象にしているのですが、エンドポイントのIPアドレスやドメインが更新された場合は自動的にPACファイルに反映するシステムを構築しております。

このように、クラウドサービス側でIPアドレスやURLが予告なく変更された場合に取りこぼさない仕組み作りが必要になってきます。

2.アプリケーション指定が上手くいかない場合

主要なアプリケーションは殆ど網羅されておりますが、稀に選択肢に存在しないアプリケーションや指定しても上手くローカルブレイクアウトが動作しないことがありました。

その場合、VeloCloudはアプリケーション指定だけでなくIPアドレスやURL指定も可能なため、指定方法を切り替える必要があります。
また、VeloCloudのOSをバージョンアップすることで指定できるアプリケーション数や精度が上がることがあるので、試してみるのも1つの方法かもしれません。

3.ランニングコスト増加

製品により違いはあるかと思いますが、VeloCloudの場合はローカルブレイクアウトを実装するためにプレミアムライセンスの契約が必要になります。
それによりランニングコストが増加する場合もありますので、事前に確認することをお勧めします。

まとめ

当社ではローカルブレイクアウトの実装に伴い、全体を通して以下の対応を行いました。

ローカルブレイクアウトの実装によりネットワークの安定性は向上し、オンライン会議/オンライン研修もスムーズに行えております。

今回の件を通して、コロナ禍の影響によりネットワークの重要性が更に増したと感じました。

ニューノーマルな働き方に対応するにはネットワークのアップデートが必要不可欠となりますし、それに伴い、我々ネットワークエンジニアも従来の境界型ネットワークに捉われず、広い視野をもってネットワークをデザインする必要があると思います。

当社では今後もコロナ禍に於けるニューノーマルな働き方に対応したインフラ作りを進めてまいります。