AWS home page

Learn About AWS

AWS Home
Why Use AWS?
What's New in AWS?
Upcoming Events
Success Stories
Solutions Catalog
Create an Account
Contact Us
Careers at AWS
FAQs



Browse Web Services

Amazon Associates Web Service
Amazon Elastic Compute Cloud (Beta)
Amazon Flexible Payments Service (Beta)
Amazon Mechanical Turk (Beta)
Amazon SimpleDB (Beta)
Amazon Simple Storage Service
Amazon Simple Queue Service
Alexa Web Services

Browse All Web Services



Use Amazon to Bill Your Customers
Amazon DevPay (Beta)

Developer Connection

Resource Center
Forums
Blog
Newsletter
User Groups



 
 

Amazon Elastic Compute Cloud (Amazon EC2) - Beta

Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in the cloud. It is designed to make web-scale computing easier for developers.

Just as Amazon Simple Storage Service (Amazon S3) enables storage in the cloud, Amazon EC2 enables "compute" in the cloud. Amazon EC2's simple web service interface allows you to obtain and configure capacity with minimal friction. It provides you with complete control of your computing resources and lets you run on Amazon's proven computing environment. Amazon EC2 reduces the time required to obtain and boot new server instances to minutes, allowing you to quickly scale capacity, both up and down, as your computing requirements change. Amazon EC2 changes the economics of computing by allowing you to pay only for capacity that you actually use.

Amazon EC2 Functionality

Amazon EC2 presents a true virtual computing environment, allowing you to use web service interfaces to requisition machines for use, load them with your custom application environment, manage your network's access permissions, and run your image using as many or few systems as you desire.

To use Amazon EC2, you simply:

  • Create an Amazon Machine Image (AMI) containing your applications, libraries, data and associated configuration settings. Or use our pre-configured, templated images to get up and running immediately.
  • Upload the AMI into Amazon S3. Amazon EC2 provides tools that make storing the AMI simple. Amazon S3 provides a safe, reliable and fast repository to store your images.
  • Use Amazon EC2 web service to configure security and network access.
  • Choose the type(s) of instance you want to run.
  • Start, terminate, and monitor as many instances of your AMI as needed, using the web service APIs.
  • Pay for the instance-hours and bandwidth that you actually consume.

Service Highlights

  • Elastic
    Amazon EC2 enables you to increase or decrease capacity within minutes, not hours or days. You can commission one, hundreds or even thousands of server instances simultaneously. Of course, because this is all controlled with web service APIs, your application can automatically scale itself up and down depending on its needs.

  • Completely Controlled
    You have complete control of your instances. You have root access to each one, and you can interact with them as you would any machine.  Instances can be rebooted remotely using web service APIs. You also have access to console output of your instances.

  • Flexible
    You have the choice of several instance types, allowing you to select a configuration of memory, CPU, and instance storage that is optimal for your application.

  • Designed for use with Amazon S3
    Amazon EC2 works in conjunction with Amazon Simple Storage Service (Amazon S3) to provide a combined solution for computing and storage across a wide range of applications.

  • Reliable
    Amazon EC2 offers a highly reliable environment where replacement instances can be rapidly and reliably commissioned. The service runs within Amazon's proven network infrastructure and datacenters.

  • Secure
    Amazon EC2 provides web service interfaces to configure firewall settings that control network access to and between groups of instances.

  • Inexpensive
    Amazon EC2 passes on to you the financial benefits of Amazon's scale. You pay a very low rate for the compute capacity you actually consume. Compare this with the significant up-front expenditures traditionally required to purchase and maintain hardware, either in-house or hosted. This frees you from many of the complexities of capacity planning, transforms what are commonly large fixed costs into much smaller variable costs, and removes the need to over-buy "safety net" capacity to handle periodic traffic spikes.

Pricing

Pay only for what you use. There is no minimum fee. Estimate your monthly bill using AWS Simple Monthly Calculator.

Instances

$0.10 - Small Instance (Default)

    1.7 GB of memory, 1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit), 160 GB of instance storage, 32-bit platform

$0.40 - Large Instance

    7.5 GB of memory, 4 EC2 Compute Units (2 virtual cores with 2 EC2 Compute Units each), 850 GB of instance storage, 64-bit platform

$0.80 - Extra Large Instance

    15 GB of memory, 8 EC2 Compute Units (4 virtual cores with 2 EC2 Compute Units each), 1690 GB of instance storage, 64-bit platform

Pricing is per instance-hour consumed for each instance type. Partial instance-hours consumed are billed as full hours.

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. See Measuring Compute Resources for a complete description of an EC2 Compute Unit.

