EC2 インスタンスにインスタンスストアボリュームを追加する - Amazon Elastic Compute Cloud

EC2 インスタンスにインスタンスストアボリュームを追加する

NVMe インスタンスストアボリュームを使用するインスタンスタイプでは、サポートされているすべてのインスタンスストアボリュームが、起動時に自動的にインスタンスにアタッチされます。NVMe インスタンスストアボリュームは、インスタンスの起動時に自動的に列挙され、デバイス名が割り当てられます。

C1、C3、M1、M2、M3、R3、D2、H1、I2、X1、X1e など、NVMe 以外のインスタンスストアボリュームのインスタンスタイプでは、起動時にアタッチするインスタンスストアボリュームのブロックデバイスマッピングを手動で指定する必要があります。ブロックデバイスマッピングは、インスタンス起動リクエストで、またはインスタンスの起動に使用される AMI で指定できます。ブロックデバイスマッピングには、デバイス名とそれがマッピングされたボリュームが含まれます。詳細については、「ブロックデバイスマッピング」を参照してください。

重要

インスタンスを起動する場合にのみ、インスタンスストアボリュームをインスタンスにアタッチできます。また、起動後のインスタンスにインスタンスストアボリュームをアタッチすることはできません。

インスタンスを起動したら、使用する前に、インスタンスのインスタンスストアボリュームがフォーマットされ、マウントされていることを確認する必要があります。instance store-backed インスタンスのルートボリュームは自動的にマウントされます。

ルートボリュームに関する考慮事項

ブロックデバイスマッピングでは、常にインスタンスのルートボリュームを指定します。ルートボリュームは、Amazon EBS ボリュームまたはインスタンスストアボリュームのいずれかです。ルートボリュームは自動的にマウントされます。ルートボリュームのインスタンスストアボリュームを持つインスタンスの場合、このボリュームのサイズは AMI によって異なりますが、最大サイズは 10 GB です。詳細については、「ルートデバイスのストレージ」を参照してください。

AMI へのインスタンスストアボリュームの追加

インスタンスストアボリュームが含まれる、ブロックデバイスマッピングを持つ AMI を作成できます。

インスタンスストアボリュームブロックデバイスマッピングを指定する AMI を使用して、非 NVMe のインスタンスストアボリュームをサポートするインスタンスを起動すると、インスタンスにインスタンスストアボリュームが含まれます。AMI のインスタンスストアボリュームブロックデバイスマッピングの数がインスタンスに利用できるインスタンスストアボリュームの数を超えた場合、追加のインスタンスストアボリュームブロックデバイスマッピングは無視されます。

インスタンスストアボリュームブロックデバイスマッピングを指定する AMI を使用して、NVMe インスタンスストアボリュームをサポートするインスタンスを起動した場合、インスタンスストアボリュームブロックデバイスマッピングは無視されます。NVMe インスタンスストアボリュームをサポートするインスタンスは、インスタンス起動リクエストと AMI で指定されたブロックデバイスマッピングに関らず、サポートされているすべてのインスタンスストアボリュームを取得します。

考慮事項
  • M3 インスタンスの場合は、AMI ではなく、インスタンスのブロックデバイスマッピングにあるインスタンスストアボリュームを指定します。Amazon EC2 は、AMI のインスタンスストアボリュームブロックデバイスマッピングを無視することがあります。

  • インスタンスを起動する際に、AMI ブロックデバイスマッピングで指定された 非 NVMe インスタンスストアボリュームを省略したり、インスタンスストアボリュームを追加したりできます。

New console
コンソールを使用して Amazon EBS-backed AMI にインスタンスストアボリュームを追加するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインで [Instances] を選択し、インスタンスを選択します。

  3. [アクション]、[Image and templates (イメージとテンプレート)]、[イメージの作成] の順に選択します。

  4. [イメージの作成] ページで、イメージの意味のある名前と説明を追加します。

  5. 追加する各インスタンスストアボリュームについて、[ボリュームの追加] を選択し、[ボリュームタイプ] からインスタンスストアボリュームを選択して、[デバイス] からデバイス名を選択します。(詳細については、Linux インスタンスでのデバイス名 を参照してください)。使用できるインスタンスストアボリュームの数は、インスタンスタイプによって異なります。NVMe インスタンスストアボリュームを持つインスタンスの場合、これらのボリュームのデバイスマッピングは、オペレーティングシステムがこれらのボリュームを列挙する順序によって決まります。

  6. [イメージを作成] を選択します。

AWS CLI
コマンドラインを使用して AMI にインスタンスストアボリュームを追加するには

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

