San Antonio API Security Summit 2025 に参加しよう!
San Antonio API Security Summit 2025 に参加しよう!
San Antonio API Security Summit 2025 に参加しよう!
San Antonio API Security Summit 2025 に参加しよう!
San Antonio API Security Summit 2025 に参加しよう!
San Antonio API Security Summit 2025 に参加しよう!
閉じる
プライバシー設定
ウェブサイト運営に必要なCookieや類似技術を使用しています。追加のCookieは貴社の同意がある場合のみ利用されます。同意は「Agree」をクリックすることでいただけます。どのデータが収集され、どのようにパートナーと共有されているかの詳細は、Cookieポリシープライバシーポリシーをご確認ください。
Cookieは、貴社デバイスの特性や、IPアドレス、閲覧履歴、位置情報、固有識別子などの特定の個人情報を取得、解析、保存するために使用されます。これらのデータは様々な目的で利用されます。分析Cookieによりパフォーマンスを評価し、オンライン体験やキャンペーンの効果向上に役立てます。パーソナライズCookieは、利用状況に応じた情報やサポートを通じ、貴社専用の体験を提供します。広告Cookieは、第三者が貴社のデータをもとにオーディエンスリストを作成し、ソーシャルメディアやネット上でのターゲット広告に使用します。貴社は各ページ下部のリンクから、いつでも同意の許可、拒否、または撤回が可能です。
ご送信ありがとうございます。内容を受け付けました。
申し訳ありません。フォーム送信時にエラーが発生しました。
/
/
DevSecOps

仮想マシンとは何か?

記憶装置のデジタルコピーを作成することを「仮想化」と言います。機器の処理能力を持つソフトとして説明されることが多く、特定のアプリがハードウェアの動作を模倣して計算環境を作り出します。

仮想マシンとは何か?

VM(バーチャルマシン)とは一体何か

仮想マシンとは、コンピュータのハードウェアを模倣するソフトウェアです。「Guest」はアプリを、「host」は実機を意味し、通常は入れ替えて考えられます。

仮想環境では、一台の実機上で複数の仮想PCを動かすことができ、それぞれが独自のOSやアプリを保持します。実機とは直接連携せず、ハイパーバイザや仮想マシンレコーダを用いて装置と接続します。各仮想マシンは独自のプロセッサ、メモリ、ディスク容量を持ち、互いの影響を防ぐために分離されています。

どのように機能するか

PCやサーバにインストールされたハイパーバイザが、実機のソフトウェアとハードウェアを効果的に分離し、その上で複数の独立した仮想PCを構成できる仕組みです。

その後、各仮想マシンは独自のプログラムやOSを動かしながらも、実機(ベアメタルサーバ)が提供するプロセッサ、メモリ、ストレージなどの資源を共有します。

ハイパーバイザは、交通整理をする警官のように、実機の資源を各仮想マシンに振り分け、互いの干渉を防ぎます。

ハイパーバイザは大きく以下の2種類に分類されます:

  • Type 1 ハイパーバイザは、ハードウェア上で直接OSを動かします。仮想マシンの作成や管理には専用の管理ソフトを使用し、管理ツールで仮想マシンにインストールするゲストOSを選択できます。たとえば、VMwareのvSphereがその一例です。
    一つの仮想マシンをテンプレートとして複製することで、同じ環境を何度も作成できます。ソフトウェアのテスト、データベース運用、開発環境など、用途に合わせたテンプレート作成も可能です。
  • Type 2 ハイパーバイザは、ホストOS上のアプリとして動作するため、主に個人用のデスクトップやノートPCで利用されます。Type 2使用時は、ゲストOSをインストールする前に自ら仮想マシンを作成し、プロセッサのコア数やメモリ量を手動で設定、実機の資源を割り当てます。3Dアクセラレーションなど、グラフィックスの設定もハイパーバイザの機能を利用して構築可能です。
How Does VM Work
How Does VM Work

仮想マシンは何に使われるか

