| Did this page help you? Yes No Tell us about it... |
Topics
Amazon EC2 instances are grouped into the general families described in the following table.
| Family | Description |
|---|---|
|
Standard |
Have memory-to-CPU ratios suitable for most general purpose applications |
|
Micro |
Provide a small amount of consistent CPU resources and allow you to burst CPU capacity when additional cycles are available. They are well suited for lower throughput applications and web sites that consume significant compute cycles periodically (for more information, see Micro Instances ) |
|
High-CPU |
Have proportionally more CPU resources than memory (RAM) and are well suited for compute-intensive applications |
|
High-Memory |
Have proportionally more memory resources and are well suited for high throughput applications, such as database and memory caching applications |
|
Cluster Compute |
Have a very large amount of CPU coupled with increased networking performance, making them well suited for High Performance Compute (HPC) applications and other demanding network-bound applications (for more information, see Cluster Instance Concepts ) |
|
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 Cluster Instance Concepts ) |
![]() | 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. |
When you launch an instance, you specify the instance type (the value in the Name column in the following table). We launch an m1.small if you don't specify a particular instance type.
| Type | CPU | Memory | Local Storage | Platform | I/O | Name |
|---|---|---|---|---|---|---|
|
Small |
1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit) |
1.7 GB |
160 GB instance storage (150 GB plus 10 GB root partition) |
32-bit |
Moderate |
m1.small |
|
Large |
4 EC2 Compute Units (2 virtual cores with 2 EC2 Compute Units each) |
7.5 GB |
850 GB instance storage (2 x 420 GB plus 10 GB root partition) |
64-bit |
High |
m1.large |
|
Extra Large |
8 EC2 Compute Units (4 virtual cores with 2 EC2 Compute Units each) |
15 GB |
1690 GB instance storage (4 x 420 GB plus 10 GB root partition) |
64-bit |
High |
m1.xlarge |
|
Micro |
Up to 2 EC2 Compute Units (for short periodic bursts) |
613 MB |
None (use Amazon EBS volumes for storage) |
32-bit or 64-bit |
Low |
t1.micro |
|
High-CPU Medium |
5 EC2 Compute Units (2 virtual cores with 2.5 EC2 Compute Units each) |
1.7 GB |
350 GB instance storage (340 GB plus 10 GB root partition) |
32-bit |
Moderate |
c1.medium |
|
High-CPU Extra Large |
20 EC2 Compute Units (8 virtual cores with 2.5 EC2 Compute Units each) |
7 GB |
1690 GB instance storage (4 x 420 GB plus 10 GB root partition) |
64-bit |
High |
c1.xlarge |
|
High-Memory Extra Large |
6.5 EC2 Compute Units (2 virtual cores with 3.25 EC2 Compute Units each) |
17.1 GB |
420 GB instance storage (1 x 420 GB) |
64-bit |
Moderate |
m2.xlarge |
|
High-Memory Double Extra Large |
13 EC2 Compute Units (4 virtual cores with 3.25 EC2 Compute Units each) |
34.2 GB |
850 GB instance storage (1 x 840 GB plus 10 GB root partition) |
64-bit |
High |
m2.2xlarge |
|
High-Memory Quadruple Extra Large |
26 EC2 Compute Units (8 virtual cores with 3.25 EC2 Compute Units each) |
68.4 GB |
1690 GB instance storage (2 x 840 GB plus 10 GB root partition) |
64-bit |
High |
m2.4xlarge |
|
Cluster Compute Quadruple Extra Large |
33.5 EC2 Compute Units (2 x Intel Xeon X5570, quad-core "Nehalem" architecture) |
23 GB |
1690 GB instance 64-bit storage (2 x 840 GB plus 10 GB root partition) |
64-bit |
Very high (10 Gbps Ethernet) |
cc1.4xlarge |
|
Cluster Compute Eight Extra Large |
88 EC2 compute units ( 2 x Intel Xeon CPU with 8 cores) |
60.5 GB |
3370 GB instance (4 x 840 GB plus 10 GB root partition) |
64-bit |
Very high (10 Gbps Ethernet) |
cc2.8xlarge |
|
Cluster GPU Quadruple Extra Large |
33.5 EC2 Compute Units (2 x Intel Xeon X5570, quad-core "Nehalem" architecture), plus 2 NVIDIA Tesla M2050 "Fermi" GPUs |
22 GB (see note after this table) |
1690 GB instance (2 x 840 GB plus 10 GB root partition) |
64-bit |
Very high (10 Gbps Ethernet) |
cg1.4xlarge |
![]() | Note |
|---|---|
The cg1.x4large instance type has 23 GB of memory, with 1 GB reserved for GPU operation. The 22 GB doesn't include the on-board memory of the GPUs, which is 3 GB per GPU for the NVIDIA Tesla M2050. |
Amazon EC2 instances can run Microsoft Windows Server 2003, Microsoft Windows Server 2008 or Microsoft Windows Server 2008 R2. The Windows AMIs provide you with all standard Microsoft 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 EC2 API).
Bundling—Amazon instance store-backed Windows instances use different bundling procedures than Amazon instance store-backed Linux/UNIX instances. For more information, go to Creating an Instance Store-Backed Windows AMI in the Amazon EC2 Microsoft Windows Guide .
Amazon EC2 currently provides the following Windows 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)
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. To determine the internal DNS name, see Using Instance IP Addresses.
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 Appendix C: Windows Configuration Service.
Transitioning 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, go to 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.
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 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.
To help categorize and manage your instances, you can assign tags of your choice to them. For more information, see Using Tags .