Amazon Elastic Compute Cloud
User Guide (API Version 2013-02-01)
« PreviousNext »
View the PDF for this guide.Go to the AWS Discussion Forum for this product.Go to the Kindle Store to download this guide in Kindle format.Did this page help you?  Yes | No |  Tell us about it...

Instance Families and Types

Amazon Elastic Compute Cloud (Amazon EC2) instances are grouped into the general families described in the following table.

FamilyDescription

Cluster Compute

Have a very large amount of CPU coupled with increased networking performance. They're well-suited for High Performance Compute (HPC) applications and other demanding network-bound applications. For more information, see Overview.

Cluster GPU

Provide general-purpose graphics processing units (GPUs), with proportionally high CPU and increased network performance for applications that benefit from highly parallelized processing. They're well-suited for HPC applications as well as rendering and media processing applications. For more information, see Overview.

High CPU

Have proportionally more CPU resources than memory (RAM). They're well-suited for compute-intensive applications.

High I/OProvide tens of thousands of low-latency, random I/O operations per second (IOPS) to an application. They're well-suited for NoSQL databases, clustered databases, and OLTP (online transaction processing) systems. For more information, see High I/O Instances.

High Memory

Have proportionally more memory resources. They're well suited for high-throughput applications, such as database and memory caching applications.

High-Memory Cluster

Have large amounts of memory coupled with high CPU and network performance. These instances are well suited for in-memory analytics, graph analysis, and scientific computing applications.

High StorageProvide very high storage density and high sequential read and write performance per instance. They are well-suited for data warehousing, Hadoop/MapReduce, and parallel file systems. For more information, see High Storage Instances.

Micro

Provide a small amount of consistent CPU resources and enable you to burst CPU capacity when additional cycles are available. They're well-suited for lower throughput applications and websites that consume significant compute cycles periodically. For more information, see Micro Instances.

Standard

Have memory-to-CPU ratios suitable for most general-purpose applications.

Tip

One of the advantages of Amazon EC2 is that you pay by the instance hour, which makes it convenient and inexpensive to test the performance of your application on different instance families and types. A good way to determine the most appropriate instance family and instance type is to launch test instances and benchmark your application.

Available Instance Types

When you launch an instance, you specify the instance type. If you don't specify an instance type when you launch an instance, the default is an M1 Small (m1.small) instance.

NameMemoryCompute UnitsVirtual CoresInstance Store Volumes*ArchitectureI/O PerformanceAvailable for Spot InstanceAPI Name
Cluster Compute

Cluster Compute Eight Extra Large

60.5 GiB

88

16 (2 x Intel Xeon E5-2670, eight-core with hyperthread)

3360 GiB (4 x 840 GiB)

64-bit

Very high (10 Gbps Ethernet)

Yes

cc2.8xlarge

Cluster Compute Quadruple Extra Large

22.5 GiB

33.5

8 (2 x Intel Xeon X5570, quad-core with hyperthread)

1690 GiB (2 x 840 GiB)

64-bit

Very high (10 Gbps Ethernet)

Yes

cc1.4xlarge

Cluster GPU

Cluster GPU Quadruple Extra Large**

22.5 GiB (see note after this table)

33.5

8 (2 x Intel Xeon X5570, quad-core with hyperthread), plus 2 NVIDIA Tesla M2050 GPUs

1680 GiB (2 x 840 GiB)

64-bit

Very high (10 Gbps Ethernet)

Yes

cg1.4xlarge

High CPU

High-CPU Extra Large

7 GiB

20

8 (with 2.5 ECUs each)

1680 GiB (4 x 420 GiB)

64-bit

High

Yes

c1.xlarge

High-CPU Medium

1.7 GiB

5

2 (with 2.5 ECUs each)

340 GiB (1 x 340 GiB)

32-bit and 64-bit

Moderate

Yes

c1.medium

High I/O

High I/O Quadruple Extra Large***

60.5 GiB

35

8 (with 4.37 ECUs each)

2 TiB (2 x 1 TiB SSD)

64-bit

Very high (10 Gbps Ethernet)

No

hi1.4xlarge

High Memory

High-Memory Double Extra Large

34.2 GiB

13

4 (with 3.25 ECUs each)

840 GiB (1 x 840 GiB)

64-bit

High

Yes

m2.2xlarge

High-Memory Extra Large

17.1 GiB

6.5

2 (with 3.25 ECUs each)

410 GiB (1 x 410 GiB)

64-bit

Moderate

Yes

m2.xlarge

