Amazon EC2 インスタンスストア - Amazon Elastic Compute Cloud

Amazon EC2 インスタンスストア

インスタンスストアは、インスタンス用のブロックレベルの一時ストレージを提供します。このストレージは、ホストコンピュータに物理的にアタッチされたディスク上にあります。インスタンスストアは、バッファ、キャッシュ、スクラッチデータ、その他の一時的データのように頻繁に変化する情報の一時的なストレージに最適です。また、負荷分散されたウェブサーバーのプールなど、インスタンスのフリート全体で複製する一時データを保存するためにも使用できます。

インスタンスストアは、ブロックデバイスとして表示される 1 つ以上のインスタンスストアボリュームで構成されます。インスタンスストアのサイズと、利用可能なデバイスの数は、インスタンスタイプおよびインスタンスサイズによって異なります。詳細については、「インスタンスストアボリューム」を参照してください。

インスタンスストアボリュームの仮想デバイスは ephemeral[0-23] ] です。1 つのインスタンスストアボリュームをサポートするインスタンスタイプには、ephemeral0 があります。2 つ以上のインスタンスストアボリュームをサポートするインスタンスタイプは、ephemeral0ephemeral1 などを持ちます。

Amazon EC2 インスタンスストレージ
インスタンスストアの価格

インスタンスストアボリュームは、インスタンスの使用料に含まれます。

インスタンスストアボリュームとデータライフタイム

インスタンスストアボリュームの数、サイズ、タイプは、インスタンスタイプとインスタンスサイズによって決まります。詳細については、「インスタンスストアボリューム」を参照してください。

インスタンスストアボリュームは、インスタンスの起動時にのみアタッチされます。起動後にインスタンスストアボリュームをアタッチすることはできません。1 つのインスタンスからインスタンスストアをデタッチして別のインスタンスにアタッチすることはできません。

インスタンスストアボリュームは、アタッチされているインスタンスのライフタイム中にのみ存在します。インスタンスストアボリュームが、関連付けられたインスタンスのライフタイムを超えて維持されるように設定することはできません。

インスタンスストアボリューム上のデータは、インスタンスが再起動しても保持されます。ただし、インスタンスが停止、休止、終了するとデータは消滅します。インスタンスが停止、休止、終了した場合、インスタンスストアボリュームのすべてのブロックが暗号で消去されます。

このため、長期的に使用する重要なデータがある場合は、インスタンスストアに頼りすぎないようにしてください。インスタンスストアボリュームに保存されているデータを、インスタンスのライフタイムを超えて保持する必要がある場合は、そのデータを Amazon EBS ボリューム、Amazon S3 バケット、Amazon EFS ファイルシステムなどのより永続的なストレージに手動でコピーする必要があります。

イベントによっては、インスタンスのライフタイムを通じてデータが保持されなくなる場合があります。次の表は、仮想インスタンスとベアメタルインスタンスの両方について、特定のイベント中にインスタンスストアボリュームのデータが保持されるかどうかを示しています。

イベント データはどうなりますか?
ユーザー主導のインスタンスライフサイクルイベント
インスタンスが再起動されます。 The data persists
インスタンスが停止しました。 The data does not persist
インスタンスが休止しました。 The data does not persist
インスタンスが終了しました。 The data does not persist
インスタンスタイプが変更されます。 The data does not persist *
EBS-backed AMI はインスタンスから作成されます。 The data does not persist in the created AMI **
Instance Store-Backed AMI はインスタンスから作成されます。 (Linux instances) The data persists in the AMI bundle uploaded to Amazon S3 ***
ユーザー主導の OS イベント
A shutdown is initiated The data does not persist †
A restart is initiated The data persists
AWS で予定されているイベント
インスタンスの停止 The data does not persist
インスタンスの再起動 The data persists
システムの再起動 The data persists
インスタンスのリタイア The data does not persist
想定外のイベント
簡易自動復旧 The data does not persist
CloudWatch アクションに基づく復旧 The data does not persist
The underlying disk fails The data on the failed disk does not persist
Power failure The data persists upon reboot

* 新しいインスタンスタイプがインスタンスストアをサポートしている場合、インスタンスは新しいインスタンスタイプがサポートしているインスタンスストアボリュームの数を取得しますが、データは新しいインスタンスに転送されません。新しいインスタンスタイプがインスタンスストアをサポートしていない場合、インスタンスは、インスタンスストアボリュームを取得しません。

** データは EBS-backed AMI には含まれず、その AMI から起動されたインスタンスにアタッチされたインスタンスストアボリュームにも含まれません。

