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

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

インスタンスを起動するときは、ルートデバイスボリュームに格納されているイメージを使用してインスタンスがブートされます。Amazon EC2 のサービス開始当初は、すべての AMI が「Amazon EC2 インスタンスストア backed」でした。つまり、AMI から起動されるインスタンスのルートデバイスは、Amazon S3 に格納されたテンプレートから作成されるインスタンスストアボリュームです。Amazon EBS の導入後は Amazon EBS を基にした AMI も導入されました。つまり、AMI から起動されるインスタンスのルートデバイスが、Amazon EBS スナップショットから作成される Amazon EBS ボリュームであるということです。

お客様は、「Amazon EC2 インスタンスストア backed」の AMI と「Amazon EBS backed」の AMI から選択できます。推奨されるのは「Amazon EBS backed」です。この AMI は起動が高速であり、永続的ストレージを使用しているからです。

Amazon EC2 でルートボリュームに使用するデバイス名について詳しくは、「Linux インスタンスでのデバイスの名前付け」を参照してください。

ルートデバイスストレージの概念

instance store-backed AMI または Amazon EBS-backed AMI のどちらからでもインスタンスを起動できます。AMI の説明にはそのタイプが含まれており、場所によってルートデバイスが ebs (Amazon EBS-Backed の場合) または instance store (Instance store-Backed の場合) と表示されます。各タイプの AMI を使用して実行できることには大きな違いがあるため、タイプを区別できることは重要です。違いについての詳細は ルートデバイスのストレージ を参照してください。

instance store-backed のインスタンス

インスタンスストアをルートデバイスに使用するインスタンスでは自動的に、インスタンスストアボリュームを利用できるようになり、そのボリュームの 1 つがルートデバイスボリュームとなります。インスタンスを起動すると、インスタンスのブートに使用されるイメージがルートボリュームにコピーされます。インスタンスタイプによっては、オプションで追加のインスタンスストアボリュームを使用できることに注意してください。

インスタンスストアボリュームのデータはインスタンスが実行している間は維持されますが、インスタンスが終了すると (Instance store-Backed インスタンスは [Stop] アクションをサポートしていません)、またはインスタンスが失敗すると (基盤となるドライブに問題がある場合など)、削除されます。

 Amazon EC2 instance store-backed インスタンスのルートデバイス

障害が発生したり終了されたりした instance store-backed インスタンスは復元できません。Amazon EC2 instance store-backed インスタンスの使用を予定している場合は、インスタンスストアのデータを複数のアベイラビリティーゾーンにまたがって分散させることを強くお勧めします。また、インスタンスストアボリュームの重要データを永続的ストレージに定期的にバックアップする必要があります。

詳細については、「Amazon EC2 インスタンスストア」を参照してください。

Amazon EBS-backed インスタンス

Amazon EBS をルートデバイスに使用するインスタンスには自動的に、Amazon EBS ボリュームがアタッチされます。Amazon EBS Backed インスタンスを起動するときに、AMI で参照されている Amazon EBS スナップショットごとに 1 つの Amazon EBS ボリュームが作成されます。インスタンスタイプによっては、Amazon EBS ボリュームまたはインスタンスストアボリュームをオプションで使用できます。

 Amazon EBS-backed インスタンスのルートデバイスボリュームおよびその他の Amazon EBS ボリューム

Amazon EBS-backed インスタンスは、停止後に再起動できます。アタッチされているボリュームに格納されているデータに影響を及ぼすこともありません。Amazon EBS-backed インスタンスが停止状態にあるときは、インスタンス関連およびボリューム関連の様々なタスクを実行できます。たとえば、インスタンスのプロパティの変更、インスタンスのサイズの変更、使用しているカーネルの更新が可能です。また、デバッグなどの目的で別の実行中インスタンスにルートボリュームをアタッチすることもできます。

Amazon EBS-backed インスタンスに障害が発生した場合は、以下のいずれかの方法によってセッションを復元できます。

  • 停止して再起動します (最初にこの方法を試してください)。

  • 関連するすべてのボリュームのスナップショットを自動的に作成し、新しい AMI を作成します。詳細については、「Amazon EBS-Backed Linux AMI の作成」を参照してください。

  • 以下の手順に従って、ボリュームを新しいインスタンスにアタッチします。

    1. ルートボリュームのスナップショットを作成します。

    2. 作成したスナップショットを使用して新しい AMI を登録します。

    3. 新しい AMI から新しいインスタンスを起動します。

    4. 残りの Amazon EBS ボリュームを古いインスタンスからデタッチします。

    5. Amazon EBS ボリュームを新しいインスタンスに再アタッチします。

詳細については、「Amazon EBS ボリューム」を参照してください。

ルートデバイスタイプによる AMI の選択