High-Memory Quadruple Extra Large

68.4 GiB

26

8 (with 3.25 ECUs each)

1680 GiB (2 x 840 GiB)

64-bit

High

Yes

m2.4xlarge

High-Memory Cluster

High-Memory Cluster Eight Extra Large

244 GiB

88

16 (2 x Intel Xeon E5-2670, eight-core)

240 GiB (2 x 120 GiB SSD)

64-bit

Very high (10 Gbps Ethernet)

Yes

cr1.8xlarge

High Storage

High Storage Eight Extra Large

117 GiB

35

16 (8 cores + 8 hyperthreads)

48 TiB (24 x 2 TiB hard disk drives)

64-bit

Very high (10 Gbps Ethernet)

No

hs1.8xlarge

Micro

Micro

615 MiB

Up to 2 (for short periodic bursts)

1

None (use Amazon EBS volumes for storage)

32-bit and 64-bit

Low

Yes

t1.micro

Standard

M1 Extra Large

15 GiB

8

4 (with 2 ECUs each)

1680 GB (4 x 420 GiB)

64-bit

High

Yes

m1.xlarge

M1 Large

7.5 GiB

4

2 (with 2 ECUs each)

840 GiB (2 x 420 GiB)

64-bit

Moderate

Yes

m1.large

M1 Medium

3.75 GiB

2

1

400 GiB (1 x 400 GiB)

32-bit and 64-bit

Moderate

Yes

m1.medium

M1 Small

1.7 GiB

1

1

150 GiB (1 x 150 GiB)

32-bit and 64-bit

Moderate

Yes

m1.small

M3 Double Extra Large

30 GiB

26

8 (with 3.25 ECUs each)

EBS storage only

64-bit

High

Yes

m3.2xlarge

M3 Extra Large

15 GiB

13

4 (with 3.25 ECUs each)

EBS storage only

64-bit

Moderate

Yes

m3.xlarge

*Instance store volumes may not be mounted by default. For more information, see Instance Store Device Names.

**The cg1.4xlarge instance type has 1 GiB reserved for GPU operation. The 21.5 GiB doesn't include the on-board memory of the GPUs, which is 3 GiB per GPU for the NVIDIA Tesla M2050. Before you launch your first cg1.4xlarge instance, complete the Amazon EC2 instance request form.

***The hi1.4xlarge instance type is based on solid-state drive (SSD) technology. For more information, see High I/O Instances.

EBS-Optimized Instances

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

EBS optimization enables instances to fully utilize the IOPS provisioned on an EBS volume. EBS-optimized instances deliver dedicated throughput to EBS, with options between 500 Mbps and 1,000 Mbps, depending on the instance type you use. When attached to an EBS-optimized instance, Provisioned IOPS volumes are designed to deliver within 10 percent of their provisioned performance 99.9 percent of the time in a given year. For more information, see Provisioned IOPS Volumes.

The following instance types can be launched as EBS-optimized instances:

  • High-CPU Extra Large (c1.xlarge)

  • M1 Large (m1.large)

  • M1 Extra Large (m1.xlarge)

  • High-Memory Double Extra Large (m2.2xlarge)

  • High-Memory Quadruple Extra Large (m2.4xlarge)

  • M3 Extra Large (m3.xlarge)

  • M3 Double Extra Large (m3.2xlarge)

When you use an EBS-optimized instance, you pay an additional low, hourly fee for the dedicated capacity.

Private IP Addresses Per ENI Per Instance Type

The following table lists the maximum number of Elastic Network Interfaces (ENI) per EC2 instance type and the maximum number of private IP addresses per ENI. ENIs and multiple private IP addresses are only available in EC2 instances running in Amazon Virtual Private Cloud. For more information, see Multiple IP Addresses.

TypeNameElastic Network Interfaces (ENI)Private IP Addresses per ENI

Cluster Compute Eight Extra Large

cc2.8xlarge

8

30

Cluster Compute Quadruple Extra Large

cc1.4xlarge

N/A

N/A

Cluster GPU Quadruple Extra Large

cg1.4xlarge

8

30

High-CPU Extra Large

c1.xlarge

4

15

High-CPU Medium

c1.medium

2

6

High I/O Quadruple Extra Large

hi1.4xlarge

8

30

High-Memory Double Extra Large

m2.2xlarge

4

30

High-Memory Extra Large

m2.xlarge

4

15

High-Memory Quadruple Extra Large

m2.4xlarge

8

30

High-Memory Cluster Eight Extra Large

