Feature Guide: New Instance Types

Articles & Tutorials>Feature Guide: New Instance Types
Amazon EC2 is introducing new instance types. Each instance type provides a predictable amount of dedicated compute capacity and is charged per instance-hour consumed.

Details

Submitted By: Bruce@AWS
AWS Products Used: Amazon EC2
Created On: October 16, 2007 5:09 AM GMT
Last Updated: September 21, 2008 10:14 PM GMT

Available Amazon EC2 Instance Types

Small Instance (default) (1)

1.7 GB memory, 32-bit platform
1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit)
160 GB instance storage (150 GB plus 10 GB root partition)
Instance Type name: m1.small (used in EC2 APIs)
Price: $0.10 per instance hour

Large Instance

7.5 GB memory, 64-bit platform
4 EC2 Compute Units (2 virtual cores with 2 EC2 Compute Units each)
850 GB instance storage (2 x 420 GB plus 10 GB root partition)
Instance Type name: m1.large (used in EC2 APIs)
Price: $0.40 per instance hour

Extra Large Instance

15 GB memory, 64-bit platform
8 EC2 Compute Units (4 virtual cores with 2 EC2 Compute Units each)
1,690 GB instance storage (4 x 420 GB plus 10 GB root partition)
Instance Type name: m1.xlarge (used in EC2 APIs)
Price: $0.80 per instance hour


(1) The small instance type is equivalent to the original Amazon EC2 instance type that has been available since Amazon EC2 launched. This instance type is the default for all customers. To use other instance types, customers must specifically request them via the RunInstances API.

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 http://www.amazon.com/gp/browse.html?node=370375011.

Prerequisites

Before you begin, make sure you are using the right versions of our WSDL, API Tools, and API:

  • WSDL and API version: 2007-08-29 or later
  • API Tools: 1.2-13740 or later

Note: You can check version information using the ec2ver command.

Finding the Amazon Public 64-bit AMI

The large and extra large instances are 64-bit which require 64-bit AMIs. We provide a public 64-bit AMI that you can find by searching for public AMIs owned by Amazon with “x86_64” in the manifest path.

This example shows how to use the ec2dim command and grep to locate the 64-bit public AMI:       

ec2dim -o amazon | grep  x86_64
IMAGE   <ami-id>   ec2-public-images/fedora-core6-base-x86_64.manifest.xml 
amazon    available   public 

The original instance type (now called the small instance or m1.small), no change is required. It is a 32-bit instance; you can launch your previous 32-bit AMIs without changes.

Launching New Instance Types

To specify the instance type during launch, use the –instance-type command line option of the ec2-run-instances command.

This example starts an extra large instance:

ec2run <ami-id> --instance-type m1.xlarge -k <keypair>

This example starts a large instance:

ec2run <ami-id> --instance-type m1.large -k <keypair>

You can launch the original instance type (now called the small instance or m1.small) as before. Simply specify “—instance-type m1.small”, or leave it out and the small instance will launch by default.

This example starts a small instance:

ec2run <ami-id> --instance-type m1.small -k <keypair>
or
ec2run <ami-id> -k <keypair>

Describing Instances

The DescribeInstances response includes an additional instance level element named instanceType which displays the type of instance that is running (i.e., m1.small, m1.large, or m1.xlarge).
The following is an example of output from the DescribeInstances response:

$ ec2din
RESERVATION     r-5824c031      416161254515    default
INSTANCE        i-edb05684      ami-b98d68d0    ec2-72-44-47-95.z-3.compute-1.amazonaws.com      domU-12-31-35-00-3C-81.z-2.compute-1.internal   running    0   m1.xlarge   2007-07-13T15:13:36+0000
RESERVATION     r-46de3a2f      416161254515    default
INSTANCE        i-85af49ec      ami-2bb65342    ec2-72-44-56-99.z-3.compute-1.amazonaws.com      domU-12-31-36-00-34-C3.z-1.compute-1.internal   running    0   m1.small   2007-08-10T16:00:09+0000

