AMI へのブロックデバイスマッピングの追加
各 AMI にブロックデバイスマッピングがあります。このブロックデバイスマッピングはAMI からのインスタンスの起動時にそのインスタンスにアタッチするブロックデバイスを指定します。追加のブロックデバイスを AMI に追加するには独自の AMI を作成する必要があります。
AMI 用のブロックデバイスマッピングの指定
AMI を作成する場合に、ルートボリュームに加えて、ボリュームを指定するには2 つの方法があります。インスタンスから AMI を作成する前に、実行中のインスタンスにすでにボリュームをアタッチしている場合、AMI のブロックデバイスマッピングにそれらの同じボリュームが含まれます。EBS ボリュームの場合、既存のデータが新しいスナップショットに保存され、それがブロックデバイスマッピングで指定される新しいスナップショットになります。インスタンスストアボリュームの場合、データは維持されません。
EBS-バック AMI の場合、ブロックデバイスマッピングを使用して、EBS ボリュームとインスタンスストアボリュームを追加できます。instance store-バック AMI の場合、イメージの登録時にイメージマニフェストファイルでブロックデバイスマッピングエントリを変更して、インスタンスストアボリュームのみを追加できます。
M3 インスタンスの場合、インスタンスのブロックデバイスマッピングで起動時にインスタンスストアボリュームを指定する必要があります。AMI のブロックデバイスマッピングで指定したインスタンスストアボリュームはインスタンスブロックデバイスマッピングの一部として指定されていない場合、M3 インスタンスを起動した際に無視される可能性があります。
- Console
-
コンソールを使用してボリュームを AMI に追加するには
-
アマゾン EC2 コンソールを開きます。
-
ナビゲーションペインで、[インスタンス] を選択してください。
-
インスタンスを選択し、[アクション]、[イメージとテンプレート]、[イメージの作成] の順に選択してください。
-
イメージの名前と説明を入力してください。
-
インスタンスボリュームが [インスタンスボリューム] の下に表示されます。別のボリュームを追加するには[ボリュームの追加] を選択してください。
-
[Volume type] で、ボリュームタイプを選択してください。[Device] で、デバイス名を選択してください。EBS ボリュームではスナップショット、ボリュームサイズ、ボリュームタイプ、IOPS、暗号化状態などの追加の詳細を指定できます。
-
[イメージを作成] を選択してください。
- Command line
-
コマンドラインを使用して AMI にボリュームを追加するには
EBS-Backed AMI のブロックデバイスマッピングを指定するには create-image マンドを使用します。Instance Store-Backed AMI のブロックデバイスマッピングを指定するには register-image マンドを使用します。
--block-device-mappings
パラメータを使用してブロックデバイスマッピングを指定します。JSON でエンコードされた引数はコマンドラインで直接指定することも、ファイルを参照して指定することもできます。
--block-device-mappings [mapping
, ...]
--block-device-mappings [file://mapping.json
]
インスタンスストアボリュームを追加するには次のマッピングを使用します。
{
"DeviceName": "device_name
",
"VirtualName": "ephemeral0"
}
空の 100 GiB gp2
ボリュームを追加するには次のマッピングを使用します。
{
"DeviceName": "device_name
",
"Ebs": {
"VolumeSize": 100
}
}
スナップショットに基づいた EBS ボリュームを追加するには次のマッピングを使用します。
{
"DeviceName": "device_name
",
"Ebs": {
"SnapshotId": "snap-xxxxxxxx"
}
}
デバイスのマッピングを省略するには次のマッピングを使用します。
{
"DeviceName": "device_name
",
"NoDevice": ""
}
または次のコマンド (AWS Tools for Windows PowerShell) で -BlockDeviceMapping
パラメータを使用することもできます。
AMI ブロックデバイスマッピングの EBS ボリュームの表示
AMI のブロックデバイスマッピングの EBS ボリュームを簡単に列挙できます。
- Console
-
コンソールを使用して AMI の EBS ボリュームを表示するには
-
アマゾン EC2 コンソールを開きます。
-
ナビゲーションペインで [AMIs] を選択してください。
-
[Filter] リストから [EBS images] を選択して、EBS-Backed AMI のリストを取得します。
-
ご希望の AMI を選択し、[Details] タブを確認します。少なくとも、ルートデバイスでは次の情報を使用できます。
AMI がブロックデバイスマッピングを使用して追加の EBS ボリュームで作成された場合、[Block Devices] フィールドにはその追加の EBS ボリュームのマッピングも表示されます。(この画面にはインスタンスストアボリュームは表示されません。)
- Command line
-
コマンドラインを使用して AMI の EBS ボリュームを表示するには
describe-images (AWS CLI) コマンドまたは Get-EC2Image (AWS Tools for Windows PowerShell) コマンドを使用して、AMI のブロックデバイスマッピング内の EBS ボリュームを列挙します。