インスタンスの起動時に指定する AMI によって、インスタンスのルートデバイスボリュームのタイプが決まります。

To choose an Amazon EBS-backed AMI using the console

  1. Open the Amazon EC2 console.

  2. In the navigation pane, choose AMIs.

  3. From the filter lists, select the image type (such as Public images). In the search bar choose Platform to select the operating system (such as Amazon Linux), and Root Device Type to select EBS images.

  4. (Optional) To get additional information to help you make your choice, choose the Show/Hide Columns icon, update the columns to display, and choose Close.

  5. Choose an AMI and write down its AMI ID.

To choose an instance store-backed AMI using the console

  1. Open the Amazon EC2 console.

  2. In the navigation pane, choose AMIs.

  3. From the filter lists, select the image type (such as Public images). In the search bar, choose Platform to select the operating system (such as Amazon Linux), and Root Device Type to select Instance store.

  4. (Optional) To get additional information to help you make your choice, choose the Show/Hide Columns icon, update the columns to display, and choose Close.

  5. Choose an AMI and write down its AMI ID.

コマンドラインを使用して AMI のルートデバイスボリュームの種類を確認するには

次のコマンドの 1 つを使用できます。これらのコマンドラインインターフェイスの詳細については、Amazon EC2 へのアクセス を参照してください。

インスタンスのルートデバイスタイプの判別

To determine the root device type of an instance using the console

  1. Open the Amazon EC2 console.

  2. In the navigation pane, choose Instances, and select the instance.

  3. Check the value of Root device type in the Description tab as follows:

    • If the value is ebs, this is an Amazon EBS-backed instance.

    • If the value is instance store, this is an instance store-backed instance.

コマンドラインを使用してインスタンスのルートデバイスタイプを判別するには

次のコマンドの 1 つを使用できます。これらのコマンドラインインターフェイスの詳細については、Amazon EC2 へのアクセス を参照してください。

永続的ルートデバイスボリュームへの変更

デフォルトでは、Amazon EBS-backed AMI のルートデバイスボリュームは、インスタンスを終了すると削除されます。デフォルトの動作を変更するには、ブロックデバイスマッピングを使用して、DeleteOnTermination 属性を false に設定します。

コンソールを使用したルートボリュームの永続的な変更

コンソールを使用して、インスタンスの起動時に DeleteOnTermination 属性を変更できます。実行中のインスタンスのこの属性を変更するには、コマンドラインを使用する必要があります。

To change the root device volume of an instance to persist at launch using the console

  1. Open the Amazon EC2 console.

  2. From the Amazon EC2 console dashboard, choose Launch Instance.

  3. On the Choose an Amazon Machine Image (AMI) page, select the AMI to use and choose Select.

  4. Follow the wizard to complete the Choose an Instance Type and Configure Instance Details pages.

  5. On the Add Storage page, deselect Delete On Termination for the root volume.

  6. Complete the remaining wizard pages, and then choose Launch.

インスタンスの詳細ペインでルートデバイスボリュームの詳細を表示することにより、設定を確認できます。[Block devices] の隣にあるルートデバイスボリュームのエントリを選択します。デフォルトでは、[Delete on termination] は [True] です。デフォルトの動作を変更した場合は、[Delete on termination] が [False] になっています。

AWS CLI を使用して、インスタンスのルートボリュームが存続するように変更するには

AWS CLI を使用して、インスタンスの起動時またはインスタンスの実行中に DeleteOnTermination 属性を変更することができます。

例 起動時

run-instances コマンドを使用して、DeleteOnTermination 属性を false に設定するブロックデバイスマッピングを含めることにより、ルートボリュームを保持します。

Copy
aws ec2 run-instances --block-device-mappings file://mapping.json other parameters...

mapping.json で以下を指定します。

Copy
[ { "DeviceName": "/dev/sda1", "Ebs": { "DeleteOnTermination": false } } ]

describe-instances コマンドを使用して、次に示すようにコマンド出力でデバイスの BlockDeviceMappings エントリを探すことで、DeleteOnTerminationfalse であることを確認します。

Copy
... "BlockDeviceMappings": [ { "DeviceName": "/dev/sda1", "Ebs": { "Status": "attached", "DeleteOnTermination": false, "VolumeId": "vol-1234567890abcdef0", "AttachTime": "2013-07-19T02:42:39.000Z" } } ...

例 インスタンスの実行中

modify-instance-attribute コマンドを使用して、DeleteOnTermination 属性を false に設定するブロックデバイスマッピングを含めることにより、ルートボリュームを保持します。

Copy
aws ec2 modify-instance-attribute --instance-id i-1234567890abcdef0 --block-device-mappings file://mapping.json

mapping.json で以下を指定します。

Copy
[ { "DeviceName": "/dev/sda1", "Ebs" : { "DeleteOnTermination": false } } ]