連載『IIJ GIOの裏側を語る』では、IIJのクラウドサービス「IIJ GIO」の安定稼働を支える仕組みを、サービスの開発者や基盤運用エンジニアが解説します。
今回は、「ネットワークの仮想化がもたらすメリット」についてご説明します。
パブリックリソースとプライベートリソースは互いに補い合う、異なるアーキテクチャを採用しています。その特徴的なポイントにフォーカスしていきましょう。
今回取り上げるのはネットワークアーキテクチャについてです。クラウドのように大規模なマルチテナントシステムを支えるネットワークは、一般的な常識が通じない部分が少なくありません。
クラウドの設計とは、一般的な企業システムでは遭遇しえない様々な制約が立ちはだかる、“規模との戦い”なのです。VLAN ID数の上限であったり、スイッチにおけるMACアドレスの学習上限であったり、テナント同士の帯域のフロー制御であったり、その制約と課題は様々です。
IIJ GIO P2パブリックリソースでは、全面的なSDN(Software Defined Network)の導入によって、こうした多くの困難な課題を克服しています。
もっとも、ネットワークがSDNにより仮想化されているかどうかをユーザーから認識することはありません。仮想マシン上のゲストOSからはeth0, eth1といったごく普通のNICが見えるだけです。エンドユーザーは、ハイパーバイザの先でテナントごとに固有のVLANに接続されていることも、さらにその先でVXLANによるオーバーレイネットワークが存在していることも知ることはできません。
それでは、ネットワークの仮想化がユーザーのメリットにつながっていないのかと言えば、そんなことはありません。IIJ GIO P2の特徴的な仮想ネットワークがもたらすメリットは、ユーザーにも高性能、高可用性、高信頼性といった品質という形でお届けできているはずです。
ところで、一言でSDNを導入したネットワークといっても、確立した設計やプロトコルがあるわけではありませんから、実装によってその姿は様々です。
P2パブリックリソースのネットワークアーキテクチャは、いくつかの特徴的な構造を備えています。
なかでも最も特徴的なのは、VTEP(※1)がハードウェアスイッチでもなく、ハイパーバイザでもなく、独立したソフトウェアスイッチとして実装されていることです。このひと手間かけた構造が、多くのメリットをもたらしているのです。
(※1)Virtual Tunnel End Point:VXLANによるオーバーレイネットワークを終端する装置あるいはソフトウェア
まず、ハイパーバイザを通じて送出されたパケットは通常のVLANで構成されたネットワークに流され、宛先が同一ゾーン内にある場合はそれで完結します。
VTEPによってパケットがカプセル化されるのは、宛先が異なるゾーンに存在する場合だけでよいのです。小規模なシステムは全体が同一ゾーンに収まっている可能性が高いため、多くの場合ネットワークの仮想化によるオーバーヘッドを避けることができます。さらに、サイト全体での総VXLANトンネル数を減らすことになるので、VTEPの負荷軽減にもつながります。
こうして最小限のオーバーヘッドでネットワークの仮想化が実現しているのです。
このアーキテクチャは運用の容易さにも貢献してくれます。
もしVTEPが各ハイパーバイザに存在していて、すべてのトラフィックが仮想ネットワークを通るのならば、VXLANトンネルが数千台のハイパーバイザ間で無数に張られることになります。一方、IIJ GIO P2の構造ではVTEP間だけでトンネルが張られるので、全体像を捉えるのは容易です。しかも、前述したように無用なトンネルはそもそも作られないので、サイト全体の規模がスケールしていっても、比例してトンネルの本数が増加するわけではありません。
システムの構造がシンプルであるということは安定的な運用につながり、またトラブルシューティングを容易にしてくれるため、結果的に品質の向上につながります。
さらには、ネットワークのフロー制御にも役立ちます。
例えば、一部のテナントで突発的にネットワーク帯域を必要としたとしましょう。IIJ GIO P2全体としてはかなり余裕を持ったネットワーク設計がなされているので十分な帯域を割り当て可能だとしても、VTEPがボトルネックになれば他テナントへのネットワークリソースの割り当てに影響が出ることが考えられます。しかし、IIJ GIO P2のアーキテクチャならばVTEPが独立型であることを活かして、必要に応じて柔軟にスケールアウトさせることが可能です。
また、必要ならば特定のテナントを専用のVTEPに隔離することで、公平にネットワークリソースを割り当てる制御が可能です。これは個々のテナントに快適なネットワークを提供するという面と、一部のテナントに過剰なネットワークリソースが消費され、他テナントへ影響が及ぶ事態を避けられるという面があり、双方でネットワーク品質の向上につながっています。
以上のように、IIJ GIO P2の仮想ネットワークはVXLANという標準的な技術で実装されていながらも、独特のアーキテクチャを採用することで、クラウドという大規模なネットワークインフラを効果的に制御しているのです。
※2016年12月に弊社ブログに掲載した記事を、一部加筆修正しました。