Amazon Elastic Compute Cloud (Amazon EC2) - Limited 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 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.
- Use Amazon EC2 web service to start, terminate, and monitor as many instances of your AMI as needed.
- Pay for the instance hours and bandwidth that you actually consume.
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. Each instance predictably provides the equivalent of a system with a 1.7Ghz�x86�processor, 1.75GB of RAM, 160GB of local disk, and 250Mb/s of network bandwidth.
- 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.
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.
Amazon EC2 provides web service interfaces to control network security. You define groups of instances and their desired accessibility.
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.
- Pay only for what you use.
- $0.10 per instance-hour consumed (or part of an hour consumed).
- $0.20 per GB of data transferred into/out of Amazon (i.e., Internet traffic).
- $0.15 per GB-Month of Amazon S3 storage used for your images (charged by Amazon S3).
Data transferred within the Amazon EC2 environment, or between Amazon EC2 and Amazon S3, is free of charge (i.e., $0.00 per GB).
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.)
- Resource Center
Browse the resource center for code samples, documentation, release notes, and more information to help you build innovative applications. Subscribe to RSS feeds or set up e-mail watches to be alerted of the latest developments for this service.
- Developer Forums
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 of instances by calling the RunInstances API. You simply need to state how many instances you wish to start. If you wish to run more than 20 instances, please contact us at email@example.com.
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 outside of Amazon's datacenters. You will not be charged for communication with other Amazon EC2 instances or to other Amazon Web Services offerings (such as Amazon S3).
As an example, assume you launch 100 instances at some certain 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 boot 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 booted. 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.
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