メニュー
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

  • AWS が提供する Ubuntu バージョン 16.10別のバージョンを使用している場合は、memory hot add の電源を切ることをお勧めします。

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

Red Hat Enterprise 7、CentOS 7、SUSE Linux Enterprise Server 12 は、カーネル更新の保留により、現時点では推奨されていません。

インスタンスに接続したら、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 では、nvme-cliyum install コマンドを使用して repo から パッケージをインストールできます。サポートされているバージョンの Linux では、イメージで利用可能でない場合は nvme-cli パッケージをダウンロードできます。

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

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

TRIM をサポートしているインスタンスストアボリュームは、インスタンスに割り当てられる前に完全に TRIM が実行されます。これらのボリュームは、インスタンスの起動時にファイルシステムを使用してフォーマットされないため、マウントして使用する前にボリュームをフォーマットする必要があります。これらのボリュームを迅速に使用できるようにするには、ボリュームをフォーマットするときに、TRIM 操作をスキップします。

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

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 インスタンスでは利用できません。