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 EC2 bare metal instances provide your applications with direct access to the processor and memory of the underlying server. These instances are ideal for workloads that require access to hardware feature sets (such as Intel® VT-x), or for applications that need to run in non-virtualized environments for licensing or support requirements. Bare metal instances are built on the Nitro system, a collection of AWS-built hardware offload and hardware protection components that come together to securely provide high performance networking and storage resources to EC2 instances. Bare metal instances are EC2 instances and thus offer the same robust security, reliability, capacity elasticity, and support for different operating systems and software packages as other virtual EC2 instances. You can also use bare metal instances with AWS services such as Amazon Virtual Private Cloud (VPC), Elastic Block Store (EBS), Elastic Load Balancing (ELB) and more.
With a single API call, Amazon EC2 Fleet lets you provision compute capacity across EC2 instance types, Availability Zones, and purchase models to help optimize scale, performance and cost. You can specify how much On-Demand and Spot capacity to launch via EC2 Fleet. You can also define which instance types you prefer and whether to scale capacity based on cores, instances or memory. Read FAQs and AWS blog to learn more. Now you can access EC2 Fleet capabilities via Amazon EC2 Auto Scaling to provision and automatically scale compute capacity across EC2 instance types, Availability Zones, and purchase options in a single Auto Scaling Group. Learn more>>
You can hibernate your Amazon EC2 instances backed by Amazon EBS, and resume them from this state at a later time. Applications that take a while to bootstrap and persist state into memory (RAM) can benefit from this feature. Hibernation gives you all the benefits of Stop and Start, and additionally, data from memory (RAM) is also persisted between sessions. You will not be charged for instance usage while your instance is hibernated. Storage is charged at standard EBS rates. For more information about hibernation, and supported instance types and operating systems, visit the FAQs.
Customers requiring massive floating point processing power will benefit from the next-generation of general-purpose GPU compute instances from AWS, Amazon EC2 P3 instances with up to 8 NVIDIA® V100 Tensor Core GPUs. P3 instances provide up to 1 petaFLOPS of mixed-precision, 125 teraFLOPS of single-precision and 62 teraFLOPS of double-precision floating point performance. A 300 GB/s second generation NVLink interconnect allows GPU-to-GPU communication at high speed and low latency. P3 instances also feature up to 96 vCPUs based on custom Intel processors, 768 GB of DRAM, and 100 Gbps of dedicated aggregate network bandwidth using the Elastic Network Adapter (ENA). P3 instances are ideally suited for machine learning, high-performance computing, computational fluid dynamics, computational finance, seismic analysis, molecular modeling, genomics, and rendering workloads.
Customers requiring high graphics capability will benefit from GPU graphics instances. The current generation GPU graphics instance, G3 instance, provides access to NVIDIA Tesla M60 GPUs, each with up to 2,048 parallel processing cores, 8 GiB of GPU memory and a hardware encoder supporting up to 10 H.265 (HEVC) 1080p30 streams and up to 18 H.264 1080p30 streams. With the latest driver releases, these GPUs provide support for OpenGL, DirectX, CUDA, OpenCL, and Capture SDK (formerly known as GRID SDK). GPU graphics instances are ideally suited for 3D visualizations, graphics-intensive remote workstation, 3D rendering, application streaming, video encoding, and other server-side graphics workloads.
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 3 million IOPS. High I/O I3 and I3en instances are backed by Non-Volatile Memory Express (NVMe) based SSDs, and are ideally suited for customers running very high performance NoSQL databases, transactional systems, and Elastic Search workloads. High I/O instances also offer sequential disk throughput up to 16 GB/s, which is ideal for analytics workloads.
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, or offer a balance with lesser storage and memory per vCPU with ENA based networking for up to 25 Gbps of Network Bandwidth within a placement group. See Amazon EC2 Instance Types to find out more about Dense Storage instances.
The Optimize CPUs feature gives you greater control of your Amazon EC2 instances on two fronts. First, you can specify a custom number of vCPUs when launching new instances to save on vCPU-based licensing costs. Second, you can disable multithreading for workloads that perform well with single-threaded CPUs, such as certain high-performance computing (HPC) applications. To learn more about how Optimize CPUs can help you, visit the Optimize CPUs documentation here.
Different Amazon EC2 workloads can have vastly different storage requirements. Beyond the built-in instance storage, we also have Amazon Elastic Block Store (Amazon EBS) and Amazon Elastic File System (Amazon EFS) to suit other cloud storage workload requirements.
Amazon EBS provides persistent, highly available, consistent, low-latency block storage volumes for use with Amazon EC2 instances. Each Amazon EBS volume is automatically replicated within its Availability Zone to protect you from component failure, offering high availability and durability. It is designed for application managers who need to tune workloads for capacity, performance and cost.
Amazon EFS provides simple, scalable, persistent, fully managed cloud file storage for shared access. Designed for high availability and durability across multiple Availability Zones it delivers a file system interface with standard file system access semantics, grows and shrinks capacity automatically, and provides application managers with high throughput and consistently low latencies at petabyte scale.
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 for Windows instances and by the second for Linux instances.
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.99% 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 EC2 Auto Scaling allows you to automatically scale your Amazon EC2 capacity up or down according to conditions you define. With EC2 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. EC2 Auto Scaling is particularly well suited for applications that experience hourly, daily, or weekly variability in usage. EC2 Auto Scaling is enabled by Amazon CloudWatch and available at no additional charge beyond Amazon CloudWatch fees. See Amazon EC2 Auto Scaling for more details. To scale other services in addition to EC2, you can use AWS Auto Scaling.
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.
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. For instructions on how to enable Enhanced Networking on EC2 instances, see the Enhanced Networking on Linux and Enhanced Networking on Windows tutorials. For availability of this feature by instance, or to learn more, visit the Enhanced Networking FAQ section.
Elastic Fabric Adapter (EFA) is a network interface for Amazon EC2 instances that enables customers to run HPC applications requiring high levels of inter-instance communications, like computational fluid dynamics, weather modeling, and reservoir simulation, at scale on AWS. It uses a custom-built operating system bypass technique to enhance the performance of inter-instance communications, which is critical to scaling HPC applications. With EFA, HPC applications using popular HPC technologies like Message Passing Interface (MPI) can scale to thousands of CPU cores. EFA supports industry-standard libfabric APIs, so applications that use a supported MPI library can be migrated to AWS with little or no modification.
EFA is available as an optional EC2 networking feature that you can enable on C5n.18xl, and P3dn.24xl, and I3en.24xl instances. Additional instance types will be supported in the coming months.
Customers can privately access Amazon EC2 APIs from their Amazon Virtual Private Cloud (VPC) or over AWS Direct Connect, without using public IPs, and without requiring the traffic to traverse across the Internet. AWS PrivateLink is a purpose-built technology designed for customers to access Amazon services in a high performance and highly available manner, while keeping all the network traffic within the AWS network. In order to use Amazon EC2 with AWS PrivateLink, you will need to create an endpoint for EC2 in your VPC. Any traffic destined to this endpoint will get privately routed to the EC2 service. To learn more about AWS PrivateLink, read the PrivateLink documentation.
The Amazon Time Sync Service provides a highly accurate, reliable and available time source to AWS services including EC2 instances. All instances running in a VPC can access the service at a universally reachable IP address. The service uses a fleet of redundant satellite-connected and atomic reference clocks in AWS regions to deliver highly accurate and reliable current time readings of the Coordinated Universal Time (UTC) global standard. For instructions on how to access the service, see Setting the Time sections of the Linux and Windows User Guides.
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:
AWS Marketplace features a wide selection of commercial and free software from well-known vendors, designed to run on your EC2 instances. A sample of products are below. To see the full selection, visit AWS Marketplace.
Intended usage & restrictions
Your use of this service is subject to the Amazon Web Services Customer Agreement.