*** データは、Amazon S3 にアップロードされる AMI バンドルに含まれます。その AMI からインスタンスを起動すると、インスタンスは、AMI の作成時に含まれていたデータとともに AMI にバンドルされたインスタンスストアボリュームを取得します。

† 終了保護と停止保護は、インスタンスのオペレーティングシステムを通じて開始したシャットダウンの結果、インスタンスが停止または終了することに対してインスタンスを保護しません。インスタンスストアボリュームに保存されたデータは、インスタンスの停止イベントと終了イベントの両方で保持されません。

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

インスタンスストアボリュームの数、サイズ、タイプは、インスタンスタイプとインスタンスサイズによって決まります。M6、C6、R6 などの一部のインスタンスタイプはインスタンスストアボリュームをサポートしていませんが、M5d、C6gd、R6gd などのその他のインスタンスタイプはインスタンスストアボリュームをサポートしています。1 つのインスタンスに、そのインスタンスタイプでサポートされる量を超えるインスタンスストアボリュームをアタッチすることはできません。インスタンスストアボリュームをサポートするインスタンスタイプの場合、インスタンスストアボリュームの数とサイズは、インスタンスサイズによって異なります。例えば、m5d.large は 1 x 75 GB のインスタンスストアボリュームをサポートし、m5d.24xlarge は 4 x 900 GB のインスタンスストアボリュームをサポートします。

NVMe インスタンスストアボリュームを使用するインスタンスタイプでは、サポートされているすべてのインスタンスストアボリュームが、起動時に自動的にインスタンスにアタッチされます。C1、C3、M1、M2、M3、R3、D2、H1、I2、X1、X1e など、NVMe 以外のインスタンスストアボリュームのインスタンスタイプでは、起動時にアタッチするインスタンスストアボリュームのブロックデバイスマッピングを手動で指定する必要があります。次に、インスタンスが起動したら、アタッチされたインスタンスストアボリュームを使用する前に、フォーマットしてマウントする必要があります。インスタンスの起動後にインスタンスストアボリュームをアタッチすることはできません。

インスタンスタイプには、NVMe または SATA ベースのソリッドステートドライブ (SSD) を使用するものと、SATA ベースのハードディスクドライブ (HDD) を使用するものがあります。SSD は、極めて低いレイテンシーで高いランダム I/O パフォーマンスを提供しますが、インスタンスの終了時にデータを保持する必要はなく、フォールトトレラントアーキテクチャを活用できます。詳細については、「SSD インスタンスストアボリューム」を参照してください。

NVMe インスタンスストアボリューム、および一部の HDD インスタンスストアボリュームにあるデータは、その保存時に暗号化されます。詳細については、「Amazon EC2 でのデータ保護」を参照してください。

使用可能なインスタンスストアボリューム

「Amazon EC2 Instance Types ガイド」には、サポートされている各インスタンスタイプで使用できる、インスタンスストアボリュームの数量、サイズ、タイプ、パフォーマンス最適化を記載しています。詳細については、次を参照してください:

AWS CLI を使用してインスタンスストアボリューム情報を取得するには

describe-instance-types AWS CLI コマンドを使用して、インスタンスストアボリュームなど、インスタンスタイプに関する情報を表示できます。次の例では、インスタンスストアボリュームを持つすべての R5 インスタンスのインスタンスストレージの合計サイズを表示します。

aws ec2 describe-instance-types \ --filters "Name=instance-type,Values=r5*" "Name=instance-storage-supported,Values=true" \ --query "InstanceTypes[].[InstanceType, InstanceStorageInfo.TotalSizeInGB]" \ --output table

出力例

--------------------------- | DescribeInstanceTypes | +----------------+--------+ | r5ad.24xlarge | 3600 | | r5ad.12xlarge | 1800 | | r5dn.8xlarge | 1200 | | r5ad.8xlarge | 1200 | | r5ad.large | 75 | | r5d.4xlarge | 600 | . . . | r5dn.2xlarge | 300 | | r5d.12xlarge | 1800 | +----------------+--------+

次の例では、指定されたインスタンスタイプの完全なインスタンスストレージの詳細を表示します。

aws ec2 describe-instance-types \ --filters "Name=instance-type,Values=r5d.4xlarge" \ --query "InstanceTypes[].InstanceStorageInfo"

出力例は、このインスタンスタイプに 300 GB の NVMe SSD ボリュームが 2 つあり、合計 600 GB のインスタンスストレージがあることを示しています。

[ { "TotalSizeInGB": 600, "Disks": [ { "SizeInGB": 300, "Count": 2, "Type": "ssd" } ], "NvmeSupport": "required" } ]