仮想と物理の橋渡しで、クラウドはもっと楽しくなる

2022年12月02日 金曜日


【この記事を書いた人】
原口 隼翔

インターネットクラウドマン。新卒でIIJに入社後、企業・官公庁向けにSI・L2延伸・ネットワーク構築を経験。その後クラウド構築の魅力に惹かれ構築・運用チームに異動。好きなものはやわらかいおふとん。

「仮想と物理の橋渡しで、クラウドはもっと楽しくなる」のイメージ

IIJ 2022 TECHアドベントカレンダー 12/3(土)の記事です】

はじめに

こんにちは。IIJでクラウドサービスの運用を担当しております。原口です。
今回は2021年10月にリリースした次世代のクラウドサービス、「IIJ GIOインフラストラクチャーP2 Gen.2」のネットワーク基盤、特にネットワークの仮想化や物理ネットワーク-仮想化ネットワークの接続、そしてその魅力について、少々お話したいと思います。

IIJ GIOインフラストラクチャP2 Gen.2とは

https://www.iij.ad.jp/biz/p2-gen2/fsr.html

IIJ GIOインフラストラクチャP2 Gen.2は、エンタープライズのお客様向けのクラウド基盤サービスです。高い信頼性・広い拡張性・強力な各種コンポーネント連携を持ったVMware社の仮想化ソリューション、vSphere基盤を用いて構成されており、お客様に必要なクラウドリソースをすばやくご提供するサービスです。

「サーバの管理だけで手一杯なのに、クラウドも管理しなければならないのか……?」というお声も頂戴しますが、弊社のこの新しいクラウドは、ハードウェアとハイパーバイザ(vSphere基盤)の管理を弊社が行うため、お客様の運用にかかわる負担を減らすことが可能です。

クラウドと仮想化……?

オンプレミスやクラウドをIaaS基盤として利用し、運用していく上で「仮想化」の仕組みはすでに当たり前のものとなっています。最終的にサービスを利用するエンドユーザからは、あるサービスの基盤が仮想化されているかどうかを知る術はありませんが、IaaSの運用に携わるメンバーは仮想化の知識をフルに使い、安定したサービスをエンドユーザへ提供できるよう、日々奮闘しています。

さて、仮想化の機能を用いることは、運用効率の向上や、コストメリットが生まれます。企業や事業が成長するにしたがい、要求される機能や社内サービスは増加しますが、それらをホストする基盤が仮想化されていると、それらのメリットはどんどん大きくなっていきます。

「仮想化」という機能は現在さまざまなところで用いられていますが、一般的に「仮想化」と呼ぶとサービスをホストする「サーバ」(PC)を仮想化する、「仮想マシン(VM)」が一般的かと思います。しかし、仮想化できるのはサーバだけではありません。ネットワークも仮想化することができます。

ネットワークの仮想化の利点として下記が挙げられます。

  • ネットワークの拡張性向上
  • ネットワーク構築のアジリティ(俊敏性)向上

弊社のような大規模なクラウド事業者として考えると、既存の技術であるVLANだけでネットワークを組むのでは、上記のメリットを享受することはできません。すばやく、かつ大規模にネットワークを展開できる、ネットワーク仮想化、SDN(Software Defined Network)の考え方は今のクラウド事業者にとって、重要な技術となっています。

IIJ GIOインフラストラクチャP2 Gen.2 フレキシブルサーバリソース(FSR)では、サーバだけではなく、ネットワークも仮想化されており、その実装はVMware社のVMware NSX-Tを用いています。

ネットワーク仮想化で得られるメリットとは?

仮想化されたネットワークはどこにつながるか?

仮想化されたネットワークといえども、仮想化されていないネットワークと同様に、最終的な接続先は多岐にわたります。
たとえば外部公開をするアプリケーションとして動作するVMなら「インターネット」、社内サービスであれば「VPN」、バックアップ・DRのためならば「閉域網(IIJ プライベートバックボーン)」、その他のネットワーク等です。

