Storage optimized instances - Amazon Elastic Compute Cloud

Storage optimized instances

Storage optimized instances are designed for workloads that require high, sequential read and write access to very large data sets on local storage. They are optimized to deliver tens of thousands of low-latency, random I/O operations per second (IOPS) to applications.

D2 instances

These instances are well suited for the following:

  • Massive parallel processing (MPP) data warehouse

  • MapReduce and Hadoop distributed computing

  • Log or data processing applications

D3 and D3en instances

These instances offer scale out of instance storage and are well suited for the following:

  • Distributed file systems for Hadoop workloads

  • File storage workloads such as GPFC and BeeFS

  • Large data lakes for HPC workloads

H1 instances

These instances are well suited for the following:

  • Data-intensive workloads such as MapReduce and distributed file systems

  • Applications requiring sequential access to large amounts of data on direct-attached instance storage

  • Applications that require high-throughput access to large quantities of data

I3 and I3en instances

These instances are well suited for the following:

  • High frequency online transaction processing (OLTP) systems

  • Relational databases

  • NoSQL databases

  • Cache for in-memory databases (for example, Redis)

  • Data warehousing applications

  • Distributed file systems

Bare metal instances provide your applications with direct access to physical resources of the host server, such as processors and memory.

For more information, see Amazon EC2 I3 Instances.

Hardware specifications

The primary data storage for D2, D3, and D3en instances is HDD instance store volumes. The primary data storage for I3 and I3en instances is non-volatile memory express (NVMe) SSD instance store volumes.

Instance store volumes persist only for the life of the instance. When you stop, hibernate, or terminate an instance, the applications and data in its instance store volumes are erased. We recommend that you regularly back up or replicate important data in your instance store volumes. For more information, see Amazon EC2 instance store and SSD instance store volumes.

The following is a summary of the hardware specifications for storage optimized instances.

Instance type Default vCPUs Memory (GiB)
d2.xlarge 4 30.5
d2.2xlarge 8 61
d2.4xlarge 16 122
d2.8xlarge 36 244
d3.xlarge 4 32
d3.2xlarge 8 64
d3.4xlarge 16 128
d3.8xlarge 32 256
d3en.large 2 8
d3en.xlarge 4 16
d3en.2xlarge 8 32
d3en.4xlarge 16 64
d3en.6xlarge 24 96
d3en.8xlarge 32 128
d3en.12xlarge 48 192
h1.2xlarge 8 32
h1.4xlarge 16 64
h1.8xlarge 32 128
h1.16xlarge 64 256
i3.large 2 15.25
i3.xlarge 4 30.5
i3.2xlarge 8 61
i3.4xlarge 16 122
i3.8xlarge 32 244
i3.16xlarge 64 488
i3.metal 72 512
i3en.large 2 16
i3en.xlarge 4 32
i3en.2xlarge 8 64
i3en.3xlarge 12 96
i3en.6xlarge 24 192
i3en.12xlarge 48 384
i3en.24xlarge 96 768
i3en.metal 96 768

For more information about the hardware specifications for each Amazon EC2 instance type, see Amazon EC2 Instance Types.

For more information about specifying CPU options, see Optimize CPU options.

Instance performance

For instances with NVMe instance store volumes, be sure to use the AWS NVMe driver. For more information, see AWS NVMe drivers for Windows instances.

EBS-optimized instances enable you to get consistently high performance for your EBS volumes by eliminating contention between Amazon EBS I/O and other network traffic from your instance. Some storage optimized instances are EBS-optimized by default at no additional cost. For more information, see Amazon EBS–optimized instances.

Network performance

You can enable enhanced networking on supported instance types to provide lower latencies, lower network jitter, and higher packet-per-second (PPS) performance. Most applications do not consistently need a high level of network performance, but can benefit from access to increased bandwidth when they send or receive data. For more information, see Enhanced networking on Windows.

The following is a summary of network performance for storage optimized instances that support enhanced networking.

