記事検索

検索ワードを入力してください。
Sky Tech Blog
Hyper-Vの​仮想スイッチに​ついて​整理してみました

Hyper-Vの​仮想スイッチに​ついて​整理してみました

この記事は、Windowsの仮想化技術であるHyper-Vにおける「仮想スイッチ」の種類とその活用方法について解説しています。仮想スイッチの基本的な役割から、外部スイッチ、プライベートスイッチ、内部スイッチ、Default Switchの4種類の特性と使用例を詳述し、仮想環境のネットワーク設定や応用事例を紹介しています。

はじめに

WindowsのサーバーやPC上で仮想マシンを動かす際、 Oracle VirtualBoxVMware Workstationなどをお使いの方も多いと思いますが、 最近はHyper-Vを利用している方も多いと思います。
実際、この記事の筆者は自社商品のサポート業務での検証環境構築にHyper-Vをよく使用しています。

このように日々の社内検証などで大活躍するHyper-Vにおいて欠かせないのは、 仮想マシンにネットワーク接続を提供する「仮想スイッチ」です。 この仮想スイッチにはいくつか種類があり、それぞれできることが異なりますが、 うまく使い分けることによりHyper-Vをより一層活用できます。
そこでこの記事では、それらの仮想スイッチの種類について解説します。

そも​そも​「仮想スイッチ」とは?

「仮想スイッチ」はHyper-Vにおいて、仮想マシンの通信に用いられます。

Hyper-Vでは「仮想マシン」を作り、サーバーを立てたり、 クライアントOSを起動してデスクトップ環境を利用したりできます。 しかし、仮想マシンを作っただけでは通信することはできません。

物理マシンであればLANケーブルをつなぎますが、仮想マシンにケーブルをつなぐことは、 私たちのように物理的な肉体を持つ人間には不可能です。
(電子の世界と現実世界を行き来できるSF小説の登場人物であれば話は別ですが。)
そこで、物理的なケーブルやスイッチの代わりに利用するのが「仮想スイッチ」です。

仮想環境上のハブ(L2スイッチ)とLANケーブルを一体にしたもの、
と考えるのが一番イメージしやすいかもしれません。

ちなみに、複数の仮想スイッチを作った場合は、 それぞれ独立したネットワークになります。 したがって、仮想スイッチAにつながっている仮想マシンと 仮想スイッチBにつながっている仮想マシンを直接通信させることはできません。

「仮想スイッチ」の​種類

ここまで記載した内容を理解すれば、 Hyper-Vの仮想スイッチはだいたい理解したと言っても差し支えないのですが、 より深く理解するためには、次に挙げる4種類の仮想スイッチについて理解する必要があります。

  • 外部スイッチ
  • プライベートスイッチ
  • 内部スイッチ
  • Default Switch

このように書くと、Hyper-Vを触り慣れている方からは、 「いや、3種類では?」というツッコミが入ってしまいそうです。

実際に、Hyper-Vマネージャーで仮想スイッチを作成しようとすると、 上図のように、画面上で作成できる仮想スイッチは3種類しかありません。 ここに表示されているものと先に挙げた4種類を比較すると、 ユーザー側では作成できない「Default Switch」という仮想スイッチが存在し、 合計で4種類の仮想スイッチを扱うことができることがわかります。 この「Default Switch」も面白い特性を持っているため、 この記事では「Default Switch」を含む4種類すべてについて解説します。

外部​スイッチ

まずは「外部スイッチ」です。 外部スイッチは仮想マシンが外部と通信する際に利用します。 ホスト側の物理NICと仮想スイッチをつなげることができ、次の特性を持ちます。

  • ホストの物理NICを介して仮想マシンが外部と通信できる。
  • 仮想マシンにはホストの物理NICがつながっているネットワークのIPアドレスを割り当てる。
  • 仮想マシン同士が通信できる。
  • ホスト側に仮想NICが作成されるため、ここにIPアドレスを設定すればホストとゲストが通信できる。

図に起こすと次のような特性があります。

ホストOSの物理NICからインターネットにアクセスさせたり、 他の社内のサーバーやPCと通信することができます。

また、筆者の業務ではSKYSEA Client Viewのサポート業務のために、 検証用のサーバーを仮想マシンで立て、物理PCで検証を行うことがあります。 このときは、外部スイッチを作り、ホストマシンと検証用のPCをLANケーブルで 接続することにより、Hyper-V上のサーバーとPCを通信させることができます。

プライベートスイッチ

次に「プライベートスイッチ」です。 プライベートスイッチは外部スイッチとは逆の、次のような特性を持つため、 仮想マシン同士だけで通信できるクローズドな検証環境を作りたい場合に利用できます。

  • 仮想マシン同士が通信できる。
  • 外部やホストとは通信できない。

検証用の仮想マシンは社内で利用しているウイルス対策ソフトをインストールできなかったり、 古いOSでの動作試験のためにサポート切れのOSを使ったりすることがあると思いますが、 そのような場合にクローズドなネットワークを構築することで、 安全な環境で検証を行うことができます。

内部​スイッチ

3つ目の仮想スイッチは「内部スイッチ」です。 内部スイッチは外部スイッチとプライベートスイッチの中間のような存在で、次の特性があります。

  • 仮想マシン同士が通信できる。
  • 仮想マシンとホストが通信できる。
  • ホストOSのNIC経由では通信できない。