模倣技術により、実機のハードウェア資源を隔離できるため、さまざまな用途で利用されます。以下に5例を示します:

  • クラウドコンピューティング: 仮想化技術で従来の物理部品を仮想化し、その後インターネットを通じて資源を配信します。Dropbox、Salesforce、Googleドライブなどが例です。
  • ソフトウェアテスト: 仮想マシンで本番環境に近いテスト環境を作成でき、外部と隔離された状態でコードの検証が行えます。
  • マルウェア調査: 危険なプログラムを隔離環境で実行できるため、他システムへの影響を抑えながら調査が可能です。
  • 災害対策: クラウド上に同一のシステムを構築し、複数のコピーを保持することで、故障時の復元が可能となります。例えば、iPhoneはiCloudでバックアップを取り、紛失や故障時にデータを移行できます。
  • ハードウェア非互換のソフト実行: 最新のスマートフォンで古いアプリを動かす際、必要なOSと合わない場合、仮想マシンで該当OS環境を作ることで対応できます。

仮想マシンの長所と短所

柔軟な運用が可能なため、仮想マシンはビジネスの現場で幅広く活用されています。

仮想マシンのメリットは、以下のとおりです。

  • 資源の有効活用: 一台の実機で非互換アプリも実行可能です。
  • 効率性: 一台でmacOSとWindowsを使えるため、時間、コスト、スペースの節約になります。
  • 革新: 実機に影響を与えることなく複数環境でテストが行え、問題の発見と改善がしやすくなります。
  • 安全性: 災害復旧やアプリ配信機能により、IT部門が脅威に迅速に対応でき、万一の場合でも本番環境を速やかに復元できます。

仮想マシンのデメリットは、以下のとおりです。

  • コスト: クラウド上での仮想マシン利用は高価で、初期投資が必要な場合があります。
  • パフォーマンス: 仮想マシンは実機の資源に依存するため、十分なパワーがないと動作が不安定になる恐れがあります。
  • 有効性: ハードウェアに直接アクセスできないため、全てのIT組織で高速性が求められるわけではなく、仮想と実機のバランスが必要です。
  • 複雑さ: マルチLAN環境などで構成が複雑になり、問題発生時の原因特定が難しくなることがあります。
  • 感染: 脆弱な実機に悪影響を及ぼす恐れがあり、OSの問題で仮想マシン間に感染が広がる場合もあります。

仮想マシンの種類

仮想マシンには、主に以下の2種類があります。

  • プロセスVM: ハードウェアやOSの詳細を隠すことで、プラットフォームに依存しない環境を構築し、一つのプロセスがまるで実機上で動くアプリのように振る舞います。Java仮想マシンは、どのOSでもJavaプログラムを実行できるプロセスVMの例です。
  • システムVM: 実機を仮想マシンに置き換える際に利用され、各仮想マシンが独自のOSを持ちながら実機のハードウェア資源を共有します。この仕組みではハイパーバイザが必要で、VMware ESXiのように単独またはOS上で動作するものがあります。

仮想化の種類

仮想化とは、一台の実機内で複数のコンピュータのソフトとハード資源を模倣することです。複数の利用者が同じ物理設備を使用でき、効率が大幅に向上します。その柔軟性から、多くの企業で採用されています。

以下に代表的な6種類の仮想化を紹介します。それぞれが異なる要素に影響します。

  • アプリ仮想化: アプリを基盤となるOSから分離し、全ての構成要素をカプセル化して独立稼働させます。アプリは遠隔サーバ上の仮想マシンに配置され、実機上には存在しません。
  • データ仮想化: データの取得、分離、加工、配送を行い、場所やフォーマットに依存せず、即時に統一されたデータを提供します。これにより、ウェアハウスの遅延が減少し、オンデマンドの統合や解析、検索、報告が可能です。
  • デスクトップ仮想化: クライアント・サーバモデルで、デスクトップ環境を遠隔サーバ上で仮想化します。作業負荷の軽減、従業員の導入、重複作業の削除、災害復旧などに役立ちます。
  • ネットワーク仮想化: 物理的なネットワーク機器や資源を統合し、帯域を個別のチャンネルに分割します。専用ソフトがネットワークトンネルを生成し、各ネットワークの再設定なしで仮想マシンを運用でき、帯域を即時に割り当てられます。
  • サーバ仮想化: ハードウェアベースの仮想化により、実サーバを複数の仮想サーバに分割し、各仮想サーバでゲストOSを動作させます。実機やハードウェアの必要性が減り、コスト削減に寄与します。
  • ストレージ仮想化: 複数の物理ストレージを一つの独立したプールとして仮想化し、専用ソフトで一元管理することで、柔軟な資源利用を実現します。

