Amazon EC2 presents a true virtual computing environment, allowing you to use web service interfaces to launch instances with a variety of operating systems, 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:
- Select a pre-configured, templated Amazon Machine Image (AMI) to get up and running immediately. Or create an AMI containing your applications, libraries, data, and associated configuration settings.
- Configure security and network access on your Amazon EC2 instance.
- Choose which instance type(s) you want, then start, terminate, and monitor as many instances of your AMI as needed, using the web service APIs or the variety of management tools provided.
- Determine whether you want to run in multiple locations, utilize static IP endpoints, or attach persistent block storage to your instances.
- Pay only for the resources that you actually consume, like instance-hours or data transfer.
Amazon EC2 provides a number of powerful features for building scalable, failure resilient, enterprise class applications.
Amazon Elastic Block Store (EBS) offers persistent storage for Amazon EC2 instances. Amazon EBS volumes are network-attached, and persist independently from the life of an instance. Amazon EBS volumes are highly available, highly reliable volumes that can be leveraged as an Amazon EC2 instance’s boot partition or attached to a running Amazon EC2 instance as a standard block device. When used as a boot partition, Amazon EC2 instances can be stopped and subsequently restarted, enabling you to only pay for the storage resources used while maintaining your instance’s state. Amazon EBS volumes offer greatly improved durability over local Amazon EC2 instance stores, as Amazon EBS volumes are automatically replicated on the backend (in a single Availability Zone). For those wanting even more durability, Amazon EBS provides the ability to create point-in-time consistent snapshots of your volumes that are then stored in Amazon S3, and automatically replicated across multiple Availability Zones. These snapshots can be used as the starting point for new Amazon EBS volumes, and can protect your data for long term durability. You can also easily share these snapshots with co-workers and other AWS developers. Amazon EBS provides three volume types to best meet the needs of your workloads: General Purpose (SSD), Provisioned IOPS (SSD), and Magnetic. General Purpose (SSD) is the new, SSD-backed, general purpose EBS volume type that we recommend as the default choice for customers. General Purpose (SSD) volumes are suitable for a broad range of workloads, including small to medium sized databases, development and test environments, and boot volumes. Provisioned IOPS (SSD) volumes offer storage with consistent and low-latency performance, and are designed for I/O intensive applications such as large relational or NoSQL databases. Magnetic volumes provide the lowest cost per gigabyte of all EBS volume types. Magnetic volumes are ideal for workloads where data is accessed infrequently, and applications where the lowest storage cost is important. See Amazon Elastic Block Store for more details.
For an additional, low, hourly fee, customers can launch selected Amazon EC2 instances types as EBS-optimized instances. For C4, M4, and D2 instances, this feature is enabled by default at no additional cost. EBS-optimized instances enable EC2 instances to fully use the IOPS provisioned on an EBS volume. EBS-optimized instances deliver dedicated throughput between Amazon EC2 and Amazon EBS, with options between 500 and 4,000 Megabits per second (Mbps) depending on the instance type used. The dedicated throughput minimizes contention between Amazon EBS I/O and other traffic from your EC2 instance, providing the best performance for your EBS volumes. EBS-optimized instances are designed for use with both Standard and Provisioned IOPS Amazon EBS volumes. When attached to EBS-optimized instances, Provisioned IOPS volumes can achieve single digit millisecond latencies and are designed to deliver within 10% of the provisioned IOPS performance 99.9% of the time. We recommend using Provisioned IOPS volumes with EBS-optimized instances or instances that support cluster networking for applications with high storage I/O requirements. For more information about the instance types that can be launched as EBS-Optimized instances, see Amazon EC2 Instance Types.
Amazon EC2 provides the ability to place instances in multiple locations. Amazon EC2 locations are composed of Regions and Availability Zones. Availability Zones are distinct locations that are engineered to be insulated from failures in other Availability Zones and provide inexpensive, low latency network connectivity to other Availability Zones in the same Region. By launching instances in separate Availability Zones, you can protect your applications from failure of a single location. Regions consist of one or more Availability Zones, are geographically dispersed, and will be in separate geographic areas or countries. The Amazon EC2 Service Level Agreement commitment is 99.95% availability for each Amazon EC2 Region. Please refer to Regional Products and Services for more details of our product and service availability by region.
Elastic IP addresses are static IP addresses designed for dynamic cloud computing. An Elastic IP address is associated with your account not a particular instance, and you control that address until you choose to explicitly release it. Unlike traditional static IP addresses, however, Elastic IP addresses allow you to mask instance or Availability Zone failures by programmatically remapping your public IP addresses to any instance in your account. Rather than waiting on a data technician to reconfigure or replace your host, or waiting for DNS to propagate to all of your customers, Amazon EC2 enables you to engineer around problems with your instance or software by quickly remapping your Elastic IP address to a replacement instance. In addition, you can optionally configure the reverse DNS record of any of your Elastic IP addresses by filling out this form.
Amazon Virtual Private Cloud (Amazon VPC) lets you provision a logically isolated section of the Amazon Web Services (AWS) Cloud where you can launch AWS resources in a virtual network that you define. You have complete control over your virtual networking environment, including selection of your own IP address range, creation of subnets, and configuration of route tables and network gateways. You can also create a Hardware Virtual Private Network (VPN) connection between your corporate datacenter and your VPC and leverage the AWS cloud as an extension of your corporate datacenter. See Amazon Virtual Private Cloud for more details.
Amazon CloudWatch is a web service that provides monitoring for AWS cloud resources and applications, starting with Amazon EC2. It provides you with visibility into resource utilization, operational performance, and overall demand patterns—including metrics such as CPU utilization, disk reads and writes, and network traffic. You can get statistics, view graphs, and set alarms for your metric data. To use Amazon CloudWatch, simply select the Amazon EC2 instances that you’d like to monitor. You can also supply your own business or application metric data. Amazon CloudWatch will begin aggregating and storing monitoring data that can be accessed using web service APIs or Command Line Tools. See Amazon CloudWatch for more details.
Auto Scaling allows you to automatically scale your Amazon EC2 capacity up or down according to conditions you define. With Auto Scaling, you can ensure that the number of Amazon EC2 instances you’re using scales up seamlessly during demand spikes to maintain performance, and scales down automatically during demand lulls to minimize costs. Auto Scaling is particularly well suited for applications that experience hourly, daily, or weekly variability in usage. Auto Scaling is enabled by Amazon CloudWatch and available at no additional charge beyond Amazon CloudWatch fees. See Auto Scaling for more details.
Elastic Load Balancing automatically distributes incoming application traffic across multiple Amazon EC2 instances. It enables you to achieve even greater fault tolerance in your applications, seamlessly providing the amount of load balancing capacity needed in response to incoming application traffic. Elastic Load Balancing detects unhealthy instances within a pool and automatically reroutes traffic to healthy instances until the unhealthy instances have been restored. You can enable Elastic Load Balancing within a single Availability Zone or across multiple zones for even more consistent application performance. Amazon CloudWatch can be used to capture a specific Elastic Load Balancer’s operational metrics, such as request count and request latency, at no additional cost beyond Elastic Load Balancing fees. See Elastic Load Balancing for more details.
Customers with complex computational workloads such as tightly coupled parallel processes, or with applications sensitive to network performance, can achieve the same high compute and network performance provided by custom-built infrastructure while benefiting from the elasticity, flexibility and cost advantages of Amazon EC2. Cluster Compute, Cluster GPU, and High Memory Cluster instances have been specifically engineered to provide high-performance network capability and can be programmatically launched into clusters – allowing applications to get the low-latency network performance required for tightly coupled, node-to-node communication. Cluster instances also provide significantly increased throughput making them well suited for customer applications that need to perform network-intensive operations. Learn more about how Amazon EC2 and other AWS services can be used for HPC Applications.
Customers requiring high parallel performance capability will benefit from GPU instances, which provide access to NVIDIA GPUs each with up to 1,536 CUDA cores and 4GB of video memory. With the latest driver releases, these GPUs provide support for OpenGL, DirectX, CUDA, OpenCL, and the GRID SDK. GPU instances are ideally suited for 3D graphics applications, including game streaming, and compute workloads, including computational chemistry, financial modeling, and engineering design.
Customers requiring very high, low latency, random I/O access to their data can benefit from High I/O instances. High I/O instances are an Amazon EC2 instance type that can provide customers with random I/O rates over 100,000 IOPS. High I/O instances are backed by Solid State Disk (SSD) technology and are ideally suited for customers running very high performance NoSQL and relational databases. See Amazon EC2 Instance Types to find out more about High I/O instances.
Customers requiring very high storage density per instance, and high sequential I/O for data-intensive applications like Massively Parallel Processing (MPP) data warehouse, MapReduce and Hadoop distributed computing, and log and data processing can benefit from Dense Storage instances. Dense Storage instances are an Amazon EC2 instance type that can provide customers with sequential I/O throughout of up to 3.9 GB/s and provide customers with up to 48 TB of instance storage across 24 hard disk drives. See Amazon EC2 Instance Types to find out more about Dense Storage instances.
VM Import/Export enables you to easily import virtual machine images from your existing environment to Amazon EC2 instances and export them back at any time. By importing virtual machines as ready to use EC2 instances, you can leverage your existing investments in virtual machines that meet your IT security, configuration management, and compliance requirements. You can export your previously imported EC2 instances back to your on-premise environment at any time. This offering is available at no additional charge beyond standard usage charges for Amazon EC2 and Amazon S3. Learn more about VM Import/Export.
Run Command is a feature that enables you to securely manage the configuration of your Amazon EC2 Windows instances. Using Run Command provides a simple way of automating common administrative tasks like executing scripts, running PowerShell commands, installing software or patches, and more. Run Command allows you to perform these commands across multiple instances and provides visibility into the results, making it easy to manage configuration change across fleets of instances. Run Command is available at no addition charge beyond the standard usage charges for Amazon EC2, Amazon S3, and other AWS services you may use. Learn more about Run Command.
AWS Marketplace is an online store that helps you find, buy and quickly deploy software that runs on AWS. You can use AWS Marketplace’s 1-Click deployment to quickly launch pre-configured software and be charged for what you use, by the hour or month. AWS handles billing and payments, and software charges appear on your AWS bill. Learn more about AWS Marketplace.
Enhanced Networking enables you to get significantly higher packet per second (PPS) performance, lower network jitter and lower latencies. This feature uses a new network virtualization stack that provides higher I/O performance and lower CPU utilization compared to traditional implementations. In order to take advantage of Enhanced Networking, you should launch an HVM AMI in VPC, and install the appropriate driver. Enhanced Networking is currently supported in R3, C3, C4, M4, D2, and I2 instances. For instructions on how to enable Enhanced Networking on EC2 instances, see the Enhanced Networking on Linux and Enhanced Networking on Windows tutorials. To learn more about this feature, check out the Enhanced Networking FAQ section.
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 tools to make creating an AMI easy including the AWS Management Console.
You can also choose from a library 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. 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.
If you wish to run more than 20 On-Demand or Reserved Instances or 20 Spot Instances, create more than 5,000 EBS volumes, need more than 5 Elastic IP addresses or 5 Elastic Load Balancers, or need to send large quantities of email from your EC2 account, please complete the Amazon EC2 instance request form, Amazon EBS volume request form, Elastic IP request form, Elastic Load Balancers, or the Email request form respectively and your request will be considered.
T2 instances are Burstable Performance Instances that provide a baseline level of CPU performance with the ability to burst above the baseline. Instances in this family are ideal for applications that don’t use the full CPU often or consistently, but occasionally need to burst (e.g. web servers, developer environments, and small databases).
- t2.nano: 512 MiB of memory, 1 vCPU, 3 CPU Credits/hour, EBS-only, 32 bit or 64-bit platform
- t2.micro: 1 GiB of memory, 1 vCPU, 6 CPU Credits/hour, EBS-only, 32 bit or 64-bit platform
- t2.small: 2 GiB of memory, 1 vCPU, 12 CPU Credits/hour, EBS-only, 32 bit or 64-bit platform
- t2.medium: 4 GiB of memory, 2 vCPUs, 24 CPU Credits/hour, EBS-only, 32 bit or 64-bit platform
- t2.large: 8 GiB of memory, 2 vCPUs, 36 CPU Credits/hour, EBS-only, 64 bit platform
M4 instances are based on a custom Intel 2.4 GHz Xeon E5-2676 v3 Haswell processor with AVX2. M4 instances deliver fixed performance and provide customers with a set of resources for a high level of consistent processing performance on a low-cost platform. Instances in this family are ideal for applications that require balanced CPU and memory performance. Examples of applications that will benefit from the performance of General Purpose instances include encoding, high traffic content management systems, and other enterprise applications.
- m4.large: 8 GiB of memory, 2 vCPU, EBS-only, 64-bit platform
- m4.xlarge: 16 GiB of memory, 4 vCPUs, EBS-only, 64-bit platform
- m4.2xlarge: 32 GiB of memory, 8 vCPUs, EBS-only, 64-bit platform
- m4.4xlarge: 64 GiB of memory, 16 vCPUs, EBS-only, 64-bit platform
- m4.10xlarge: 160 GiB of memory, 40 vCPUs, EBS-only, 64-bit platform
M3 instances deliver fixed performance and provide customers with a set of resources for a high level of consistent processing performance on a low-cost platform. Instances in this family are ideal for applications that require balanced CPU and memory performance. Examples of applications that will benefit from the performance of General Purpose instances include encoding, high traffic content management systems, and other enterprise applications.
- m3.medium: 3.75 GiB of memory, 1 vCPU, 4 GB of SSD-based local instance storage, 64-bit platform
- m3.large: 7.5 GiB of memory, 2 vCPUs, 32 GB of SSD-based local instance storage, 64-bit platform
- m3.xlarge: 15 GiB of memory, 4 vCPUs, 80 GB of SSD-based local instance storage, 64-bit platform
- m3.2xlarge: 30 GiB of memory, 8 vCPUs, 160 GB of SSD-based local instance storage, 64-bit platform
C4 instances are based on the Intel Xeon E5-2666 v3 ("Haswell") processor, and are designed to deliver the highest level of compute performance on Amazon EC2.
- c4.large: 3.75 GiB of memory, 2 vCPUs, 64-bit platform
- c4.xlarge: 7.5 GiB of memory, 4 vCPUs, 64-bit platform
- c4.2xlarge: 15 GiB of memory, 8 vCPUs, 64-bit platform
- c4.4xlarge: 30 GiB of memory, 16 vCPUs, 64-bit platform
- c4.8xlarge: 60 GiB of memory, 36 vCPUs, 64-bit platform
C3 instances are based on high frequency Intel Xeon E5-2680 v2 ("Ivy Bridge") processors, and are designed for running compute-intensive applications.
- c3.large: 3.75 GiB of memory, 2 vCPUs, 32 GB of SSD-based local instance storage, 64-bit platform
- c3.xlarge: 7.5 GiB of memory, 4 vCPUs, 80 GB of SSD-based local instance storage, 64-bit platform
- c3.2xlarge: 15 GiB of memory, 8 vCPUs, 160 GB of SSD-based local instance storage, 64-bit platform
- c3.4xlarge: 30 GiB of memory, 16 vCPUs, 320 GB of SSD-based local instance storage, 64-bit platform
- c3.8xlarge: 60 GiB of memory, 32 vCPUs, 640 GB of SSD-based local instance storage, 64-bit platform
Instances of this family provide graphics processing units (GPUs) along with high CPU and network performance for applications benefiting from highly parallelized processing, including 3D graphics, HPC, rendering, and media processing applications. Learn more about use of these instance types for HPC applications.
- g2.2xlarge: 15 GiB memory, 1 x NVIDIA GRID GPU (Kepler GK104), 60 GB of local instance storage, 64-bit platform
- g2.8xlarge: 60 GiB memory, 4 x NVIDIA GRID GPU (Kepler GK104), 240 GB of local instance storage, 64-bit platform
X1 instances are ideal for running in-memory databases like SAP HANA, big data processing engines like Apache Spark or Presto, and high performance computing (HPC) applications. X1 instances are certified by SAP to run production environments of the next-generation Business Suite S/4HANA, Business Suite on HANA (SoH), Business Warehouse on HANA (BW), and Data Mart Solutions on HANA on the AWS cloud.
- x1.32xlarge: 1,952 GiB of memory, 128 vCPUs, 2 x 1,920 GB of SSD-based instance storage, 64-bit platform
R3 instances are ideal for high performance databases, distributed memory caches, in-memory analytics, genome assembly and analysis, Microsoft SharePoint, and other enterprise applications
- r3.large: 15.25 GiB of memory, 2 vCPUs, 1 x 32 GB of SSD-based instance storage, 64-bit platform
- r3.xlarge: 30.5 GiB of memory, 4 vCPUs, 1 x 80 GB of SSD-based instance storage, 64-bit platform
- r3.2xlarge: 61 GiB of memory, 8 vCPUs, 1 x 160 GB of SSD-based instance storage, 64-bit platform
- r3.4xlarge: 122 GiB of memory, 16 vCPUs, 1 x 320 GB of SSD-based instance storage, 64-bit platform
- r3.8xlarge: 244 GiB of memory, 32 vCPUs, 2 x 320 GB of SSD-based instance storage, 64-bit platform, 10 Gigabit Ethernet
Instances of this family provide very high disk I/O performance or proportionally higher storage density per instance, and are ideally suited for applications that benefit from high sequential I/O performance across very large data sets. Storage-optimized instances also provide high levels of CPU, memory and network performance. For more information about specific use cases and Big Data options on AWS, please visit the Big Data solutions page.
- i2.xlarge: 30.5 GiB of memory, 4 vCPUs, 800 GB of SSD-based instance storage, 64-bit platform
- i2.2xlarge: 61 GiB of memory, 8 vCPUs, 2 x 800 GB of SSD-based instance storage, 64-bit platform
- i2.4xlarge: 122 GiB of memory, 16 vCPUs, 4 x 800 GB of SSD-based instance storage, 64-bit platform
- i2.8xlarge: 244 GiB of memory, 32 vCPUs, 8 x 800 GB of SSD-based instance storage, 64-bit platform, 10 Gigabit Ethernet
Instances of this family provide low cost storage and very high disk throughput and are ideally suited for applications that benefit from high sequential I/O performance across very large datasets on local storage. For more information about specific use cases and Big Data options on AWS, please visit the Big Data solutions page.
- d2.xlarge: 30.5 GiB of memory, 4 vCPUs, 3 x 2000 GB of HDD-based instance storage, 64-bit platform
- d2.2xlarge: 61 GiB of memory, 8 vCPUs, 6 x 2000 GB of HDD -based instance storage, 64-bit platform
- d2.4xlarge: 122 GiB of memory, 16 vCPUs, 12 x 2000 GB of HDD-based instance storage, 64-bit platform
- d2.8xlarge: 244 GiB of memory, 36 vCPUs, 24 x 2000 GB of HDD -based instance storage, 64-bit platform, 10 Gigabit Ethernet
See Amazon EC2 Pricing for details on costs for each instance type.
See Amazon EC2 Instance Types for a more detailed description of the differences between the available instance types.
Looking for T1, M1, C1, CC2, CG1, HI1, or HS1 instances? They have been moved to the Previous Generation Instance Page.
Amazon Machine Images (AMIs) are preconfigured with an ever-growing list of operating systems. We work with our partners and community to provide you with the most choice possible. You are also empowered to use our bundling tools to upload your own operating systems. The operating systems currently available to use with your Amazon EC2 instances include:
You will be charged at the end of each month for your EC2 resources actually consumed.
As an example, assume you launch 20 instances of the Small type costing $0.085 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 $.085/hour) of execution at the beginning of each hour relative to the time 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.
Your use of this service is subject to the Amazon Web Services Customer Agreement.