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

Amazon EC2 の AMI タイプと特性

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

起動許可

起動許可により、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 インスタンスのルートボリューム」を参照してください。

注記

Instance store-backed AMI はサポート終了扱いとなっており、新たに使用することは推奨されません。これらの AMI は、C1、C3、D2、I2、M1、M2、M3、R3、X1 の古いインスタンスタイプでのみサポートされています。

次の表では、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 AMI は、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 のゲストで、準仮想化のゲストと同じまたはより優れたパフォーマンスを実現できます。