Instance type Network performance Enhanced networking
d2.xlarge Moderate Intel 82599 VF
d2.2xlarge | d2.4xlarge High Intel 82599 VF
i3.4xlarge and smaller Up to 10 Gbps † ENA
d2.8xlarge 10 Gbps Intel 82599 VF
i3.8xlarge | h1.8xlarge 10 Gbps ENA
d3.4xlarge and smaller Up to 15 Gbps † ENA
d3en.2xlarge and smaller | i3en.3xlarge and smaller Up to 25 Gbps † ENA
d3.8xlarge | d3en.4xlarge | h1.16xlarge | i3.16xlarge | i3.metal | i3en.6xlarge 25 Gbps ENA
d3en.6xlarge 40 Gbps ENA
d3.8xlarge | d3en.8xlarge | i3en.12xlarge 50 Gbps ENA
d3en.12xlarge 75 Gbps ENA
i3en.24xlarge | i3en.metal 100 Gbps ENA

† These instances have a baseline bandwidth and can use a network I/O credit mechanism to burst beyond their baseline bandwidth on a best effort basis. For more information, see instance network bandwidth.

Instance type Baseline bandwidth (Gbps) Burst bandwidth (Gbps)
d3.xlarge 3 15
d3.2xlarge 6 15
d3.4xlarge 12.5 15
d3en.large 3 25
d3en.xlarge 6 25
d3en.2xlarge 12.5 25
i3.large .75 10
i3.xlarge 1.25 10
i3.2xlarge 2.5 10
i3.4xlarge 5 10
i3en.large 2.1 25
i3en.xlarge 4.2 25
i3en.2xlarge 8.4 25
i3en.3xlarge 12.5 25

SSD I/O performance

If you use all the SSD-based instance store volumes available to your instance, you get the IOPS (4,096 byte block size) performance listed in the following table (at queue depth saturation). Otherwise, you get lower IOPS performance.

Instance Size 100% Random Read IOPS Write IOPS
i3.large *



i3.xlarge *


















i3en.large *



i3en.xlarge *



i3en.2xlarge *


















* For these instances, you can get up to the specified performance.

As you fill your SSD-based instance store volumes, the I/O performance that you get decreases. This is due to the extra work that the SSD controller must do to find available space, rewrite existing data, and erase unused space so that it can be rewritten. This process of garbage collection results in internal write amplification to the SSD, expressed as the ratio of SSD write operations to user write operations. This decrease in performance is even larger if the write operations are not in multiples of 4,096 bytes or not aligned to a 4,096-byte boundary. If you write a smaller amount of bytes or bytes that are not aligned, the SSD controller must read the surrounding data and store the result in a new location. This pattern results in significantly increased write amplification, increased latency, and dramatically reduced I/O performance.

SSD controllers can use several strategies to reduce the impact of write amplification. One such strategy is to reserve space in the SSD instance storage so that the controller can more efficiently manage the space available for write operations. This is called over-provisioning. The SSD-based instance store volumes provided to an instance don't have any space reserved for over-provisioning. To reduce write amplification, we recommend that you leave 10% of the volume unpartitioned so that the SSD controller can use it for over-provisioning. This decreases the storage that you can use, but increases performance even if the disk is close to full capacity.

For instance store volumes that support TRIM, you can use the TRIM command to notify the SSD controller whenever you no longer need data that you've written. This provides the controller with more free space, which can reduce write amplification and increase performance. For more information, see Instance store volume TRIM support.

Instance features

The following is a summary of features for storage optimized instances:

EBS only Instance store Placement group



















NVMe *




NVMe *


* The root device volume must be an Amazon EBS volume.

For more information, see the following:

Release notes

  • Instances built on the Nitro System have the following requirements:

    The current AWS Windows AMIs meet these requirements.

  • Launching a bare metal instance boots the underlying server, which includes verifying all hardware and firmware components. This means that it can take 20 minutes from the time the instance enters the running state until it becomes available over the network.

  • To attach or detach EBS volumes or secondary network interfaces from a bare metal instance requires PCIe native hotplug support.

  • Bare metal instances use a PCI-based serial device rather than an I/O port-based serial device. The upstream Linux kernel and the latest Amazon Linux AMIs support this device. Bare metal instances also provide an ACPI SPCR table to enable the system to automatically use the PCI-based serial device. The latest Windows AMIs automatically use the PCI-based serial device.

  • The d3.8xlarge and d3en.12xlarge instances support a maximum of three attachments, including the root volume. If you exceed the attachment limit when you add a network interface or EBS volume, this causes attachment issues on your instance.

  • There is a limit on the total number of instances that you can launch in a Region, and there are additional limits on some instance types. For more information, see How many instances can I run in Amazon EC2? in the Amazon EC2 FAQ.