上2つの特性は外部スイッチと同じですが、 最後の特性が外部スイッチと異なります。
図に起こすと下のようなイメージです。

ホストマシンと仮想マシンの間で通信ができるので、次のような場合に便利です。

  • ホストマシンに共有フォルダを作ってアクセスさせたいとき。
  • ホストマシンにルータ機能などをインストールして通信させたいとき。

Default Switch

そして、最後に紹介するのが「Default Switch」です。 「Default Switch」はクライアントOSでHyper-Vを有効化すると自動作成される仮想スイッチで、 次の3つの特性を持っています。

  • 内部スイッチ同様、ホストとゲストの通信が可能。
  • ゲストOSはホストOSをNATルータ代わりにして外部にアクセス可能。
  • クライアントOSでのHyper-Vの有効化時に自動的に作られる。

Hyper-Vマネージャー上では下の図のように表示されていて、 一見するとデフォルトで作られる内部スイッチのように見えます。

一方、実際の動作としては、仮想マシンに対するインターネットへのアクセスを 提供する点で内部スイッチとは動作が異なります。

便利な点として、仮想マシン側のネットワーク設定を行わなくてもインターネットにアクセスさせることができる点があります。 SKYSEA Client Viewにもクラウド版がありますが、 手早くその動作試験を行いたいなどの要件であれば手軽に環境を作れて便利です。

筆者は自宅のPCにOracle VirtualBoxをインストールして休日にLinuxのマシンを構築して遊んだりしていますが、 Oracle VirtualBoxにもNATインタフェースがあり、 簡単に仮想マシンをインターネットに接続できる点は似ています。 したがって、他のホスト型仮想化ソフトを使っている方にとっては、 なじみやすい仮想スイッチかもしれません。

クライアントOSでHyper-Vを有効化すると自動的に作成されるので、 自宅でWindows 11 Proを使っている方であれば、 休日に仮想マシンを立てて遊ぶのにちょうど良い気がします。

仮想スイッチの​応用

ここまで仮想スイッチの特徴を種類ごとにご説明してきましたが、 これらの特性を活かすことで、こんなことができます。という事例を、 応用編としてご紹介します。

ちょっと​応用:仮想ルーター経由で​インターネットに​アクセスする

通常、仮想マシンをインターネットにアクセスさせたいときは、外部スイッチを使い、 各仮想マシンに社内ネットワークのIPアドレスを割り当てるのが一般的ですが、 次のような方法も可能です。

  1. 各仮想マシンはプライベートスイッチで接続する。
  2. 仮想マシンでVyOSなどを使ってルータを作り、
    その仮想マシンにはプライベートスイッチと外部スイッチの2つを接続する。

ネットワーク構成も含め、仮想環境上に再現させたい場合に便利です。 ちなみに、筆者のお勧めはVyOSと呼ばれるLinuxディストリビューションです。 これはLinuxをベースに仮想マシンでルーターを作れるOSなのですが、 ネットワーク機器を触ったことがない方がルーティング設定などの学習をするのに ちょうどいいのでお勧めです。

これで作った仮想ルーターと内部スイッチ・外部スイッチを組み合わせて、 仮想マシンが外と通信できるようにしてあげたり、内部スイッチを複数作って ルーティング設定を行い、内部スイッチをまたいで仮想マシン同士を通信させたりできるようにすると、 実機のルーターがなくてもかなりネットワークへの理解度が高まると思います。

もっと​応用:ホストを​NATルーターに​する

仮想スイッチのうち、プライベートスイッチ以外の仮想スイッチはホストとの間で通信が可能です。 これはホストOSにNICを1つ追加することで実現しています。 この特性を活かし、ホストをNATルーターにして仮想マシンをインターネットにアクセスできるようにすることも可能です。

このNICが作られる特性を活かし、ホストOSにWindows Serverのルーター機能を追加することで、 各仮想マシンのデフォルトゲートウェイをホストOSの仮想NICのIPアドレスに設定して、 仮想マシンをインターネットにアクセスさせることも可能です。

Nested Hyper-V環境で、1段目の仮想マシンをルーター代わりにすれば、 ホストマシンを移行しても、1段目の仮想マシンだけ設定変更すれば済む、 というメリットがあります。

筆者はSKYSEA Client Viewのサポート業務のために10台以上の仮想マシンを稼働させる環境を管理していますが、 その環境に関してはこの図のような仕組みで動かしています。 物理サーバーはリース返却することになっても、1段目の仮想マシンのOSがサポート期限内であれば、 1段目の仮想マシンごとHyper-Vの機能で新しいサーバーに移行してしまえば、 その上の各仮想マシンは特段の手間をかけずに移行できるのがありがたいです。

まとめ

以上、Hyper-Vの仮想スイッチについてまとめてみました。 仮想スイッチを使いこなすことで、昨今増えている仮想基盤上への各種サーバーの構築といった実業務に役立つのはもちろん、 検証環境を構築したり、仮想ルータによるネットワーク設定をしてみたりして、 技術力向上にも役立てることができます。

この記事がどなたかのお役に立てば幸いです。


XFacebookLINE
キャリア採用募集中!

入社後にスキルアップを目指す若手の方も、ご自身の経験を幅広いフィールドで生かしたいベテランの方も、お一人おひとりの経験に応じたキャリア採用を行っています。

Sky株式会社のソフトウェア開発や製品、採用に関するお問い合わせについては、下記のリンクをご確認ください。
お問い合わせ
ホーム