Amazon Elastic Compute Cloud
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)(Learn how and when to remove this template message)
Amazon Elastic Compute Cloud (EC2)
|Original author(s)||Amazon.com, Inc.|
|Initial release||August 25, 2006(public beta)|
|Type||Virtual private server|
Amazon Elastic Compute Cloud (EC2) forms a central part of Amazon.com's cloud-computing platform, Amazon Web Services (AWS), by allowing users to rent virtual computers on which to run their own computer applications. EC2 encourages scalable deployment of applications by providing a web service through which a user can boot an Amazon Machine Image (AMI) to configure a virtual machine, which Amazon calls an "instance", containing any software desired. A user can create, launch, and terminate server-instances as needed, paying by the second for active servers – hence the term "elastic". EC2 provides users with control over the geographical location of instances that allows for latency optimization and high levels of redundancy.
In November 2010, Amazon switched its own retail website to use EC2 and AWS.
Amazon announced a limited public beta test of EC2 on August 25, 2006, offering access on a first-come, first-served basis. Amazon added two new instance types (Large and Extra-Large) on October 16, 2007. On May 29, 2008, two more types were added, High-CPU Medium and High-CPU Extra Large. There were twelve types of instances available.
Amazon added three new features on March 27, 2008, static IP addresses, availability zones, and user selectable kernels. On August 20, 2008, Amazon added Elastic Block Store (EBS) This provides persistent storage, a feature that had been lacking since the service was introduced.
Amazon EC2 went into full production when it dropped the beta label on October 23, 2008. On the same day, Amazon announced the following features: a service level agreement for EC2, Microsoft Windows in beta form on EC2, Microsoft SQL Server in beta form on EC2, plans for an AWS management console, and plans for load balancing, autoscaling, and cloud monitoring services. These features were subsequently added on May 18, 2009.
Amazon EC2 was developed mostly by a team in Cape Town, South Africa led by Chris Pinkham. Pinkham provided the initial architecture guidance for EC2 and then built the team and led the development of the project along with Willem van Biljon.
Initially, EC2 used Xen virtualization exclusively. However, on November 6, 2017, Amazon announced the new C5 family of instances that were based on a custom architecture around the KVM hypervisor, called Nitro. Each virtual machine, called an "instance", functions as a virtual private server. Amazon sizes instances based on "Elastic Compute Units". The performance of otherwise identical virtual machines may vary. On November 28, 2017, AWS announced a bare-metal instance type offering marking a remarkable departure from exclusively offering virtualized instance types.
As of January 2019, the following instance types were offered:
- General Purpose: A1, T3, T2, M5, M5a, M4, T3a
- Compute Optimized: C5, C5n, C4
- Memory Optimized: R5, R5a, R4, X1e, X1, High Memory, z1d
- Accelerated Computing: P3, P2, G3, F1
- Storage Optimized: H1, I3, D2
- On-demand: pay by the hour without commitment.
- Reserved: rent instances with one-time payment receiving discounts on the hourly charge.
- Spot: bid-based service: runs the jobs only if the spot price is below the bid specified by bidder. The spot price is claimed to be supply-demand based, however a 2011 study concluded that the price was generally not set to clear the market, but was dominated by an undisclosed reserve price.
As of April 2018[update], Amazon charged about $0.0058/hour ($4.176/month) for the smallest "Nano Instance" (t2.nano) virtual machine running Linux or Windows. Storage-optimized instances cost as much as $4.992/hour (i3.16xlarge). "Reserved" instances can go as low as $2.50/month for a three-year prepaid plan.[note 1] The data transfer charge ranges from free to $0.12 per gigabyte, depending on the direction and monthly volume (inbound data transfer is free on all AWS services).
As of December 2010[update] Amazon offered a bundle of free resource credits to new account holders. The credits are designed to run a "micro" sized server, storage (EBS), and bandwidth for one year. Unused credits cannot be carried over from one month to the next.
Reserved instances enable EC2 or RDS service users to reserve an instance for one or three years. The corresponding hourly rate charged by Amazon to operate the instance is 35-75% lower than the rate charged for on-demand instances. Reserved Instances can be purchased in three different ways: All Upfront, Partial Upfront and No Upfront. The different purchase options allow for different structuring of payment models. In September 2016, AWS announced several enhancements to Reserved Instances, introducing a new feature called scope and a new reservation type called a Convertible. In October 2017, AWS announced the allowance to subdivide the instances purchased for more flexibility 
Cloud providers maintain large amounts of excess capacity they have to sell or risk incurring losses. Amazon EC2 Spot instances are spare compute capacity in the AWS cloud available at up to 90% discount compared to On-Demand prices. As a trade-off, AWS offers no SLA on these instances and customers take the risk that it can be interrupted with only two minutes of notification when Amazon needs the capacity back. Researchers from the Israeli Institute of Technology found that "they (Spot instances) are typically generated at random from within a tight price interval via a dynamic hidden reserve price". Some companies, like Spotinst, are using big data combined with machine learning to predict spot interruptions up to 15 minutes in advance.
In November 2019, Amazon announced Savings Plans. Savings Plans are an alternative to Reserved Instances that come in 2 different plan types: Compute Savings Plans and EC2 Instances Savings Plans. Compute Savings Plans allow an organisation to commit to EC2 and Fargate usage with the freedom to change region, family, size, availability zone, OS and tenancy inside the lifespan of the commitment. EC2 Instance Savings plans provide the lowest prices but are less flexible meaning a user must commit to individual instance families within a region to take advantage, but with the freedom to change instances within the family in that region.
When it launched in August 2006, the EC2 service offered Linux and later Sun Microsystems' OpenSolaris and Solaris Express Community Edition. In October 2008, EC2 added the Windows Server 2003 and Windows Server 2008 operating systems to the list of available operating systems. In March 2011, NetBSD AMIs became available. In November 2012, Windows Server 2012 support was added.
Since 2006, Colin Percival, a FreeBSD developer and Security Officer, solicited Amazon to add FreeBSD. In November 2012, Amazon officially supported running FreeBSD in EC2. The FreeBSD/EC2 platform is maintained by Percival who also developed the secure deduplicating Amazon S3-cloud based backup service Tarsnap.
- Linux kernel version 3.4.34
- Java OpenJDK Runtime Environment (IcedTea6 1.11.4)
- GNU Compiler Collection gcc.x86_64 4.4.6-3.45.amzn1
An EC2 instance may be launched with a choice of two types of storage for its boot disk or "root device." The first option is a local "instance-store" disk as a root device (originally the only choice). The second option is to use an EBS volume as a root device. Instance-store volumes are temporary storage, which survive rebooting an EC2 instance, but when the instance is stopped or terminated (e.g., by an API call, or due to a failure), this store is lost.
The Amazon Elastic Block Store (EBS) provides raw block devices that can be attached to Amazon EC2 instances. These block devices can then be used like any raw block device. In a typical use case, this would include formatting the device with a filesystem and mounting it. In addition, EBS supports a number of advanced storage features, including snapshotting and cloning. EBS volumes can be up to 16TB in size. EBS volumes are built on replicated storage, so that the failure of a single component will not cause data loss. EBS was introduced to the general public by Amazon in August 2008.
EBS volumes provide persistent storage independent of the lifetime of the EC2 instance, and act much like hard drives on a real server. More accurately, they appear as block devices to the operating system that are backed by Amazon's disk arrays. The OS is free to use the device however it wants. In the most common case, a file system is loaded and the volume acts as a hard drive. Another possible use is the creation of RAID arrays by combining two or more EBS volumes. RAID allows increases of speed and/or reliability of EBS. Users can set up and manage storage volumes of sizes from 1GB to 16TB. The volumes support snapshots, which can be taken from a GUI tool or the API. EBS volumes can be attached or detached from instances while they are running, and moved from one instance to another.
Simple Storage Service (S3) is a storage system in which data is accessible to EC2 instances, or directly over the network to suitably authenticated callers (all communication is over HTTP). Amazon does not charge for the bandwidth for communications between EC2 instances and S3 storage "in the same region." Accessing S3 data stored in a different region (for example, data stored in Europe from a US East Coast EC2 instance) will be billed at Amazon's normal rates.
S3-based storage is priced per gigabyte per month. Applications access S3 through an API. For example, Apache Hadoop supports a special s3: filesystem to support reading from and writing to S3 storage during a MapReduce job. There are also S3 filesystems for Linux, which mount a remote S3 filestore on an EC2 image, as if it were local storage. As S3 is not a full POSIX filesystem, things may not behave the same as on a local disk (e.g., no locking support).
Elastic IP addresses
Amazon's elastic IP address feature is similar to static IP address in traditional data centers, with one key difference. A user can programmatically map an elastic IP address to any virtual machine instance without a network administrator's help and without having to wait for DNS to propagate the binding. In this sense an Elastic IP Address belongs to the account and not to a virtual machine instance. It exists until it is explicitly removed, and remains associated with the account even while it is associated with no instance.
Amazon CloudWatch is a web service that provides real-time monitoring to Amazon's EC2 customers on their resource utilization such as CPU, disk, network and replica lag for RDS Database replicas. CloudWatch does not provide any memory, disk space, or load average metrics without running additional software on the instance. Since December 2017 Amazon provides a CloudWatch Agent for Windows and Linux operating systems included disk and previously not available memory information,[dead link] previously Amazon provided example scripts for Linux instances to collect OS information. The data is aggregated and provided through AWS management console. It can also be accessed through command line tools and Web API's, if the customer desires to monitor their EC2 resources through their enterprise monitoring software. Amazon provides an API which allows to operate on CloudWatch alarms.
Since May 2011, Amazon CloudWatch accepts custom metrics that can be submitted programmatically via Web Services API and then monitored the same way as all other internal metrics, including setting up the alarms for them, and since July 2014 Cloudwatch Logs service is also available.
Basic Amazon CloudWatch is included in Amazon Free Tier service.
Amazon's auto-scaling feature of EC2 allows it to automatically adapt computing capacity to site traffic. The schedule-based (e.g. time-of-the-day) and rule-based (e.g. CPU utilization thresholds) auto scaling mechanisms are easy to use and efficient for simple applications. However, one potential problem is that VMs may take up to several minutes to be ready to use, which are not suitable for time critical applications. The VM startup time are dependent on image size, VM type, data center locations, etc.
Generally, Amazon EC2 priced on per instance / per hour basis. However, any instance can be rented on per month basis as well. In such case, Reserved and Spot Instances pricing can be applied resulting in significant discount. Instances are priced depending on their "size", namely how much CPU and RAM included.
Amazon EC2 price varies from $2.5 per month for "nano" instance with 1 vCPU and 0.5 GB RAM on board to "xlarge" type of instances with 32 vCPU and 488 GB RAM billed up to $3997.19 per month.
The charts above show how Amazon EC2 pricing is compared to similar Cloud Computing services: Microsoft Azure, Google Cloud Platform, Kamatera, and Vultr.
|Amazon EC2||Microsoft Azure||Google Cloud Platform||Kamatera||Vultr|
|1vCPU 0.5GB RAM||$3.29||$2.5|
|1vCPU 0.75GB RAM||$14.88|
|1vCPU 1GB RAM||$6.83||$11||$5|
|1vCPU 1.75GB RAM||$44.64|
|1vCPU 2GB RAM||$13.14||$17||$10|
|1vCPU 3.75GB RAM||$24.27|
|2vCPU 3.5GB RAM||$89.88|
|2vCPU 4GB RAM||$41||$20|
|2vCPU 7.5GB RAM||$48.55|
|2vCPU 8GB RAM||$52.56||$61|
|4vCPU 7GB RAM||$178.56|
|4vCPU 8GB RAM||$86||$40|
|4vCPU 15GB RAM||$97.09|
|4vCPU 15GB RAM||$134||$134|
|6vCPU 16GB RAM||$159||$80|
|8vCPU 14GB RAM||$357.12|
|8vCPU 16GB RAM||$184|
|8vCPU 30GB RAM||$194.18|
|8vCPU 32GB RAM||$219.64||$280||$160|
|8vCPU 49GB RAM||$328|
|8vCPU 56GB RAM||$744|
|16vCPU 32GB RAM||$412.53|
|8vCPU 65GB RAM||$408|
|12vCPU 65GB RAM||$626|
|16vCPU 32GB RAM||$388.36||$746|
|16vCPU 65GB RAM||$320|
|20vCPU 65GB RAM||$826|
|12vCPU 112GB RAM||$1339.20|
|16vCPU 112GB RAM||$1450.80|
|20vCPU 98GB RAM||$986|
|36vCPU 60GB RAM||$825.06|
|20vCPU 131GB RAM||$1146|
|32vCPU 120GB RAM||$776.72|
|16vCPU 224GB RAM||$1935.1|
|20vCPU 196GB RAM||$1466|
|20vCPU 262GB RAM||$1786|
|24vCPU 224GB RAM||$2678.40|
|64vCPU 240GB RAM||$1553.44|
|32vCPU 488GB RAM||$3997.19|
To make EC2 more fault-tolerant, Amazon engineered Availability Zones that are designed to be insulated from failures in other availability zones. Availability zones do not share the same infrastructure. Applications running in more than one availability zone can achieve higher availability.
EC2 provides users with control over the geographical location of instances that allows for latency optimization and high levels of redundancy. For example, to minimize downtime, a user can set up server instances in multiple zones that are insulated from each other for most causes of failure such that one backs up the other.
Higher-availability database services, like Amazon Relational Database Service run separately from EC2 instances.
On December 1, 2010, Amazon pulled its service to WikiLeaks after coming under political pressure in the US. The Internet group Anonymous attempted to attack EC2 in revenge; however, Amazon was not affected by the attack.
Amazon's websites were temporarily offline on December 12, 2010, although it was initially unclear if this was due to attacks or a hardware failure. An Amazon official later stated that it was due to a hardware failure.
|Wikinews has related news: Amazon server outage affects Reddit, other websites|
Shortly before 5 am ET on April 21, 2011, an outage started at EC2's Northern Virginia data center that brought down several websites, including Foursquare, Springpad, Reddit, Quora, and Hootsuite. Specifically, attempts to use Amazon's elastic-disk and database services hung, failed, or were slow. Service was restored to some parts of the datacenter (three of four "availability zones" in Amazon's terms) by late afternoon Eastern time that day; problems for at least some customers were continuing as of April 25. 0.07% of EBS volumes in one zone have also been lost; EBS failures were a part of normal operation even before this outage and were a risk documented by Amazon, though the number of failures and the number of simultaneous failures may find some EC2 users unprepared.
On Sunday August 6, 2011, Amazon suffered a power outage in one of their Ireland availability zones. Lightning was originally blamed for the outage; however, on August 11, Irish energy supplier ESB Networks dismissed this as a cause, but at time of writing, could not confirm what the cause of the problem was. The power outage raised multiple questions regarding Amazon's EBS infrastructure, which caused several bugs in their software to be exposed. The bugs resulted in some customers' data being deleted when recovering EBS volumes in a mid-write operation during the crash.
August 8, 2011 saw another network connectivity outage of Amazon's Northern Virginia datacenter, knocking out the likes of Reddit, Quora, Netflix and FourSquare. The outage lasted around 25 minutes.
Another Northern Virginia datacenter outage occurred on October 22, 2012, from approximately 10 am to 4 pm PT. Edmodo, Airbnb, Flipboard, Reddit, and other customers were affected. Anonymous claimed responsibility, however Amazon denied this assertion.
- Amazon Virtual Private Cloud
- Alibaba Cloud ECS
- Eucalyptus (computing)
- FUJITSU Cloud IaaS Trusted Public S5
- Google App Engine
- Google Cloud Platform
- Microsoft Azure
- Oracle Cloud
- Rackspace Cloud
- TurnKey Linux Virtual Appliance Library
- Zadara Storage
- $109 for a three-year Heavy Utilization Reserved t2.micro Instances reservation amortized over thirty-six months plus one month at $0.002/hour.
- LaMonica, Martin (March 27, 2008). "Amazon Web Services adds 'resiliency' to EC2 compute service". CNET. Retrieved August 1, 2009.
- AWS Cloud Tour 2011 | Australia: Event Highlights (video).
- Barr, Jeff (August 25, 2006). "Amazon EC2 Beta". Amazon Web Services Blog. Retrieved May 31, 2013.
- Barr, Jeff (October 16, 2007). "Amazon EC2 Gets More Muscle".
- Barr, Jeff (May 29, 2008). "More EC2 power". Amazon Web Services Blog. Retrieved August 1, 2009.
- Amazon EC2 Instances. Aws.amazon.com. Retrieved on 2013-08-09.
- Barr, Jeff (March 27, 2008). "New EC2 Features". Amazon Web Services Blog. Retrieved August 1, 2009.
- Barr, Jeff (August 20, 2008). "Amazon EBS (Elastic Block Store) - Bring Us Your Data". Amazon Web Services Blog. Archived from the original on March 28, 2011. Retrieved May 31, 2013.
- Barr, Jeff (August 23, 2008). "Big Day For EC2". Amazon Web Services Blog. Retrieved August 1, 2009.
- Barr, Jeff (May 18, 2009). "New Features for EC2". Amazon Web Services Blog. Retrieved August 1, 2009.
- "Amazon's early efforts at cloud computing? Partly accidental". June 17, 2010.
- "Citrix and Amazon Web Services (AWS)". citrix.com. Retrieved October 23, 2013.
- "Now Available – Compute-Intensive C5 Instances for Amazon EC2". Retrieved November 7, 2017.
- "Amazon EC2 FAQs". Retrieved November 7, 2017.
- "AWS re:Invent 2017: NEW LAUNCH! Amazon EC2 Bare Metal Instances (CMP330)". Retrieved December 4, 2017.
- J. Dejun, G. Pierre and C.-H. Chi. EC2 Performance Analysis for Resource Provisioning of Service-Oriented Applications. In Proceedings of the Workshop on Non-Functional Properties and SLA Management in Service-Oriented Computing, November 2009.
- Lardinois, Frederic (November 28, 2017). "AWS launches bare metal instances". TechCrunch. Retrieved December 4, 2017.
- "Amazon EC2 Instance Types – Amazon Web Services (AWS)". Amazon Web Services, Inc. Retrieved 2019-01-28.
- "Amazon EC2 Pricing". Retrieved December 5, 2012.
- "Technical Report CS-2011-09". cs.technion.ac.il. Retrieved December 5, 2012.
- Amazon Elastic Compute Cloud (Amazon EC2), Cloud Computing Servers. Aws.amazon.com (2014-07-01). Retrieved on 2014-07-01.
- Barr, Jeff (June 29, 2011). "AWS Lowers its Pricing Again! – No Inbound Data Transfer Fees and Lower Outbound Data Transfer for All Services including Amazon CloudFront". Typepad. Archived from the original on July 7, 2011. Retrieved July 6, 2011.
- "AWS Free Tier". Amazon Web Services, Inc.
- "FAQs". Amazon Web Services, Inc. Retrieved 2015-07-31.
- "Additional Reserved Instance Options for Amazon EC2". Amazon.
- Santos, Alan (September 29, 2016). "A Quick Start Guide To AWS Regional & Convertible Reservations". CloudHealth Technologies. Retrieved 2016-10-04.
- Hanley Frank, Blair (March 14, 2017). "AWS Follows Google With Reserved Instance Flexibility Changes". PC World. Retrieved 2018-03-04.
- Technion - Israel Institute of Technology. "Deconstructing Amazon EC2 Spot Instance Pricing" (PDF). Technion University. Retrieved 2018-03-04.
- Hall, Susan (December 26, 2017). "Spotinst: Making the Most of Cheaper Excess Compute Capacity". The News Stack. Retrieved 2018-03-04.
- Miller, Ron (October 25, 2017). "Spotinst delivers spot cloud infrastructure services at discount prices". TechCrunch. Retrieved 2018-03-04.
- "New – Savings Plans for AWS Compute Services".
- "Savings Plans vs Reserved Instances".
- "AWS Savings Plans FAQ".
- Shankland, Stephen (October 23, 2008). "Amazon's Linux cloud computing out of beta, joined by Windows". CNET. Retrieved October 24, 2008.
- "Amazon Elastic Compute Cloud (EC2) Running Microsoft Windows Server and SQL Server". October 23, 2008. Archived from the original on 1 December 2008. Retrieved October 25, 2008.
- Migeon, Jean-Yves (March 13, 2011). "NetBSD now runs under Amazon EC2". NetBSD Blog. Retrieved August 9, 2013.
- "Windows Server 2012 Now Available on AWS". November 19, 2012. Retrieved March 26, 2014.
- Barr, Jeff. "Interview - Live from AWS re:Invent Colin Percival, FreeBSD Developer". Amazon Web Services 28.11.2012. Retrieved 25 May 2015.
- "AWS Marketplace – Additional EC2 Operating System Support (FreeBSD, Debian, CentOS)". Amazon.
- Percival, Colin. "How to build FreeBSD/EC2 images". Colin Percival. Retrieved 25 May 2015.
- Percival, Colin. "FreeBSD on EC2". Colin Percival. Retrieved 25 May 2015.
- "Colin Percival". awsmarketplace. Amazon Web Services, Inc. Retrieved 25 May 2015.
- Percival, Colin. "About Tarsnap". Tarsnap and C. Percival. Retrieved 25 May 2015.
- "Amazon Linux AMI 2013.03 Release Notes". AWS web site. Retrieved May 31, 2013.
- "Introduction to EBS Volumes". 1201 Restart.com. December 2010. Archived from the original on 2011-05-13. Retrieved December 18, 2010.
- "Working with Read Replicas of MariaDB, MySQL, and PostgreSQL DB Instances - Amazon Relational Database Service". docs.aws.amazon.com.
- "Monitoring Memory and Disk Metrics for Amazon EC2 Linux Instances - Amazon Elastic Compute Cloud". docs.aws.amazon.com.
- "AWS Developer Forums: User Profile for Henry@AWS". forums.aws.amazon.com.
- "GorillaStack CloudWatch vs CloudTrail". GorillaStack. 2019-09-17.
- "Welcome - Amazon CloudWatch". docs.aws.amazon.com.
- AWS in Action & Wittig (2016), pp. 372–375.
- "AWS Release Notes". Amazon Web Services, Inc.
- "Introducing Amazon CloudWatch Logs". Amazon Web Services, Inc.
- "AWS Auto Scaling". Amazon Web Services, Inc. Retrieved 2019-09-26.
- Mao, Ming; M. Humphrey (2012). "A Performance Study on the VM Startup Time in the Cloud". Proceedings of 2012 IEEE 5th International Conference on Cloud Computing (Cloud2012): 423. doi:10.1109/CLOUD.2012.103. ISBN 978-1-4673-2892-0.
- "Amazon AWS vs Microsoft Azure vs Google Cloud vs Kamatera vs Vultr - 5 Best Cloud Services". 5 Best Cloud Services. 2017-12-02. Retrieved 2017-12-24.
- Wittig, Andreas; Wittig, Michael (2016). Amazon Web Services in Action. Manning Press. pp. 290–294. ISBN 978-1-61729-288-0.
- Krebs, Brian (July 1, 2008). "Amazon: Hey Spammers, Get Off My Cloud!". Security Fix. The Washington Post. Archived from the original on December 3, 2013.
- MacAskill, Ewen (December 2, 2010). "WikiLeaks website pulled by Amazon after US political pressure". The Guardian. London.
- Weaver, Matthew; Tran, Mark (December 9, 2010). "WikiLeaks cables: Shell, Operation Payback and Assange for the Nobel prize – as it happened". The Guardian. Retrieved May 31, 2013.
- Arthur, Charles (December 13, 2010). "Amazon says outage in Europe due to hardware failure, not hacking attack". The Guardian. Retrieved May 31, 2013.
- Pepitone, Julianne (April 21, 2011). "Amazon EC2 outage downs Reddit, Quora". CNN.
- Lohr, Steve (April 22, 2011). "Amazon Malfunction Raises Doubts About Cloud Computing". The New York Times.
- "Cloud storm, EC2 startup takedown". DoesWhat. April 21, 2011.
- "6:18 pm PDT April 21, 2011, entry, says "all Availability Zones except one have been functioning normally for the past 5 hours."". amazon.com.[permanent dead link]
- "April 25 entry". amazon.com.[permanent dead link]
- Amazon Elastic Block Store (EBS) section "Volume Durability"
- Clark, Jack (August 8, 2011). "Lightning strikes Amazon's European cloud". ZDNet.
- Kunert, Paul (August 11, 2011). "Amazon web outage not caused by lightning". The Register.
- Clark, Jack (August 10, 2011). "AWS cloud accidentally deletes customer data". ZDNet.
- Musil, Steven (August 9, 2011). "Amazon cloud outage downs Netflix, Quora". CNET.
- Tibken, Shara (October 22, 2012). "Amazon cloud outage impacts Reddit, Airbnb, Flipboard". CNET.