cr1.8xlarge

8

30

High Storage Eight Extra Large

hs1.8xlarge

8

30

M1 Extra Large

m1.xlarge

4

15

M1 Large

m1.large

3

10

M1 Medium

m1.medium

2

6

M1 Small

m1.small

2

4

M3 Double Extra Large

m3.2xlarge

4

30

M3 Extra Large

m3.xlarge

4

15

Micro

t1.micro

2

2

Windows Instance Types

Amazon EC2 instances can run Microsoft Windows Server 2003, Windows Server 2008, Windows Server 2008 R2, or Windows Server 2012. The Windows AMIs provide you with all standard Windows Server functionality.

Using Amazon EC2 instances running Windows is similar to using instances running Linux/UNIX. The following are the major differences between instances that use Linux/UNIX and Windows:

  • Remote Desktop—To access Windows instances, you use Remote Desktop instead of SSH.

  • Administrative Password—To access Windows instances the first time, you must obtain the administrative password (available through the AWS Management Console, the command line tools, or the Amazon EC2 API).

  • Bundling—Amazon instance store-backed Windows instances requires different bundling procedures than Amazon instance store-backed Linux/UNIX instances. For more information, see Creating an Instance Store-Backed Windows AMI in the Amazon EC2 Microsoft Windows Guide .

Amazon EC2 currently provides the following Windows Server AMIs:

  • Microsoft Windows Server 2003 (32-bit)

  • Microsoft Windows Server 2003 (64-bit)

  • Microsoft Windows Server 2008 (32-bit)

  • Microsoft Windows Server 2008 (64-bit)

  • Microsoft Windows Server 2008 R2 (64-bit)

  • Microsoft Windows Server 2012 (64-bit)

The Windows public AMIs that Amazon provides are unmodified versions of Windows with the following two exceptions: we added drivers to improve the networking and disk I/O performance and we created the Amazon EC2 configuration service. The Amazon EC2 configuration service performs the following functions:

  • Randomly sets the Administrator password on initial launch, encrypts the password with the user’s SSH key, and reports it to the console. This operation happens upon initial AMI launch. If you change the password, AMIs that are created from this instance use the new password.

  • Configures the computer name to the internal DNS name. For more information about how to determine the internal DNS name, see Amazon EC2 Instance IP Addressing.

  • Sends the last three system and application errors from the event log to the console. This helps developers to identify problems that caused an instance to crash or network connectivity to be lost.

For more information about the EC2 configuration service, see Using Ec2Config Service in the Microsoft Windows Guide.

Compute Resources Measurement

Changing to a utility computing model changes how developers are trained to think about CPU resources. Instead of purchasing or leasing a particular processor to use for several months or years, you are renting capacity by the hour. Because Amazon EC2 is built on commodity hardware, over time there might be several different types of physical processors underlying different virtual EC2 instances. Our goal is to provide a consistent amount of CPU capacity regardless of the actual underlying hardware.

Amazon EC2 uses a variety of measures to provide each instance with a consistent and predictable amount of CPU capacity. To make it easy for developers to compare CPU capacity between different instance types, we defined an Amazon EC2 Compute Unit. One EC2 Compute Unit provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor. This is also the equivalent to an early-2006 1.7 GHz Xeon processor referenced in our original documentation.

Note

We use several internal benchmarks and tests to manage the consistency and predictability of the performance of an Amazon EC2 Compute Unit. For more information, see the Instance page.

To find out which instance works best for your application, we recommend launching an instance and using your own benchmark application. This helps you determine which instance type works best for your specific use case.

I/O Resources

Amazon EC2 provides virtualized server instances. Whereas some resources like CPU, memory, and instance storage are dedicated to a particular instance, other resources such as the network and the disk subsystem are shared among instances. If each instance on a physical host tries to use as much of one of these shared resources as possible, each receives an equal share of that resource. However, when a resource is under-utilized, you are often able to consume a higher share of that resource while it is available.

The different instance types provide higher or lower minimum performance from the shared resources depending on their size. Each of the instance types has an I/O performance indicator (low, moderate, high, etc.). Instance types with high I/O performance have a larger allocation of shared resources. Allocating a larger share of shared resources also reduces the variance of I/O performance. For most applications, moderate I/O performance is more than enough. However, for applications that require greater or more consistent I/O performance, consider instances with higher I/O performance.

Instance Tags

To help categorize and manage your instances, you can assign tags of your choice to them. For more information, see Tagging Your Amazon EC2 Resources.