メニュー
Amazon Elastic Compute Cloud
Linux インスタンス用ユーザーガイド

Linux AMI 仮想化タイプ

Linux Amazon マシンイメージ では、2 つの仮想化タイプ(準仮想化(PV)およびハードウェア仮想マシン(HVM))のどちらかを使用します。PV AMI と HVM AMI の主な違いは、起動の方法と、パフォーマンス向上のための特別なハードウェア拡張機能(CPU、ネットワーク、ストレージ)を利用できるかどうかという点です。

最適なパフォーマンスを得るために、インスタンスを起動するときには、現行世代のインスタンスタイプと HVM AMI を使用することをお勧めします。現行世代のインスタンスタイプの詳細については、「Amazon EC2 Instances」の詳細ページを参照してください。旧世代のインスタンスタイプを使用中で、アップグレードする場合は、「アップグレードパス」を参照してください。

各インスタンスタイプで推奨される Amazon Linux AMI のタイプについては、「Amazon Linux AMI インスタンスタイプ」の詳細ページを参照してください。

HVM AMI

HVM AMI は、完全に仮想化された一連のハードウェアを備えており、イメージのルートブロックデバイスのマスターブートレコードを実行することによって起動します。この仮想化タイプでは、ベアメタルハードウェア上でオペレーティングシステムが動作するのと同様に、修正を行わなくても仮想マシン上でオペレーティングシステムを直接実行することができます。Amazon EC2 ホストシステムでは、ゲストに提供されている基盤となるハードウェアの一部またはすべてがエミュレートされます。

PV のゲストとは異なり、HVM のゲストは、ホストシステム上の基盤となるハードウェアへの高速なアクセスを可能にするハードウェア拡張を利用できます。Amazon EC2 で使用できる CPU 仮想化拡張機能の詳細については、Intel のウェブサイトの「Intel Virtualization Technology」を参照してください。HVM AMI は、拡張ネットワーキングと GPU 処理を利用する場合に必要です。専用のネットワークや GPU デバイスに命令を伝達するには、OS がネイティブハードウェアプラットフォームにアクセスできる必要があります。HVM 仮想化ではこのアクセスが可能です。詳細については、「拡張ネットワーキング」および「Linux 高速コンピューティングインスタンス」を参照してください。

すべての現行世代のインスタンスタイプは HVM AMI をサポートします。CC2、CR1、HI1、および HS1 の旧世代のインスタンスタイプは、HVM AMI をサポートします。

HVM AMI を見つけるには、コンソールまたは describe-images コマンドを使用して、AMI の仮想化タイプが hvm に設定されていることを確認します。

PV AMI

PV AMI は、PV-GRUB と呼ばれる特別なブートローダーを使用して起動します。このブートローダーによって起動サイクルが開始され、イメージの menu.lst ファイルで指定されているカーネルがチェーンロードされます。準仮想化のゲストは仮想化を明示的にサポートしていないホストのハードウェア上で実行されますが、これらのゲストは特別なハードウェア拡張(拡張ネットワーキングや GPU 処理など)を利用できません。従来、PV のゲストは HVM のゲストよりも多くの場合にパフォーマンスが向上しました。ただし、HVM 仮想化の機能強化や HVM AMI で PV ドライバが利用可能になったことにより、このようなパフォーマンスの向上はなくなりました。PV-GRUB の詳細や Amazon EC2 での使用方法については、「ユーザー提供カーネル」を参照してください。

C3 および M3 の現行世代のインスタンスタイプは PV AMI をサポートします。C1、HI1、HS1、M1、M2、および T1 の旧世代のインスタンスタイプは、PV AMI をサポートします。

PV AMI を見つけるには、コンソールまたは describe-images コマンドを使用して、AMI の仮想化タイプが paravirtual に設定されていることを確認します。

PV on HVM

従来、準仮想化のゲストはストレージやネットワークの操作については、HVM のゲストよりも高いパフォーマンスを実現していました。これは、準仮想化のゲストでは I/O 用の特別なドライバ(ネットワークとディスクのハードウェアをエミュレートする際のオーバーヘッドが回避されます)を活用することができたためです。これに対して、HVM のゲストでは、エミュレートされたハードウェアに対する命令を変換する必要がありました。現在では、このような PV ドライバを HVM のゲストで利用できるようになりました。このため、準仮想化された環境で実行するための移植ができないオペレーティングシステム(Windows など)でも、これらのドライバを使用することで、ストレージやネットワークの I/O でパフォーマンスの向上を確認することができます。このような PV on HVM ドライバを使用すると、HVM のゲストで、準仮想化のゲストと同じまたはより優れたパフォーマンスを実現できます。