仮想マシンとコンテナ

コンテナは仮想マシンの理解を助けるデジタル環境と言えます。従来のオンプレミスやクラウド仮想化では、ハイパーバイザが物理ハードウェアを模倣します。各仮想マシンは、ゲストOS、ハードウェアのエミュレーション、アプリ、そして必要なライブラリや依存関係で構成されます。

コンテナはOSを模倣するため、必要なソフトウェア要素だけが含まれ、ゲストOSが不要なため、軽量で移動も簡単です。

Kubernetesとコンテナは、クラウドネイティブマイクロサービスな設計と相性が良く、主にステートレスアプリに用いられますが、ステートフルサービスにも対応可能です。

ノートPC、クラウド、オンプレミスでの一貫性から、コンテナはハイブリッドクラウド環境で広く利用されています。

仮想マシンのセットアップ

仮想化プラットフォームによりVMのセットアップ方法は異なります。多くのプラットフォームはウィザードなどの機能を提供しており、VMの作成と展開が容易です。管理者は、テンプレート、クローン、またはゼロから作成して、VMware vSphere上でVMを構築できます。vSphereの新規VMウィザードが、新規作成またはクローン作成の手順を案内します。

Red Hat Virtualizationは異なる方法でVMを生成します。Linux VMの導入手順は、

  • 新しいVMを作成する
  • 仮想ディスクを追加する
  • VMのネットワークインターフェイスを追加する
  • 対象のOSをインストールする
  • CDNに登録し、サブスクリプションを追加する
  • ゲストエージェントとドライバをインストールする

VMの展開前には、仮想化プラットフォームのドキュメントを確認することが推奨されます。

VMベンダー

データセンターで展開される際、仮想マシンソフトウェアは一台の実サーバ上で複数のOSを同時に動作させます。ハイパーバイザは、ゲストOS用のサンドボックスを提供し、ハードウェアの模擬環境を構築する仮想化ソフトウェアの一種です。これにより、一台の実機上で多数のサーバを運用できます。

仮想化ソフトウェアを提供するベンダーを利用することで、必要な実機数が減り、資源利用率が向上しサーバコストが低減されます。しかし、Dockerの登場以降、単一OSを必要とする企業向けに、サーバ仮想化の代替としてコンテナ技術が注目されています。ハイパーバイザが不要で、複数のコンテナが一つのOSインストールを共有し、直接実機のハードウェア上で動作するため、効率性で大きな優位性を示します。

このため、Wallarmは以下の5社の仮想化プロバイダーを紹介します:

  • VMware Workstation Player / VMware Inc.

VMware Workstation Player(旧称Player Pro)はハイパーバイザプログラムで、アプリ内の「Virtual Machine Isolation」により実機をウイルスから守ります。ゲストと実機間のコピー&ペーストが可能で、VMのメモリも最適化されます。

  • Oracle / VirtualBox

Oracle VM VirtualBoxはオープンソースでクロスプラットフォームに対応する仮想化ツールです。一台の実機上で複数のOSを動作させ、リモート環境でも安全にWindows、macOS、Linuxアプリが利用できる広い作業空間を提供します。

  • Parallels Desktop

Parallels Desktop 16は、Mac上でWindowsアプリを最速で動作させる手法で、Windows 2000以降の全てのWindowsおよびIntelベースのmacOSがサポートされます。

  • QEMU / Software Freedom Conservancy, Inc.

QEMUは実機のプロセッサを模倣し、複数のハードウェアやデバイスモデルを構築して、さまざまなOSの仮想マシンを実行します。

  • Hyper-V(仮想化プラットフォーム)

Hyper-Vは他のアプリ同様、VMの作成、管理、運用が可能で、『Live Migration』機能により、稼働中のアプリを停止せずにVMを別のホストへ移動できます。

FAQ

参考資料

最新情報を購読

更新日:
February 25, 2025
学習目標
最新情報を購読
購読
関連トピック