Menu
Amazon Elastic Compute Cloud
User Guide for Linux Instances

Amazon EBS–Optimized Instances

An Amazon EBS–optimized instance uses an optimized configuration stack and provides additional, dedicated capacity for Amazon EBS I/O. This optimization provides the best performance for your EBS volumes by minimizing contention between Amazon EBS I/O and other traffic from your instance.

EBS–optimized instances deliver dedicated bandwidth to Amazon EBS, with options between 500 Mbps and 10,000 Mbps, depending on the instance type you use. When attached to an EBS–optimized instance, General Purpose SSD (gp2) volumes are designed to deliver within 10% of their baseline and burst performance 99% of the time in a given year, and Provisioned IOPS SSD (io1) volumes are designed to deliver within 10% of their provisioned performance 99.9% of the time in a given year. Both Throughput Optimized HDD (st1) and Cold HDD (sc1) guarantee performance consistency of 90% of burst throughput 99% of the time in a given year. Non-compliant periods are approximately uniformly distributed, targeting 99% of expected total throughput each hour. For more information, see Amazon EBS Volume Types.

When you enable EBS optimization for an instance that is not EBS–optimized by default, you pay an additional low, hourly fee for the dedicated capacity. For pricing information, see EBS-optimized Instances on the Amazon EC2 On-Demand Pricing page.

Instance Types that Support EBS Optimization

The following table shows which instance types support EBS optimization, the dedicated bandwidth to Amazon EBS, the maximum number of IOPS the instance can support if you are using a 16 KiB I/O size, and the typical maximum aggregate throughput that can be achieved on that connection in MiB/s with a streaming read workload and128 KiB I/O size . Choose an EBS–optimized instance that provides more dedicated EBS throughput than your application needs; otherwise, the connection between Amazon EBS and Amazon EC2 can become a performance bottleneck.

Note that some instance types are EBS–optimized by default. For instances that are EBS–optimized by default, there is no need to enable EBS optimization and there is no effect if you disable EBS optimization using the CLI or API. You can enable EBS optimization for the other instance types that support EBS optimization when you launch the instances, or enable EBS optimization after the instances are running.

Instance typeEBS-optimized by defaultMax. bandwidth (Mbps)*Expected throughput (MB/s)**Max. IOPS (16 KB I/O size)**
c1.xlarge 1,0001258,000
c3.xlarge 50062.54,000
c3.2xlarge 1,0001258,000
c3.4xlarge 2,00025016,000
c4.largeYes50062.54,000
c4.xlargeYes75093.756,000
c4.2xlargeYes1,0001258,000
c4.4xlargeYes2,00025016,000
c4.8xlargeYes4,00050032,000
d2.xlargeYes75093.756,000
d2.2xlargeYes1,0001258,000
d2.4xlargeYes2,00025016,000
d2.8xlargeYes4,00050032,000
g2.2xlarge 1,0001258,000
i2.xlarge 50062.54,000
i2.2xlarge 1,0001258,000
i2.4xlarge 2,00025016,000
m1.large 50062.54,000
m1.xlarge 1,0001258,000
m2.2xlarge 50062.54,000
m2.4xlarge 1,0001258,000
m3.xlarge 50062.54,000
m3.2xlarge 1,0001258,000
m4.largeYes45056.253,600
m4.xlargeYes75093.756,000
m4.2xlargeYes1,0001258,000
m4.4xlargeYes2,00025016,000
m4.10xlargeYes4,00050032,000
m4.16xlargeYes10,0001,25065,000
p2.xlargeYes75093.756,000
p2.8xlargeYes5,00062532,500
p2.16xlargeYes10,0001,25065,000
r3.xlarge 50062.54,000
r3.2xlarge 1,0001258,000
r3.4xlarge 2,00025016,000
r4.largeYes400503,000
r4.xlargeYes8001006,000
r4.2xlargeYes160020012,000
r4.4xlargeYes300040016,000
r4.8xlargeYes600080032,000
r4.16xlargeYes12,000150065,000
x1.16xlargeYes5,00062532,500
x1.32xlargeYes10,0001,25065,000

* These instance types must be launched as EBS-optimized to consistently achieve this level of performance.

** This value is a rounded approximation based on a 100% read-only workload and it is provided as a baseline configuration aid. EBS-optimized connections are full-duplex, and can drive more throughput and IOPS in a 50/50 read/write workload where both communication lanes are used. In some cases, network, file system, and Amazon EBS encryption overhead can reduce the maximum throughput and IOPS available.

Note that some instances with 10-gigabit network interfaces, such as i2.8xlarge and r3.8xlarge do not offer EBS-optimization, and therefore do not have dedicated EBS bandwidth available and are not listed here. On these instances, network traffic and Amazon EBS traffic is shared on the same 10-gigabit network interface. Some other 10-gigabit network instances, such as c4.8xlarge and d2.8xlarge offer dedicated EBS bandwidth in addition to a 10-gigabit interface which is used exclusively for network traffic.

Enabling EBS Optimization at Launch

You can enable EBS optimization for an instance by setting its EBS–optimized attribute.

To enable EBS optimization when launching an instance using the console

  1. Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/.

  2. Click Launch Instance. In Step 1: Choose an Amazon Machine Image (AMI), select an AMI.

  3. In Step 2: Choose an Instance Type, select an instance type that is listed as supporting EBS optimization.

  4. In Step 3: Configure Instance Details, complete the fields that you need and select Launch as EBS-optimized instance. If the instance type that you selected in the previous step doesn't support EBS optimization, this option is not present. If the instance type that you selected is EBS–optimized by default, this option is selected and you can't deselect it.

  5. Follow the directions to complete the wizard and launch your instance.

To enable EBS optimization when launching an instance using the command line

You can use one of the following options with the corresponding command. For more information about these command line interfaces, see Accessing Amazon EC2.

Modifying EBS Optimization for a Running Instance

You can enable or disable EBS optimization for a running instance by modifying its EBS–optimized instance attribute.

To enable EBS optimization for a running instance using the console

  1. Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/.

  2. In the navigation pane, click Instances, and select the instance.

  3. Click Actions, select Instance State, and then click Stop.

    Warning

    When you stop an instance, the data on any instance store volumes is erased. Therefore, if you have any data on instance store volumes that you want to keep, be sure to back it up to persistent storage.

  4. In the confirmation dialog box, click Yes, Stop. It can take a few minutes for the instance to stop.

  5. With the instance still selected, click Actions, select Instance Settings, and then click Change Instance Type.

  6. In the Change Instance Type dialog box, do one of the following:

    • If the instance type of your instance is EBS–optimized by default, EBS-optimized is selected and you can't deselect it. You can click Cancel, because EBS optimization is already enabled for the instance.

    • If the instance type of your instance supports EBS optimization, select EBS-optimized, and then click Apply.

    • If the instance type of your instance does not support EBS optimization, EBS-optimized is deselected and you can't select it. You can select an instance type from Instance Type that supports EBS optimization, select EBS-optimized, and then click Apply.

  7. Click Actions, select Instance State, and then click Start.

To enable EBS optimization for a running instance using the command line

You can use one of the following options with the corresponding command. For more information about these command line interfaces, see Accessing Amazon EC2.