The RunInstances and DescribeInstances (ec2run and ec2din, respectively) now return the timestamp at which the instance launched. The timestamp is different from uptime as it will remain constant even if an instance is rebooted. For example:

$ ec2run ami-b98d68d0 --instance-type m1.xlarge
RESERVATION      r-6b42a302      416161254515    default
INSTANCE         i-e548a58c      ami-b98d68d0    pending         0               m1.xlarge  2007-08-17T13:09:28+0000
$ ec2din
RESERVATION      r-6b42a302      416161254515    default
INSTANCE         i-e548a58c      ami-b98d68d0     ec2-72-44-47-95.z-3.compute-1.amazonaws.com     domU-12-31-35-00-3C-81.z-2.compute-1.internal   running    0   m1.xlarge  2007-07-13T15:13:36+0000

Instance Storage

Instance storage on the small instance is identical to the original instance.

Instance storage on the new instance types is exposed as follows:

  • /dev/sdb (/mnt on large and extra large instance types)
  • /dev/sdc (on large and extra large instance types, not mounted)
  • /dev/sdd (on extra large instance types, not mounted)
  • /dev/sde (on extra large instance types, not mounted)

Instance storage is subject to the same constraints as the ephemeral store of the original instance. The disk contents will survive a reboot of the instance (or the host machine), but will be lost when the instance is terminated.

Note: /dev/sda2 is no longer exposed to the instance. Additionally, the openssh keypair is no longer written to any of the auxiliary storage devices (it is available through the instance meta-data URL).

For more information, see the "Disk Performance Optimization" section of the Amazon EC2 Developer Guide.

Obtaining the Instance Type via Instance Meta-Data

The instance type is exposed as part of the instance meta-data. It can be queried from within an instance as follows:

GET http://169.254.169.254/2007-08-29/meta-data/instance-type
m1.xlarge

Bundling Instances

To bundle instances, please use our new AMI Tools. These tools can bundle any of the three available instance types.

Previous versions of the tool chose a fixed fstab file. The new tools pick the appropriate fstab file for the instance type or allow you to override the file. The new tools can bundle 64-bit or 32-bit AMIs.

FAQs

Please review the Technical FAQs section of the Amazon EC2 Developer Guide, especially the FAQs in the “Instance Types and Architecture” section.

Comments

Agree with Darrell
IntanceTypes are great but I'd like to know if there is a way to modify an existing AMI to run on larger instances without rebundling it? Haven't been able to find anything in the docs...
sequoyan on January 11, 2008 8:56 PM GMT
how can I upgrade my instance?
I have an instance I generated from fedora core4 as instance-type 'm1.small'. Now I have bigger computing needs (yay!) and would like to upgrade. When I just specify "--instance-type m1.large" to ec2-run-instances I get the error "Client.InvalidParameterValue: The requested instance type does not agree with the architecture specified in the AMI manifest." How can I upgrade the instance to more cpu/ram w/o having to recreate a new image from scratch?
Darrell Silver on December 4, 2007 5:28 AM GMT
Feedback to Amazon
AWS, I know that AWS wants feedback from the EC2 users. Well this note is to say you have done a 100% job. We needed a flexable and elastic resource. You have meet my needs. We wanted a Data Base Server for Master Builds and now we have a great platform. I know that the wish list goes on and on..... I will keep learning and growing with this project. Please keep us on the know, a road map would be great. Edward M. Goldberg AdBrite.com
Edward Goldberg on October 31, 2007 12:10 AM GMT
Correction
The dash in '-o' is an emdash, so you can't copy and paste that command. If you retype it, it will work fine (hopefully amazon will discover this and fix it soon).
Mr Morgan J Tocker on October 29, 2007 3:01 AM GMT
with latest tools got one error
ec2dim —o amazon | grep x86_64 Client.InvalidAMIID.Malformed: Invalid id: "—o" (expecting "ami-...")
Thomas G. Murdock on October 16, 2007 10:48 AM GMT
We are temporarily not accepting new comments.
©2014, Amazon Web Services, Inc. or its affiliates. All rights reserved.