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

SSD インスタンスストアボリューム

C3、F1、G2、HI1、I2、I3、M3、R3、および X1 の各インスタンスは、ソリッドステートドライブ (SSD) を使用するインスタンスストアボリュームをサポートすることで、非常に高いランダム I/O パフォーマンスを実現しています。インスタンスタイプごとのインスタンスストアボリュームのサポートの詳細については、「インスタンスストアボリューム」を参照してください。

Linux で SSD インスタンスストアボリュームから最高の IOPS 性能を得るには、最新バージョンの Amazon Linux AMI、またはカーネルバージョン 3.8 以降の別の Linux AMI を使用することをお勧めします。カーネルバージョン 3.8 以降の Linux AMI を使用しないと、インスタンスはこれらのインスタンスタイプで可能な最高の IOPS パフォーマンスを実現できません。

他のインスタンスストアボリュームと同様に、起動時にインスタンスの SSD インスタンスストアボリュームをマッピングする必要があり、SSD インスタンスボリュームのデータは、関連するインスタンスの存続期間のみ保持されます。詳細については、「EC2 インスタンスにインスタンスストアボリュームを追加する」を参照してください。

NVMe SSD ボリューム

I3 および F1 インスタンスは、Non-Volatile Memory Express (NVMe) SSD インスタンスストアボリュームを提供します。NVMe ボリュームにアクセスするには、NVMe をサポートするオペレーティングシステムを使用する必要があります。最小限のオペレーティングシステム要件を次に示します。

  • 現在の Amazon Linux AMI

  • Ubuntu バージョン 16.10、またはバージョン 16.04 LTS。バージョン 14.04 には、お勧めできない古いバージョンの NVMe が含まれています。

  • Windows Server 2016、Windows Server 2012 R2、または Windows Server 2008 R2 Windows Server 2012 および Windows Server 2008 はサポートされていないことに注意してください。

インスタンスに接続したら、lspci コマンドを使用して NVMe デバイスをリストできます。次に示すのは、4 つの NVMe デバイスをサポートする i3.8xlarge インスタンスの出力例です。

Copy
[ec2-user ~]$ lspci 00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02) 00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II] 00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II] 00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 01) 00:02.0 VGA compatible controller: Cirrus Logic GD 5446 00:03.0 Ethernet controller: Device 1d0f:ec20 00:17.0 Non-Volatile memory controller: Device 1d0f:cd01 00:18.0 Non-Volatile memory controller: Device 1d0f:cd01 00:19.0 Non-Volatile memory controller: Device 1d0f:cd01 00:1a.0 Non-Volatile memory controller: Device 1d0f:cd01 00:1f.0 Unassigned class [ff80]: XenSource, Inc. Xen Platform Device (rev 01)

サポートされているオペレーティングシステムを使用しているが、NVMe デバイスが表示されない場合は、次の lsmod コマンドを使用して NVMe モジュールが読み込まれていることを確認します。

Copy
[ec2-user ~]$ lsmod | grep nvme nvme 48813 0

NVMe ボリュームは NVMe 1.0a 仕様に準拠しています。NVMe コマンドは NVMe ボリュームで使用できます。Amazon Linux AMI では、yum install コマンドを使用して repo から nvme-cli パッケージをインストールできます。サポートされているバージョンの Linux では、イメージで利用可能でない場合は nvme-cli パッケージをダウンロードできます。

インスタンスストアボリュームの TRIM のサポート

F1、I2、I3、R3 の各インスタンスでは、TRIM を持つ SSD ボリュームがサポートされます。

TRIM をサポートするインスタンスストアボリュームでは、TRIM コマンドを使用して、書き込んだデータが不要になったときに SSD コントローラーに通知することができます。これにより、より多くの空き領域がコントローラーに与えられ、その結果書き込み増幅が減り、パフォーマンスが向上します。TRIM コマンドの使用の詳細については、インスタンス用のオペレーティングシステムのドキュメントを参照してください。

TRIM をサポートしているインスタンスストアボリュームは、インスタンスに割り当てられる前に完全に TRIM が実行されます。これらのボリュームは、インスタンスの起動時にファイルシステムを使用してフォーマットされないため、マウントして使用する前にボリュームをフォーマットする必要があります。これらのボリュームを迅速に使用できるようにするには、ボリュームをフォーマットするときに、TRIM 操作をスキップする、ファイルシステム固有のオプションを指定する必要があります。Linux では、TRIM をサポートするデバイスでは、デバイスがこの機能を効果的に使用できるように、デバイスのマウントコマンドまたは /etc/fstab ファイルエントリに discard オプションを追加することも必要です。Windows では、fsutil behavior set DisableDeleteNotify 1 コマンドを入力します。