これらの接続にあたり、仮想化されていない世界を考えると、物理接続や機器の設定変更に対しそれなりの時間がかかり、アジリティ(俊敏性)を欠く結果となります。これはオンプレミス(自社設備)でも同様のことです。

一方で仮想化されている(かつFSRのように上手に設計されている)と、これらの接続は瞬時に可能となります。

それらをどのように実装するか?

弊社のFSRはVMware NSX-T(以降 NSX-Tと省略します)の機能を隅から隅まで用いて、ネットワーク仮想化の利便性を最大限に利用しています。

NSX-Tとは?

NSX-TはVMware社のSDN(ソフトウェアによるネットワークの構成・実装・操作を行うこと)を実現するソリューションです。FSRで利用しているNSX-Tの機能やアーキテクチャを軽く説明します。

  • NSX Manager
    • NSX-Tによる仮想ネットワークを統合管理するコンポーネントです。FSRでは後述する自社開発のコントロールパネル経由でNSX Managerに指示を出し、お客様の要望するネットワークを構成しています。(REST APIを用いています。)
  • Edge サーバ
    • 仮想のネットワークを構築するための主要なコンポーネントです。物理のネットワークから仮想化されたネットワークへの接続を行うことと、その逆ができるものです。
    • 仮想のネットワークのルーティング(論理ルータ)、ファイアウォール、ロードバランサなどのネットワークに必要なサービスを提供しています。
    • 通常は仮想マシンとして動作しているものですが、要件を満たす物理サーバをEdgeサーバとして動作させることも可能です。(後述するDCコネクタ:L2は物理サーバを用いています)

お客様が操作するのは自社開発のコントロールパネルであり、裏ではNSX-Tが仮想化されたネットワークを設定しています。

ネットワーク事業者視点での制限 vs お客様のご要望

ネットワークが仮想化できることはわかりましたが、物理ネットワークにおいて、制限となるものは何があるでしょうか。クラウド事業者の視点から考えてみましょう。

  • 各種ネットワークの設定ファイルの管理
    • ネットワークの機器はたいていテキストベースのコンフィグレーションファイルになっています。テキストベースのファイルは小さなネットワークであれば十分ですが、大規模なネットワークになるとパラメータの肥大化、設定の肥大化に陥り、手動設定では間に合わなくなります。
  • 設定の煩雑さ
    • 設定をネットワーク機器に投入するにあたり、自動化されていない機器がある場合があります。これらに対して設定を投入するには手動で行うか、AnsibleのRoleを手動で書くか、といずれにしても大きな負担となります。
  • 設定にかかる時間
    • お客様の要求はいつ来るかわかりません。アジリティの観点から考慮すると、ご依頼後「すぐに」設定が投入され、利用できるようになっていればなりませんが、物理機器の設定をすることを考えると時間がかかってしまいます。
  •  VLAN数の制限
    • VLANは技術的に4094本までしか作成することができません。大規模なクラウド事業を考慮するとこの制限は非常に厳しく、4094本では不足してしまいます。(全ての顧客で4094本なので非常に厳しい制限となります)

一方でお客様視点で考えると、

  • 設定ファイルの管理をしたくない
  • 設定は簡単にできてほしい
  • 設定後、すぐに利用できてほしい
  • ネットワークは複数・多数作成できてほしい

と、相反する事態となります。

仮想化で解消

NSX-Tの世界においては、ネットワークを仮想化するために様々な実装が用いられています。

例えば前に例で挙げたネットワークのVLAN本数制限は、仮想化の仕組みを用いて制限を突破しています。(実態はネットワークの仮想化にGENEVEと呼ばれるプロトコルを利用しています。GENEVEはL3レイヤをカプセリング化することでネットワークに柔軟性を持たせています。)

また、ネットワークのアジリティ向上については、NSX-Tが持つAPIをフルに用いて即時に」仮想化ネットワークの設定変更を行っています。

