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