インスタンスに非 NVMe インスタンスストアボリュームを追加する

非 NVMe インスタンスストアボリュームをサポートするインスタンスを起動するときは、アタッチするインスタンスストアボリュームのブロックデバイスマッピングを指定する必要があります。ブロックデバイスマッピングは、インスタンス起動リクエストで、またはインスタンスの起動に使用される AMI で指定する必要があります。

AMI にインスタンスストアボリュームのブロックデバイスマッピングが含まれている場合、AMI に含まれるよりも多くのインスタンスストアボリュームが必要でない限り、インスタンス起動リクエストでブロックデバイスマッピングを指定する必要はありません。

AMI にインスタンスストアボリュームのブロックデバイスマッピングが含まれていない場合は、インスタンス起動リクエストでブロックデバイスマッピングを指定する必要があります。

考慮事項
  • M3 インスタンスの場合は、インスタンスのブロックデバイスマッピングで指定しなくても、インスタンスストアボリュームを受け取る可能性があります。

インスタンス起動リクエストでブロックデバイスマッピングを指定するには、次のいずれかの方法を使用します。

Amazon EC2 console
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ダッシュボードから、[インスタンスの作成] を選択します。

  3. [Application and OS Images] (アプリケーションと OS イメージ) セクションで、使用する AMI を選択します。

  4. [ストレージの設定] セクションの [インスタンスストアボリューム] セクションには、インスタンスにアタッチできるインスタンスストアボリュームが一覧表示されます。使用できるインスタンスストアボリュームの数は、インスタンスタイプによって異なります。

  5. アタッチする各インスタンスストアボリュームの [デバイス名] で、使用するデバイス名を選択します。

  6. 必要に応じて残りのインスタンスの設定を設定し、[インスタンスの起動] を選択します。

Command line

次のいずれかのオプションコマンドを、対応するオプションで使用できます。

インスタンスでインスタンスストアボリュームを使用できるようにする

インスタンスストアボリュームが接続しているインスタンスを起動したら、アクセスする前にボリュームをマウントする必要があります。

Linux インスタンスでは、多くのインスタンスストアボリュームは ext3 ファイルシステムで事前にフォーマットされています。TRIM コマンドをサポートする SSD ベースのインスタンスストアボリュームは、ファイルシステムを使用して事前にフォーマットされていません。ただし、インスタンスを起動してから、選択したファイルシステムでボリュームをフォーマットすることもできます。詳細については、「インスタンスストアボリュームの TRIM のサポート」を参照してください。Windows インスタンスでは、NTFS ファイルシステムでインスタンスストアボリュームをフォーマットします。

インスタンスストアデバイスが使用できるかどうかは、インスタンスメタデータを使用してインスタンスの内部から確認できます。詳細については、インスタンスストアボリュームのインスタンスブロックデバイスマッピングの表示を参照してください。

Linux インスタンスの場合、次の手順で説明されているように、インスタンスストアボリュームを表示してマウントできます。

Linux でインスタンスストアボリュームを使用できるようにするには
  1. SSH クライアントを使用してインスタンスに接続します。詳細については、「Linux インスタンスへの接続」を参照してください。

  2. df -h コマンドを使用して、フォーマットおよびマウントされたボリュームを表示します。

    $ df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 3.8G 72K 3.8G 1% /dev tmpfs 3.8G 0 3.8G 0% /dev/shm /dev/nvme0n1p1 7.9G 1.2G 6.6G 15% /
  3. lsblk を使用して、起動時にマッピングされたが、フォーマットおよびマウントされていないボリュームを表示します。

    $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme0n1 259:1 0 8G 0 disk ├─nvme0n1p1 259:2 0 8G 0 part / └─nvme0n1p128 259:3 0 1M 0 part nvme1n1 259:0 0 69.9G 0 disk
  4. マッピングされたのみのインスタンスストアボリュームをフォーマットしてマウントするには、以下の作業を行います。

    1. mkfs コマンドを使用してデバイスでファイルシステムを作成します。

      $ sudo mkfs -t xfs /dev/nvme1n1
    2. mkdir コマンドを使用してデバイスをマウントするディレクトリを作成します。

      $ sudo mkdir /data
    3. mount コマンドを使用して、新しく作成されたディレクトリにデバイスをマウントします。

      $ sudo mount /dev/nvme1n1 /data

再起動後にアタッチされたボリュームを自動的にマウントする方法については、「Amazon EBS ユーザーガイド」の「再起動後にアタッチされたボリュームを自動的にマウントする」を参照してください。