仮想マシン かそうましん
簡単に言うとこんな感じ!
物理サーバーの中にソフトウェアで作った「仮想の独立したコンピュータ」のこと。クラウドで使う「インスタンス」もこれだよ。1台の物理サーバーから複数のVMを動かせるから、リソースを効率よく使えるんだ。
仮想マシンとは
仮想マシン(Virtual Machine、VM)とは、物理的なコンピュータ上にソフトウェアで構築された、独立したコンピュータ環境のことです。ハイパーバイザーと呼ばれるソフトウェアが物理ハードウェアを抽象化し、CPU・メモリ・ストレージ・ネットワークなどのリソースを仮想的に割り当てます。
クラウドでは仮想マシンのことをインスタンスと呼ぶことが多く、AWS EC2・Azure Virtual Machines・Google Compute Engineがその代表例です。利用者は物理サーバーを購入せず、必要なときにAPIやコンソールから数分でVMを起動・停止できます。
仮想マシンの最大の特徴はOS(オペレーティングシステム)レベルでの完全な分離です。同じ物理サーバー上に複数のVMが動作していても、それぞれが独立したOSを持ち、互いに干渉しません。この特性が、クラウドのマルチテナント環境を支えています。
仮想マシンの構成要素
| 構成要素 | 説明 |
|---|---|
| vCPU | 仮想化されたCPUコア(物理コアの論理的な分割) |
| メモリ(RAM) | VMに割り当てられた仮想メモリ容量 |
| ストレージ | 仮想ディスク(EBS・Managed Disksなど) |
| ネットワーク | 仮想NIC(ネットワークインターフェースカード) |
| OS | ゲストOSとしてLinux・Windowsなどが動作 |
| イメージ(AMI等) | VMの起動テンプレート(OS+アプリの構成) |
主要クラウドの仮想マシンサービス
| クラウド | サービス名 | 特徴 |
|---|---|---|
| AWS | EC2(Elastic Compute Cloud) | 最多インスタンスタイプ、スポットInstance等 |
| Azure | Virtual Machines | WindowsとLinuxの両方に強い |
| Google Cloud | Compute Engine(GCE) | 高いカスタマイズ性、ライブマイグレーション標準 |
| Oracle Cloud | Compute | ARM(Ampere)インスタンスが特徴的 |
歴史と背景
仮想化技術の起源は1960年代のIBMメインフレームに遡ります。1990年代にVMwareが×86サーバー向けの仮想化ソフトウェアを実用化し、企業内でのサーバー集約(サーバー統合)に使われるようになりました。
2006年にAWSがEC2を公開し、インターネット経由で仮想マシンを時間単位で借りられるサービスを開始しました。これがクラウドコンピューティングの爆発的普及の起点となりました。現在は仮想マシンに加えてコンテナ・サーバーレスといった軽量な実行環境も普及していますが、仮想マシンは依然としてクラウドの基本的なコンピュートリソースです。
コンテナとの違い
関連する規格・RFC
| 規格 | 内容 |
|---|---|
| DMTF OVF(Open Virtualization Format) | 仮想マシンのポータブルなパッケージ形式 |
| IEEE 802.1Q | VLANタグ(仮想ネットワーク) |
| SMBIOS | VMのハードウェア情報報告仕様 |
関連用語
- ハイパーバイザー — VMを動かすソフトウェア基盤
- インスタンスタイプの選び方 — VMのスペック選定
- vCPU — VMに割り当てる仮想CPU
- ベアメタル — 仮想化なしで直接使う物理サーバー
- ライブマイグレーション — 稼働中VMを別ホストに移動する技術
- オートスケーリング — VMを自動増減する仕組み