[L2スイッチ+VLAN]ネットワーク仮想化入門 開発環境への仮想化導入ガイド

この記事を読むのに必要な時間:およそ 5.5 分

はじめに

サーバを仮想化して運用することも一般的になり,もはや実機にOSを入れることのほうが少なくなっている,という人も多いのではないでしょうか。

本誌Vol.49の仮想化特集編注では「開発環境を仮想化しよう!」をテーマに,⁠サーバ仮想化」⁠ストレージ仮想化」⁠ネットワーク仮想化」の3つの技術について取り上げました。このうち前者の2つ,つまり「サーバを仮想化してストレージを集約する」ことは行っても,最後の「ネットワークを仮想化する」ところまで必要とされる状況は少ないかもしれません。

筆者の環境では,グローバルIPアドレスを持つサーバ群を,開発用のサーバ群と一緒に仮想化しようというところからネットワークの仮想化を導入することになりました。しかし,この分野に詳しい人が周囲におらず,最終的な形が完成するまでは試行錯誤の連続でした。

今回は,そうして積み重ねた筆者のスタイルを交えつつ,多数の仮想化機器を接続して管理する方法について考えてみたいと思います。

編注)
本誌Vol.49特集3「⁠VMware ESXiで開発環境を楽々省スペース化]すぐわかる仮想化技術」で,仮想化技術を取り上げました。なかでも,ネットワークの仮想化に関しては基礎知識をまとめた参考情報が少ないという現状を踏まえ,本記事は,前回の特集の補完的な位置づけでもお読みいただけるよう予備知識を含めて取り上げています。ぜひ合わせてご参照ください。

ネットワークを仮想化する

本記事で想定しているネットワークは,⁠完全にフラットにするほど小さくはないけれども,基幹ルータ(Ciscoなど)やL3スイッチを導入するほど大規模ではない」というケースです。イメージとしては,開発中のWebサービスのプロトタイプを社内で動かしていて,インターネットにつながる複数の経路が用意されている図1のような状況です。

図1 ネットワークの構成例

図1 ネットワークの構成例

ここで「Frontend Network」はインターネットに公開されたDMZ(demilitarized zone)で,ここにつながるサーバはグローバルIPを持ちます。その背後には「Backend Network」があり,データベースなどの非公開サーバがあります。

また,これとは別に開発者のマシンがつながる「Client Network」⁠開発用サーバがつながる「Server Network」を考えます。

公開サーバはルータgw1を介してインターネットにつながります。一方,開発者がインターネットに出るときにはルータgw2が利用されます。開発者が各種のサーバにアクセスできるよう,内部的なトラフィックはルータrtによって中継されます。

これらの機器のうち,開発者のマシンと外部接続用のルータ(gw1,gw2)以外は仮想化することが可能です。最も単純な構成では,このネットワークは図2のような物理構成によって実現できます。

図2 最も単純な接続例

図2 最も単純な接続例

vmhost1は仮想化を行うホスト機で,sw1はVLANに対応したL2スイッチです。今回はこのL2スイッチが主役です。

VLANによるネットワークの分離

仮想ネットワークでは,ネットワークの分割はVLANによって行うのが一般的です。VLANについてはご存じの人も多いと思いますが,設定した番号によってネットワークを分けるというしくみです注1)⁠

そこでまずは,最初に描いた各ネットワークセグメントに番号を振り,同時にIPアドレスの範囲を決めておきます表1)⁠

ここで「VLAN 1」は特別な意味を持つので注意が必要です。一般に,VLANに対応したネットワーク機器では,VLAN 1はデフォルトのネットワークであり,設定管理のために用いられます。ここでは開発者のマシンから直接管理を行うものとして,Client NetworkにVLAN 1を割り当てます。

表1 ネットワーク管理表の例

ネットワーク名VLANアドレス
Client Network1192.168.0.0/24
Server Network2192.168.1.0/24
Frontend Network310.0.0.0/24
Backend Network4172.16.0.0/24

実際にはグローバルアドレスが割り当てられる。

注1)
VLANの基本については,以下のサイトなどが参考になります。
⁠URL】http://www.atmarkit.co.jp/fnetwork/tokusyuu/28vlan/01.html
⁠URL】http://itpro.nikkeibp.co.jp/article/COLUMN/20060919/248419/

ネットワーク機器を接続する

設定を始める前に,ネットワーク機器の物理的なつながりを考える必要があります。ここで先ほどの図2のような構成だと,L2スイッチの設定ミスですべての機器が通信できなくなる恐れがあるので,図3のようにブロードバンドルータ(ここではgw2)だけでも開発者のマシンと同じハブにつなげるとよいでしょう。そうすれば万一の場合にでも,少なくともインターネットとの通信だけは確保できます。

Client NetworkはVLAN 1なので,L2スイッチでの設定は必要ありません。Frontend Networkへとつながるgw1にはVLAN 3を,仮想化ホストにはVLANを受け渡せるようにタグVLANを,それぞれ設定していきます。

図3 インターネットへの経路を確保する

図3 インターネットへの経路を確保する

著者プロフィール

西田圭介(にしだけいすけ)

 

バックナンバー

仮想化

コメント

コメントの記入