一般的にNSX-Tでネットワークを操作する場合、NSX-Tの管理画面(NSX-T Manager)を扱うことでネットワークを構築していきますが、弊社のFSRは弊社開発のコントロールパネルを備えています。このコントロールパネルを利用することで、お客様は煩雑なネットワーク設定を考えることなく、ネットワークをほぼ無制限に、かつ即時作成することができます。(ここでのネットワークとは、1つのブロードキャストドメインを指します)

これが実現できるのは、仮想化ソリューションであるNSX-Tのほぼ無限とも言える拡張性とそのAPIを叩くバックエンドの組み合わせによるものです。

コントロールパネルの実装

FSRの裏側ではNSX-Tが提供するAPIを利用し柔軟なネットワークを構成しています。FSRのネットワーク設定はすべて自社開発のコントロールパネルから実施することができます。

FSRのネットワークの設定画面を見てみましょう。
この画面は仮想マシンが接続するネットワーク(プライベートセグメント)を作成、確認する画面です。

ネットワークにはファイアウォールやロードバランサも必要になることがあります。これらもFSRにおいてはSDNとして構成されており、設定はすべてコントロールパネルから実施することができます。反映は即座に行われるため、設定の確認や、設定を誤った場合の差し戻しも即座に行うことができます。


移行のお供、L2延伸

お客様から「L2延伸を行いたい」というご要望をよくいただきます。

L2延伸とは、お客様のオンプレミスのネットワークと、クラウドのネットワークをあたかも同一のL2ネットワークに接続したように見せることで、以下のメリットを享受できます。

  • クラウドへの移行にあたりIPアドレスの変更を必要としない
  • ネットワークの大規模な修正をする必要が無くなる
  • 移行中でもL2での疎通性を保つことができる

「クラウドへ移行したいけれども、ネットワークを考えねばならない……」とお困りのお客様にマッチするソリューションです。特に、vSphere環境を以前からオンプレミスで利用されていたお客様にとって、弊社のクラウドへ移行するにあたり縁の下の力持ち的なソリューションです。

以前より自社開発のルータ、SEIL/X1、SEIL/x86を用いたソリューションを提供しておりましたが、IIJ GIOインフラストラクチャP2 Gen.2のサービスインと同時に、新たにサービスとして提供をはじめました。

それが、「DCコネクタ:L2」です。

FSRと「DCコネクタ:L2」と私

DCコネクタ:L2の技術的な部分は私が担当しました非常に苦しみましたが、非常によい出来と自負しています。

前述のとおり、FSRはNSX-Tを用いて仮想化ネットワーク(セグメント)を提供しておりますが、仮想化されたネットワークを用いたFSRのセグメントはVLANと直接接続することができません。ここで出てくるコンポーネントが、「DCコネクタ:L2」です。お客様のVLAN(物理)とFSRの仮想化されたネットワーク(仮想)をつなぐブリッジを提供しています。お客様のVLANの環境を、弊社の仮想化されたクラウドに持ち込むにはピッタリのサービスです。(図の緑の網掛け部分が相当します)

実態はNSX-Tの機能の一つである、Edge ブリッジという機能を用いて実装しています。また、VLANの収容にはこれもまたNSX-Tの機能の一つである、ベアメタル Edgeと呼ばれる専有サーバを用いています。このおかげでお客様の大規模なネットワークをFSRに移行することも可能になります。

ベアメタル Edge。これは物理のネットワークの世界から仮想のネットワークに接続する入り口となる重要なコンポーネントです。オンプレミスによる物理のネットワークはまだまだ残っていますが、大規模なネットワークを作ることは非常に大変です。マルチテナントを考慮するとなおさらです。その課題をクラウドの仮想化されたネットワークで解決したい、が、一部どうしても物理で残したい部分はあろうかと思います。物理のネットワークと、仮想のネットワークをあたかも同じネットワークとして行き来することができる、まさに夢のようなコンポーネントがDCコネクタ:L2なのです。

