Instance store volume limits for EC2 instances
The number, size, and type of instance store volumes are determined by the instance type.
Some instance types, such as M6, C6, and R6, do not support instance
store volumes, while other instance types, such as M5d, C6gd, and R6gd, do support instance
store volumes. You can’t attach more instance store volumes to an instance than is supported
by its instance type. For the instance types that do support instance store volumes, the number and
size of the instance store volumes vary by instance size. For example, m5d.large
supports 1 x 75 GB instance store volume, while m5d.24xlarge
supports 4 x 900
GB instance store volumes.
For instance types with NVMe instance store volumes, all of the supported instance store volumes are automatically attached to the instance at launch. For instance types with non-NVMe instance store volumes, such as C1, C3, M1, M2, M3, R3, D2, H1, I2, X1, and X1e, you must manually specify the block device mappings for the instance store volumes that you want to attach at launch. Then, after the instance has launched, you must format and mount the attached instance store volumes before you can use them. You can't attach an instance store volume after you launch the instance.
Some instance types use NVMe or SATA-based solid state drives (SSD), while others use SATA-based hard disk drives (HDD). SSDs deliver high random I/O performance with very low latency, but you don't need the data to persist when the instance terminates or you can take advantage of fault-tolerant architectures. For more information, see SSD instance store volumes for EC2 instances.
The data on NVMe instance store volumes and some HDD instance store volumes is encrypted at rest. For more information, see Data protection in Amazon EC2.
Available instance store volumes
The Amazon EC2 Instance Types Guide provides the quantity, size, type, and performance optimizations of instance store volumes available on each supported instance type. For more information, see the following:
To retrieve instance store volume information using the AWS CLI
You can use the describe-instance-types AWS CLI command to display information about an instance type, such as its instance store volumes. The following example displays the total size of instance storage for all R5 instances with instance store volumes.
aws ec2 describe-instance-types \ --filters "Name=instance-type,Values=r5*" "Name=instance-storage-supported,Values=true" \ --query "InstanceTypes[].[InstanceType, InstanceStorageInfo.TotalSizeInGB]" \ --output table
Example output
---------------------------
| 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 |
+----------------+--------+
The following example displays the complete instance storage details for the specified instance type.
aws ec2 describe-instance-types \ --filters "Name=instance-type,Values=r5d.4xlarge" \ --query "InstanceTypes[].InstanceStorageInfo"
The example output shows that this instance type has two 300 GB NVMe SSD volumes, for a total of 600 GB of instance storage.
[
{
"TotalSizeInGB": 600,
"Disks": [
{
"SizeInGB": 300,
"Count": 2,
"Type": "ssd"
}
],
"NvmeSupport": "required"
}
]