See Amazon EC2 Instance Types for details on available instance configurations.
 

Data Transfer

$0.10 per GB - all data transfer in

$0.18 per GB - first 10 TB / month data transfer out
$0.16 per GB - next 40 TB / month data transfer out
$0.13 per GB - data transfer out / month over 50 TB

Data transfer "in" and "out" refers to transfer into and out of Amazon EC2.

Data transferred within the Amazon EC2 environment, or between Amazon EC2 and Amazon S3 or Amazon SimpleDB, is free of charge (i.e., $0.00 per GB), except data transferred between Amazon EC2 and Amazon S3-Europe, which will be charged at regular rates. All other Amazon S3 storage and request charges will still apply.

Amazon S3 usage is billed separately from Amazon EC2; charges for each service will be billed at the end of the month.

(Amazon EC2 is sold by Amazon Web Services LLC.)

Resources

Detailed Description

Creating your Amazon Machine Image (AMI)
Amazon EC2 allows you to set up and configure everything about your instances from your operating system up to your applications. An Amazon Machine Image (AMI) is simply a packaged-up environment that includes all the necessary bits to set up and boot your instance. Your AMIs are your unit of deployment. You might have just one AMI or you might compose your system out of several building block AMIs (e.g., webservers, appservers, and databases). Amazon EC2 provides a number of command line tools to make creating an AMI easy. Once you create a custom AMI, you will need to upload it to Amazon S3. Amazon EC2 uses Amazon S3 to provide reliable, scalable storage of your AMIs so that we can boot them when you ask us to do so.

Or, if you want, you don't have to set up your own AMI from scratch. You can choose from a number of globally available AMIs that provide useful instances. For example, if you just want a simple Linux server, you can choose one of the standard Linux distribution AMIs.

Executing your AMI
Once you have set up your account and uploaded your AMIs, you are ready to boot your instance. You can start your AMI on any number and any type of instance by calling the RunInstances API. You simply need to state how many instances you wish to start, and choose the instance type most appropriate for your need (by default, a "Small" instance will be launched). If you wish to run more than 20 instances, please complete the Amazon EC2 instance request form and your use case and instance increase will be considered.

If Amazon EC2 is able to fulfill your request, RunInstances will return success, and we will start setting up your instances. You can check on the status of your instances using the DescribeInstances API call. You can also programmatically terminate any number of your instances using the TerminateInstances API call.

If you prefer, you can also perform all these actions from the command line using our command line tools which have been implemented with this web service API.

Paying for What You Use
You will be charged at the end of each month for your instance-hours consumed, and for each GB transferred into or out of Amazon's datacenters. You will not be charged for bandwidth between other Amazon EC2 instances or between Amazon EC2 and other Amazon Web Services offerings (such as Amazon S3).

As an example, assume you launch 100 instances of the Small type costing $0.10 per hour at some point in time. The instances will begin booting immediately, but they won't necessarily all start at the same moment. Each instance will store its actual launch time. Thereafter, each instance will charge for its hours (at $.10/hour) of execution at the beginning of each hour relative to the exact moment it launched. Each instance will run until one of the following occurs: you terminate the instance with the TerminateInstances API call (or an equivalent tool), the instance shuts itself down (e.g. Unix "shutdown" command), or the host terminates due to software or hardware failure. Partial instance hours consumed are billed as full hours.

Measuring Compute Resources
Transitioning to a utility computing model fundamentally changes how developers have been 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 may be several different types of physical hardware underlying EC2 instances.  Our goal is to provide a consistent amount of CPU capacity no matter what the actual underlying hardware.

Amazon EC2 uses a variety of measures to provide each instance with a consistent and predictable amount of CPU capacity.  In order to make it easy for developers to compare CPU capacity between different instance types, we have defined an Amazon EC2 Compute Unit.  The amount of CPU that is allocated to a particular instance is expressed in terms of these EC2 Compute Units. We use several benchmarks and tests to manage the consistency and predictability of the performance from an 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. Over time, we may add or substitute measures that go into the definition of an EC2 Compute Unit, if we find metrics that will give you a clearer picture of compute capacity.

To find out which instance will work best for your application, the best thing to do is to launch an instance and benchmark your own application.  One of the advantages of EC2 is that you pay by the hour which makes it convenient and inexpensive to test the performance of your application on different instance types.

Getting Started
The best way to understand Amazon EC2 is to work through the Getting Started Guide, part of our Technical Documentation. Within a few minutes, you will be able to log into your own instance and start playing!

Intended Usage and Restrictions


Top



 



 
 
 

 
   






Conditions of Use | Privacy Notice © 1996-2008, Amazon.com, Inc. or its affiliates