技術的な面もお話しましょう。実態はNSX-TのL2ブリッジという機能を利用しています。ブリッジというとあまり一般的に利用されていないイメージがあるかもしれませんが、仮想ネットワーク(プライベートネットワーク)と物理ネットワーク(VLAN)を橋渡すということができる機能です。これもAPIが提供されており、APIの組み合わせで自由に物理ネットワークと仮想ネットワークをつなぐことができます。ソフトウェアで違う世界に接続することができる、大変興味深い機能です。

L2ブリッジを利用するためには、仮想化ネットワークの機能や仕組み、物理のネットワークの仕組みの両方を知らないことには、実現することができない世界です。物理の世界におけるL2と仮想の世界におけるL2を同時に考えることは混乱する面もありますが、考えれば考えるほど楽しい世界です。

ソフトウェアを使って物理と仮想の世界をつなぐ。こういった夢があるからこそ、ネットワークはやめられません。

DCコネクタ:L2が私に与えた仕事観

このコンポーネントの設計・構築にはたくさんの方々とのやりとりがありました。コンセプトは「物理と仮想のネットワークの橋渡し。」
以前からL2延伸のサービスを提供していたため知見はありましたが、NSX-Tとしての実装、かつサービスとして実装することに正直なところ不安を感じていました。

もともと私はサービスを利用してシステムを構築する立場であり、サービスを造るという立場は初心者。利用する機能はNSX-TのEdge ブリッジ機能だけと思い実装をしていたのですが、サービスとして出すからには、

  • 簡単に利用できること
  • 安定したサービスであること
  • 問題が発生した場合に適切な対応が行えるようにすること

等を考える必要があります。これらを考えたり、実装を進めていたなかで「他人と協力して物事を進めること」を学びました。

  • NSX-Tを完全完璧に知っているわけではないため、より知識のあるメンバーに協力を求めること
  • サービスを提供する構成として適切であるかどうか、メンバーで意見を募ること
  • 何かしらの問題がDCコネクタ:L2に発生した場合、どのような体制を組むかをあらかじめ決めること
  • 考えることが手一杯になったとき、どう周りを頼るべきか?

など、特にサービスとして実装することにかぎらないことではあるのですが、あらためて「仕事は一人で行うものではない」ことを実感しました。

また、「ネットワークはソフトウェアでこうやって構築するのか!」という新しい視点を見ることができました。サービスを使う立場だったころは「繋がって当たり前だろ」という感覚を持っていたのですが、サービスを構築する立場になると、ネットワーク設定の変更の難しさ、「サービス」としての設計の難しさを痛感しました。

今後に向けて

ネットワーク仮想化は、仮想マシンの一般化と同様に、当然の世界になっています。そのソリューションの一つであるVMware NSX-Tもそれに伴い機能が拡張するでしょう。
そして我々のIIJ GIOインフラストラクチャP2 Gen.2も、ネットワークにかぎらず、お客様のご要望に応じて様々な拡張を進めていく予定です。

現在は超強力なメンバーが互いに協力しあい機能拡張・運用・保守を行っておりますが、課題も当然にあります。
さまざまな分野に精通しているチームメンバーがスクラムを組んで課題に取り組んでおりますが、そういった貴重な味方を探しています。

仮想化に興味がある方、我々と一緒にスクラムを組んで一緒に働きませんか。

IIJ Engineers blog読者プレゼントキャンペーン

Twitterフォロー&条件付きツイートで、「IoT米」と「バリーくんストラップ」と「バリーくんシール」のセットを抽選でプレゼント!
応募期間は2022/12/01~2022/12/31まで。詳細はこちらをご覧ください。
今すぐツイートするならこちら→ フォローもお忘れなく!

原口 隼翔

2022年12月02日 金曜日

インターネットクラウドマン。新卒でIIJに入社後、企業・官公庁向けにSI・L2延伸・ネットワーク構築を経験。その後クラウド構築の魅力に惹かれ構築・運用チームに異動。好きなものはやわらかいおふとん。

Related
関連記事