Build to Order な仮想マシン

Hyper-Vを使ったクラウドサービスの作り方 Vol.2

GMO最新ネット業界レポート ソリューション編。
『Hyper-Vを使ったクラウドサービスの作り方』Vol.2として、Build to Order な仮想マシンについて、GMOインターネット株式会社 事業本部 樋口 勝一が執筆。
今回からは具体的に「Hyper-Vを使ったクラウドサービスの作り方」を解説してゆこうと思います。

「クラウドサービス」とは?

いまさらながら、「クラウドサービス」とは?といったお話になりますが、Hyper-Vに特化した考え方としては、複数のHyper-Vのホストサーバーの集合体の中から、サービス利用者の希望に応じて最適な環境下で仮想マシンを構築し、配置、稼動、提供するといったサービスがここで言うクラウドサービスとなりえます。

第一のステップは、Hyper-Vのホストサーバーの集合体を作ること。 こちらについては簡単に説明してしまうと、サーバーハードウェアを選定し、データーセンターにラッキングして、通信できるようネットワーク配線をして、Hyper-Vをインストール、というように物理サーバー自体の構築になります。

これらホストサーバーを複数構築し、仮想マシンを格納できる準備をしておくことでクラウドサービスの元が出来上がります。

仮想マシンの構築方法

さて、ここからは詳しく解説してゆきましょう。仮想マシンの構築方法です。

Hyper-Vでは、ゲストOSとなりえるのはWindows ServerやWindowsクライアントOS、Linuxと多岐にわたります。

今回ご紹介するのはお名前.com Windowsデスクトップと同様に、Windows Serverを使用した仮想マシンの構築方法です。前回ライセンスの回で紹介したように(https://www.gmo.jp/report/solution/07/index.php)、Hyper-Vを使用したクラウドサービスではWindowsのクライアントOSを使用してのサービス提供はできません。Windows Server 2008 R2 をクライアントOSと遜色なきようカスタマイズして提供することにします。

Hyper-Vに仮想マシンを配置する場合、普通のパソコンのようにハードウェアのスペックを選べるのと同様に、CPU、メモリ、ハードディスク、ネットワークアダプター、DVDドライブなど、いかようにでも搭載することが可能です。

つまり、サービス利用者の希望に応じた仮想マシン構成で組み立てることができる、BTO(Build to Order)が可能となります。

サービス利用者の希望に応じた仮想マシン構成で組み立てることができる、BTO(Build to Order)

はじめは最小構成の低価格モデル、例えばメモリ1GB、1CPU、HDD50GBといった仮想マシンを用意しておき、お試し感覚でユーザーに使い始めていただき、使用用途や頻度に合わせてメモリを追加したり、CPUを追加したり、HDDを増設したりといったオプションサービスの提供も可能となります。

もちろんこれとは反対に、ある一定期間だけメモリを増やしたい、それ以後は半分のメモリ容量に減らしてコストを抑えて使い続けたいといったリクエストにも対応できます。 このようにHyper-Vを用いたクラウドサービスではユーザーのニーズに合わせて仮想マシンをカスタマイズ提供できるといったメリットがあります。

共有でも専有環境

Hyper-Vで提供する仮想マシンはそれぞれ1台ずつがユーザーから見た場合、自身のCPUやメモリ、HDDなどは完全に独立した装備として確認することができます。 同一のHyper-Vホスト上に搭載されている他の仮想マシンがCPUを100%使用したとしても、自身の仮想マシンのCPUには影響ありません。メモリやHDDのパフォーマンスも同様です。

いままでの共有型でのWebホスティングやメールホスティングの場合では、このような完全独立のサービス提供はなかなか低価格では実現できませんでしたが、Hyper-Vによるクラウドサービスではコストパフォーマンスにすぐれ、かつ、サービスパフォーマンスの向上も実現できるようになります。

共有型・専有型 両方の利点を兼ね備えるクラウドサービス

プロビジョニングシステムの必要性

サービス提供者はオーダーどおりに仮想マシンを構築する必要があります。 この時サービス提供者はどのように仮想マシンを構築するのか、またはすべきか。

単純な発想ではHyper-Vマネージャーを利用して、CPUやメモリなどオーダーどおりに手作業で仮想マシンを組み立ててゆけば確かに仮想マシンは出来上がります。一日1台の仮想マシンを構築するのであればこの方法で十分ですが、ビジネスとしてサービス提供を行なうのであれば、何台の仮想マシンであろうと自動的に構築可能なシステムを使用するべきです。人為的ミスによるサービス品質の低下や、人的コストの削減、24時間迅速な対応によるサービス向上につながります。

これを実現するのがプロビジョニングシステムとなります。

プロビジョニングシステムとは、システムマチックに動的にサービスを構築する技術やソリューションを一般的には指します。Windowsでのサービス提供分野では、IISを用いたWebホスティングやExchangeベースのメールホスティングなども、プロビジョニングシステムを開発・使用してサービスを行う場合がほとんどです。Hyper-Vにおいても同様にシステムマチックに仮想マシンを構築することができます。

具体的にはVB.net、C#、PowerShell などの開発言語を用いてプログラミングしてゆくことになります。開発者によってどの言語を選択するか様々になりますが、Hyper-Vに対してプログラムからアプローチする場合は共通してWindows Management Instrumentation(WMI)を利用して開発する必要があります。

WMIはWindowsをローカル、リモートを問わず管理することができるインターフェースです。Windowsから様々情報を取得したり、実行したりできる非常に便利なプログラムアプローチの出入口となります。

このWMIを用いてのプロビジョニングシステムとして仮想マシンを構築する方法も何回かに分けて今後ご紹介してゆく予定です。

*本文中に記載されている会社名および商品名・サービス名は、各社の商標 または登録商標です。

著書の紹介欄

Hyper-Vで本格的なサーバー仮想環境を構築。仮想環境を設定・操作できる!

できるPRO Windows Server 2016 Hyper-V

◇Hyper-Vのさまざまな機能がわかる ◇インストールからの操作手順を解説 ◇チェックポイントやレプリカも活用できる Windows Server 2016 Hyper-Vは、仮想化ソフトウェア基盤を提供する機能であり、クラウドの実現に不可欠のものです。 本書では、仮想化の基礎知識から、Hyper-Vでの仮想マシンや仮想スイッチの設定・操作、プライベートクラウドの構築、Azureとの連携などを解説します。

初めてのWindows Azure Pack本が発売

Windows Azure Pack プライベートクラウド構築ガイド

本書は、Windows Azure PackとHyper-Vを利用し、企業内IaaS(仮想マシン提供サービス)を構成するための、IT管理者に向けた手引書です。試用したサーバーは、最小限度の物理サーバーと仮想マシンで構成しています。Windows Azure Packに必要なコンポーネントのダウンロード、実際にプライベートクラウド構築する過程を、手順を追って解説しています。これからプライベートクラウドの構築を検討するうえで、作業負担の軽減に役立つ一冊です。

ブログの著者欄

樋口 勝一

GMOインターネット株式会社

1999年6月GMOインターネットに入社。Windows Serverをプラットフォームとしたサービス開発から運用・保守まで幅広く担当。講演登壇や出版、ネット記事連載などでマイクロソフト社と強い信頼関係を構築。2007年より「マイクロソフトMVPアワード」を受賞し、インターネットソリューションのスペシャリストとして活躍。

採用情報

関連記事