Amazon EC2 の AMI タイプと特性 - Amazon Elastic Compute Cloud

Amazon EC2 の AMI タイプと特性

インスタンスを起動するときに選択する AMI には、選択したインスタンスタイプとの互換性が必要です。次の特性に基づき、使用する AMI を選択できます。

起動許可

AMI の所有者は、起動許可を指定することで可用性を決定します。起動許可は次のように分類されます。

起動アクセス許可 説明
パブリック 所有者はすべての AWS アカウントに起動許可を与えます。
明示的 所有者は特定の AWS アカウント、組織、または組織単位 (OU) に起動許可を与えます。
暗示的 所有者には AMI の暗示的起動許可があります。

Amazon や Amazon EC2 コミュニティではさまざまなパブリック AMI を提供しています。詳細については、Amazon EC2 での共有 AMI の使用方法について を参照してください。デベロッパーは自分の AMI に料金を請求できます。詳細については、「Amazon EC2 インスタンスの AWS Marketplace の有料 AMI」を参照してください。

ルートデバイスタイプ

すべての AMI が Amazon EBS-BackedInstance Store-Backed のいずれかに分類されます。

  • Amazon EBS-backed AMI – AMI から起動されるインスタンスのルートデバイスが、Amazon EBS スナップショットから作成される Amazon Elastic Block Store (Amazon EBS) ボリュームであることを意味します。Linux AMI と Windows AMI の両方でサポート。

  • Amazon instance store-backed AMI - AMI から起動したインスタンスのルートデバイスは、Amazon S3 に保存されたテンプレートから作成されたインスタンスストアボリュームです。Linux AMI でのみサポート。Windows AMI はルートデバイスのインスタンスストアをサポートしていません。

詳細については、「Amazon EC2 インスタンスのルートボリューム」を参照してください。

次の表では、2 種類の AMI を使用した場合の重要な相違点をまとめています。

特徴 Amazon EBS-backed AMI Amazon instance store-backed AMI

ルートデバイスボリューム

EBS ボリューム

インスタンスストアボリューム

インスタンスの起動時間

通常 1 分以内

通常 5 分以内

データの永続性

デフォルトでは、インスタンスを終了するとルートボリュームは削除されます。* EBS ボリュームにある他のデータはすべて、インスタンスの終了後もデフォルトで保持されます。

インスタンスストアボリューム上のデータは、インスタンスの存続中のみ使用できます。

停止状態

停止状態になっている場合があります。インスタンスが停止して実行されていない場合でも、ルートボリュームは Amazon EBS で保持されます。

実行中もしくは終了のどちらの場合でも、インスタンスを停止状態にすることができない

変更

インスタンスの停止中に、インスタンスタイプ、カーネル、RAM ディスク、およびユーザーデータが変更可能

インスタンスの属性は、インスタンスを削除するまで固定。

料金

インスタンスの使用量、EBS ボリューム、また、EBS スナップショットとして保存した AMI に対して料金が発生します。

インスタンスの使用量や Amazon S3 に保存した AMI に対して料金が発生します。

AMI の作成/バンドル

単一のコマンドまたは呼び出しを使用

AMI ツールをインストールして使用する必要があります

* デフォルトでは、EBS ルートボリュームには DeleteOnTermination フラグが true に設定されています。このフラグを変更し、終了後もボリュームを保持する方法については、「Amazon EC2 インスタンスの終了後も Amazon EBS ルートボリュームを保持する」を参照してください。

** io2 EBS ブロックエクスプレスのみでサポートされています。詳細については、「Amazon EBS ユーザーガイド」の「プロビジョンド IOPS SSD Block Express ボリューム」を参照してください。

仮想化タイプ

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

以下の表では、HVM と PV AMI を比較しています。

特徴 HVM PV
説明 HVM AMI は、完全に仮想化された一連のハードウェアを備えており、イメージのルートブロックデバイスのマスターブートレコードを実行することによって起動します。この仮想化タイプでは、ベアメタルハードウェア上でオペレーティングシステムが動作するのと同様に、修正を行わなくても仮想マシン上でオペレーティングシステムを直接実行することができます。Amazon EC2 ホストシステムでは、ゲストに提供されている基盤となるハードウェアの一部またはすべてがエミュレートされます。 PV AMIs は、PV-GRUB と呼ばれる特別なブートローダーを使用して起動します。このブートローダーによって起動サイクルが開始され、イメージの menu.lst ファイルで指定されているカーネルがチェーンロードされます。準仮想化のゲストは、仮想化を明示的にサポートしていないホストハードウェアで実行できます。PV-GRUB の詳細や Amazon EC2 での使用方法については、「ユーザー提供カーネル」を参照してください。
サポートされるインスタンスタイプ すべての現行世代のインスタンスタイプは HVM AMI をサポートします。 次の旧世代のインスタンスタイプは、PV AMI をサポートします: C1、C3、M1、M3、M2、および T1。現行世代のインスタンスタイプは PV AMI をサポートしません。
ハードウェア拡張のサポート

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

いいえ。拡張ネットワークや GPU 処理などの特別なハードウェア拡張を利用することはできません。
検索方法 コンソールまたは describe-images コマンドを使用して、AMI の仮想化タイプが hvm に設定されていることを確認します。 コンソールまたは describe-images コマンドを使用して、AMI の仮想化タイプが paravirtual に設定されていることを確認します。
PV on HVM

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