To make an instance store volume with TRIM support available for use on Linux

  1. Map the instance store volume when you launch the instance. For more information, see EC2 インスタンスにインスタンスストアボリュームを追加する.

  2. From the instance, list the available devices using the lsblk command or view the instance store volumes using instance metadata.

  3. Verify that your operating system and device support TRIM using the following command (replacing xvdb with the name of your device):

    Copy
    [ec2-user ~]$ sudo cat /sys/block/xvdb/queue/discard_max_bytes 322122547200

    If this command returns a value other than 0, then your operating system and device support TRIM.

  4. Format the volume with the file system of your choice.

    • (EXT4) To format the volume with the ext4 file system, use the following command (replacing xvdc with the name of your device):

      Copy
      [ec2-user ~]$ sudo mkfs.ext4 -E nodiscard /dev/xvdc
    • (XFS) To format the volume with the xfs file system, use the following command (replacing xvdb with the name of your device):

      Copy
      [ec2-user ~]$ sudo mkfs.xfs -K /dev/xvdb

      注記

      You might need to install XFS file system support on your operating system for this command to work. For Amazon Linux, use the sudo yum install -y xfsprogs command.

  5. Mount the device using the discard option. Be sure to specify the device name of the volume. You can select an existing directory or create a new one using the mkdir command.

    Copy
    [ec2-user ~]$ sudo mount -o discard /dev/xvdb /mnt/my-data
  6. (Optional) If you want the device to mount at boot time, you can add or modify an entry in the /etc/fstab file with the discard option.

    /dev/xvdb   /mnt/xvdb   xfs    defaults,nofail,discard   0   2
    /dev/xvdc   /mnt/xvdc   ext4   defaults,nofail,discard   0   2

    重要

    After you edit the /etc/fstab file, verify that there are no errors running the sudo mount -a command. If there are any errors in this file, the system may not boot properly or at all.

HI1 SSD ストレージ

HI1 インスタンスで SSD ストレージを使用する場合:

  • 主要なデータソースは、SSD ストレージを含むインスタンスストアです。

  • 読み取りパフォーマンスは一貫し、書き込みパフォーマンスは多様です。

  • 書き込み増幅が発生する可能性があります。

  • TRIM コマンドは現在サポートされていません。

SSD ストレージによるインスタンスストア

hi1.4xlarge インスタンスは Amazon EBS-Backed ルートデバイスを使用できます。ただし、その主要なデータストレージは、インスタンスストア内の SSD ボリュームによって提供されます。他のインスタンスストアボリュームと同様に、これらのインスタンスストアボリュームはインスタンスの運用期間中のみ永続化されます。hi1.4xlarge インスタンスのルートデバイスは Amazon EBS-Backed であるため、インスタンスを起動/停止できます。インスタンスを停止すると、アプリケーションは永続化されますが、インスタンスストアの運用データは永続化されません。インスタンスストアボリュームの詳細については、Amazon EC2 インスタンスストア を参照してください。

多様な書き込みパフォーマンス

書き込みパフォーマンスは、アプリケーションがどのように論理ブロックアドレス指定 (LBA) 空間を指定するかによって異なります。アプリケーションが LBA 空間全体を使用している場合、書き込みパフォーマンスが約 90% 低下する可能性があります。アプリケーションを評価し、キューの長さ (ボリュームに対する保留中の I/O リクエストの数) と I/O サイズを監視します。

書き込み増幅

書き込み増幅とは、フラッシュメモリと SSD に関連する望ましくない状況を指し、実際に書き込まれる物理的情報量が、意図した論理的書き込み量の倍数になることを意味します。フラッシュメモリは再書き込みする前に消去する必要があるので、これらのオペレーションを実行するプロセスでは、ユーザーデータとメタデータを 1 回以上移動 (または再書き込み) することになります。この増幅効果によって、SSD の運用期間中、必要な書き込みの数が増加し、信頼できる動作を実行する時間が短くなります。hi1.4xlarge インスタンスは、書き込み増幅を最小化することを目的とするプロビジョニングモデルを使用して設計されています。

ランダム書き込みは、シリアル書き込みよりも書き込み増幅に与える影響が大きくなります。書き込み増幅が懸念される場合は、ストレージの全テビバイト数よりも少ない容量をアプリケーションに割り当てます (オーバープロビジョニングとも呼ばれます)。

TRIM コマンド

TRIM コマンドによって、オペレーティングシステムは、以前に保存されたデータのブロックが使用されなくなったと見なされることを SSD に通知できます。TRIM によって、書き込み増幅の影響が制限されます。

TRIM のサポートは HI1 インスタンスでは利用できません。TRIM をサポートするインスタンスの詳細については、「インスタンスストアボリュームの TRIM のサポート」を参照してください。