ホーム
Topics
仮想化とは
仮想化とは、コンピュータの物理的なハードウェアをより効率的に利用するためのプロセスで、クラウド・コンピューティングの基盤となるものです。
仮想化はソフトウェアを使うことで、コンピューター・ハードウェア上に抽象化層を作成します。これにより、単一のコンピューターのハードウェアの要素(プロセッサー、メモリー、ストレージなど)を、複数の仮想コンピューター(一般に仮想マシン(VM)と呼ばれる)に分割することができます。 仮想マシンはそれぞれが、各自のオペレーティング・システム(OS)を実行します。実際の基礎となるコンピューター・ハードウェアの一部のみで稼働しているにもかかわらず、独立したコンピューターのように動作します。
また、仮想化すると、物理的なコンピューター・ハードウェアをより効率的に使用することが可能になり、組織のハードウェアの投資効率を高めることができます。
今日、仮想化は企業のITアーキテクチャーにおける標準的な手法となっています。 それはまた、クラウド・コンピューティング経済を推進するテクノロジーでもあります。 仮想化により、クラウド・プロバイダーは、既存の物理コンピューター・ハードウェアを利用してユーザーにサービスを提供することが可能になります。クラウド・ユーザーは、必要なときに必要なコンピューティング・リソースのみを購入でき、ワークロードの増大に合わせてコスト効率の高い方法でそうしたリソースを拡張することができます。
仮想化がどのように機能するかについて詳しくは、動画「仮想化についての説明」(英語)をご覧ください。
仮想化は、データ・センターの運営者やサービス・プロバイダーに複数のメリットをもたらします。
潜在的なメリットの詳細については、「仮想化の5つのメリット」をご覧ください。
複数の企業が、特定のデータセンター・タスクやエンド・ユーザーを対象としたデスクトップ仮想化シナリオを想定した、仮想化ソリューションを提供しています。 良く知られている例では、サーバー、デスクトップ、ネットワーク、ストレージの仮想化を専門とするVMware社、アプリケーション仮想化を得意分野とするがそれだけではなく、サーバー仮想化と仮想デスクトップ・ソリューションも提供するCitrix社、Hyper-V仮想化ソリューションをWindowsと同梱し、サーバー・コンピューターとデスクトップ・コンピューターの仮想バージョンに注力しているMicrosoft社が挙げられます。
仮想マシン(VM)は、物理的なコンピューティングをソフトウェアでシミュレートした仮想環境です。 通常、VMの構成を含むいくつかのファイル、仮想ハードドライブ用のストレージ、特定の時点での状態を保持するVMのスナップショットなどで構成されています。
VM詳細については「仮想マシンとは」をご覧ください。
ハイパーバイザーは、VMの調整を行うソフトウェア層です。 VMと基礎となる物理ハードウェアの間のインターフェースとして機能し、各VMの実行に必要な物理リソースを確実に利用できる状態にします。 また、VMがお互いのメモリ・スペースや計算サイクルを侵害して干渉しないようにします。
ハイパーバイザーには次の2つのタイプがあります。
「ハイパーバイザー:完全ガイド」は、ハイパーバイザーに関するあらゆる内容を網羅しています。
ここまではサーバの仮想化について説明してきましたが、他にも多くのITインフラストラクチャー要素を仮想化することで、(特に)IT管理者や企業全体に大きなメリットをもたらすことができます。 ここでは、以下のような仮想化の種類について説明します。
デスクトップの仮想化では、複数のデスクトップ・オペレーティング・システムをそれぞれのVMに入れて、同じコンピュータ上で動作させることができます。
デスクトップの仮想化は次の2つのタイプがあります。
仮想デスクトップについて詳しくは、「Desktop as a Service(DaaS)」をご覧ください。
ネットワークの仮想化では、ソフトウェアを使用してネットワークの「ビュー」を作成し、管理者はそれを使って単一のコンソールからネットワークを管理することができます。 ハードウェアの要素と機能(接続、スイッチ、ルーターなど)をハイパーバイザー上で実行されているソフトウェアに抽象化します。 ネットワーク管理者は、基盤となっている物理的なコンポーネントに触れることなく、これらの要素を変更、制御することができ、ネットワーク管理を劇的に簡素化することができます。
ネットワークの仮想化には、ネットワーク・トラフィックのルーティング(コントロール・プレーンと呼ばれる)を制御するハードウェアを仮想化するソフトウェア定義ネットワーキング(SDN)や、特定のネットワーク機能(ファイアウォール、ロード・バランサー、またはトラフィックアナライザーなど)を提供する1つまたは複数のハードウェア・アプライアンスを仮想化し、それらのアプライアンスの構成、プロビジョニング、管理を容易にするネットワーク機能仮想化(NFV)などがあります。
ストレージの仮想化により、ネットワーク上のすべてのストレージ・デバイスは、個々のサーバーにインストールされているか、スタンドアロン型のストレージ・ユニットであるかどうかにかかわらず、単一のストレージ・デバイスとしてアクセスおよび管理されます。 具体的には、ストレージの仮想化により、ストレージのすべてのブロックが単一の共有プールに割り振られます。そこから必要に応じてネットワーク上の任意のVMにそれらのストレージを割り当てることができます。 ストレージの仮想化により、VMへのストレージのプロビジョニングが容易になり、ネットワーク上の利用可能なすべてのストレージを最大限に活用することができます。
ストレージの仮想化の詳細については「クラウド・ストレージとは」を参照してください。
現代の企業は、複数のアプリケーションからのデータを、複数のファイル形式で、クラウドからオンプレミスのハードウェアやソフトウェアのシステムにいたるまで、複数の場所に保存しています。 データを仮想化することで、あらゆるアプリケーションが、ソース、フォーマット、場所を問わず、それらすべてのデータにアクセスできるようになります。
データ仮想化ツールは、データにアクセスするアプリケーションとそれを保管するシステムの間にソフトウェア層を作成します。 この層は、アプリケーションのデータの要求または照会を必要に応じて変換し、複数のシステムにわたって提供できる結果を返します。 データ仮想化は、他のタイプの統合は実現できない、好ましくない、またはコストが高すぎる場合に、データ・サイロを解消するのに役立ちます。
アプリケーションの仮想化では、アプリケーション・ソフトウェアをユーザーのOSに直接インストールすることなく実行します。 これは、完全なデスクトップ仮想化(前述のとおり)とは異なります。アプリケーションのみが仮想環境で実行され、エンド・ユーザーのデバイス上のOSは通常どおり実行されます。 アプリケーションの仮想化には、以下の3つのタイプがあります。
データセンターの仮想化は、データセンターのハードウェアの大部分をソフトウェアに抽象化し、管理者が、効率的に1つの物理データセンターを複数の仮想データセンターに分割して、さまざまな顧客に対応させることを可能にします。
各クライアントは、同じ基盤となる物理ハードウェア上で動作する独自のInfrastructure As a Service(IaaS)にアクセスすることができます。 仮想データセンターは、インフラストラクチャー・ハードウェアを購入することなく、完全なデータセンター環境を迅速に構築することができるため、クラウド・ベースのコンピューティングの利用開始が容易です。
CPU(中央演算処理装置)の仮想化は、ハイパーバイザーや仮想マシン、およびOSを実現するための基本技術です。 1つのCPUを複数の仮想CPUに分割して、複数のVMで使用できるようにします。
当初、CPUの仮想化はすべてソフトウェア定義で行われていましたが、現在のプロセッサーの多くは、CPUの仮想化をサポートする拡張命令セットを含み、VMのパフォーマンスを向上させています。
GPU(グラフィックス処理装置)とは、負荷の高いグラフィックや数学的処理を行い、コンピューティング・パフォーマンス全体を向上させる特殊なマルチ・コア・プロセッサーのことです。 GPUの仮想化により、複数のVMが1つのGPUの処理能力の全部または一部を使用することができ、動画、人工知能(AI)、およびその他のグラフィックや数学的処理を多用するアプリケーションを高速化することができます。
Linuxには、カーネル・ベースの仮想マシン(KVM)と呼ばれる独自のハイパーバイザーが搭載されており、インテル社とAMDの仮想化プロセッサーの拡張機能をサポートしているため、LinuxのホストOS内でx86ベースのVMを作成することができます。
オープン・ソースのOSであるLinuxは、カスタマイズ性に優れています。 特定のワークロード用にカスタマイズされたバージョンのLinuxや、機密性の高いアプリケーション用にセキュリティーが強化されたバージョンのLinuxを実行するVMを作成することができます。
前述の通り、クラウド・コンピューティング・モデルは仮想化に依存しています。 サーバー、ストレージ、およびその他の物理的なデータセンターのリソースを仮想化することで、クラウド・コンピューティング・プロバイダーは以下のようなさまざまなサービスをお客様に提供することができます。
これらのクラウド・サービス・モデルについての詳細は、ガイド「IaaS、PaaS、SaaSの比較」をご覧ください。
サーバーの仮想化では、ハードウェア内のコンピューター全体が再現され、OS 全体が実行されます。 OSはアプリケーションを1つ実行します。 仮想化がまったく行われていないよりは効率的ですが、実行したいアプリケーションごとに、不要なコードやサービスが重複しています。
その代替アプローチとなるのが、コンテナです。 コンテナは、基本のOSカーネルを共有し、アプリケーションと、アプリケーションが依存するソフトウェア・ライブラリーや環境変数などのみを実行します。 これにより、コンテナはより小さくなり、より迅速なデプロイが可能となります。
コンテナとコンテナ化についての詳細は、「コンテナ:完全ガイド」と「コンテナ化:完全ガイド」をご覧ください。
ブログ投稿「コンテナとVMの違い」で、さらに詳しくその違いについて説明しています。
以下の動画では、Sai Vennamがコンテナ化の基礎、またVMによる仮想化との比較についてご説明します。
VMware社は仮想化ソフトウェアを作り出しています。 VMware社は創業当初、サーバー仮想化のみを提供していました。ESX(現ESXi)ハイパーバイザーは、仮想化製品で最も初期に商業的に成功したものです。 今日、VMware社は、ネットワーク、ストレージ、およびデスクトップの仮想化に対応したソリューションを提供しています。
VMware社に関して詳しくは、「VMware:完全ガイド」を参照してください。
仮想化は、セキュリティー上のメリットをもたらします。 例えば、VMがマルウェアに感染した場合は、VMが感染する前の安定した時点(スナップショットと呼ばれます)にロールバックすることができます。また、VMを削除して再作成することも、より簡単にできます。 仮想化されていないOSから常にウィルスを除去できるとは限りません。なぜなら、マルウェアはOSのコア・コンポーネントに深く組み込まれていることが多く、その場合システムのロールバックを行ってもマルウェアは存在し続けるためです。
仮想化には、セキュリティー上の課題もいくつかあります。 攻撃者によってハイパーバイザーが侵害された場合、すべてのVMとゲスト・オペレーティング・システムが攻撃者に所有されるおそれがあります。 ハイパーバイザーは、物理ネットワークに触れずにVM同士の間で通信できるようにすることもできるので、そのトラフィックを確認するのは困難です。したがって、疑わしいアクティビティーを検出することも簡単ではありません。
ホストOS上のタイプ 2 のハイパーバイザーは、ホストOSの侵害の影響も受けやすくなっています。
市場では、マルウェアに対するVMのスキャンとパッチ適用、VMの仮想ディスク全体の暗号化、VMアクセスの管理と監査を行うことができる仮想化セキュリティー製品が、幅広く提供されています。
IBM Cloudを使用して、VMwareのワークロードとアプリケーションをシームレスにモダナイズします。
データを移動させることなく、異種データを単一ビューで表示します。 煩雑さやエラーのリスクを軽減しながらデータを管理します。
ストレージの仮想化によりハイブリッドクラウドを簡素化します。 データを危険にさらすことなく、ストレージ・リソースを一元化し、データ・サービスを拡張し、データ・モビリティーを向上させます。
仮想マシンとは、物理コンピューターの仮想表現であり、エミュレーションです。 仮想化により、複数の仮想マシンを単一の物理コンピューター上で作成できます。
ハイパーバイザーは、複数のオペレーティング・システムのインスタンスを、同じ物理コンピューティング・リソース上で同時に実行することで、仮想化を実現しています。
クラウド・コンピューティングにより、ITインフラストラクチャーをユーティリティーに変換することで、インターネット経由でコンピューティング・リソースとアプリケーションに「プラグイン」できるようなるため、オンプレミスにインストールして維持する必要がありません。