What is Amazon EC2?
Amazon Elastic Compute Cloud (Amazon EC2) provides on-demand, scalable computing capacity in the Amazon Web Services (AWS) Cloud. Using Amazon EC2 reduces hardware costs so you can develop and deploy applications faster. You can use Amazon EC2 to launch as many or as few virtual servers as you need, configure security and networking, and manage storage. You can add capacity (scale up) to handle compute-heavy tasks, such as monthly or yearly processes, or spikes in website traffic. When usage decreases, you can reduce capacity (scale down) again.
The following diagram shows a basic architecture of an Amazon EC2 instance deployed within an Amazon Virtual Private Cloud (VPC). In this example, the EC2 instance is within an Availability Zone in the Region. The EC2 instance is secured with a security group, which is a virtual firewall that controls incoming and outgoing traffic. A private key is stored on the local computer and a public key is stored on the instance. Both keys are specified as a key pair to prove the identity of the user. In this scenario, the instance is backed by an Amazon EBS volume. The VPC communicates with the internet using an internet gateway. For more information about Amazon VPC, see the Amazon VPC User Guide.

Tip
This user guide provides information specific to running Linux-based instances on Amazon EC2. See the EC2 User Guide for Windows Instances for information to help you run Windows-based instances on EC2.
Amazon EC2 supports the processing, storage, and transmission
of credit card data by a merchant or service provider, and has been
validated as being compliant with Payment Card Industry (PCI) Data Security Standard (DSS).
For more information about PCI DSS, including how to request a copy of the AWS PCI Compliance Package,
see PCI DSS Level 1
If you are looking for technical guidance about Amazon EC2, try AWS re:Post
For more information about cloud computing, see What is cloud computing?
Features of Amazon EC2
Amazon EC2 provides the following high-level features:
- Instances
-
Virtual servers.
- Amazon Machine Images (AMIs)
-
Preconfigured templates for your instances that package the components you need for your server (including the operating system and additional software).
- Instance types
-
Various configurations of CPU, memory, storage, networking capacity, and graphics hardware for your instances.
- Key pairs
-
Secure login information for your instances. AWS stores the public key and you store the private key in a secure place.
- Instance store volumes
-
Storage volumes for temporary data that is deleted when you stop, hibernate, or terminate your instance.
- Amazon EBS volumes
-
Persistent storage volumes for your data using Amazon Elastic Block Store (Amazon EBS).
- Regions, Availability Zones, Local Zones, AWS Outposts, and Wavelength Zones
-
Multiple physical locations for your resources, such as instances and Amazon EBS volumes.
- Security groups
-
A virtual firewall that allows you to specify the protocols, ports, and source IP ranges that can reach your instances, and the destination IP ranges to which your instances can connect.
- Elastic IP addresses
-
Static IPv4 addresses for dynamic cloud computing.
- Tags
-
Metadata that you can create and assign to your Amazon EC2 resources.
- Virtual private clouds (VPCs)
-
Virtual networks you can create that are logically isolated from the rest of the AWS Cloud. You can optionally connect these virtual networks to your own network.
For details about all of the features of Amazon EC2, see Amazon EC2 features
For options to run your website on AWS, see Web Hosting
Get started with Amazon EC2
The following topics can help you get started with Amazon EC2. After you set up to use EC2, you can walk through Tutorial: Get started with Amazon EC2 Linux instances to launch, connect to, and clean up an instance. The remaining topics point to more information about the high-level features of EC2.
Set up and use an EC2 instance
Learn the basics of Amazon EC2
Read about networking and security
Review your storage options
Walk through a Linux tutorial
Troubleshoot EC2
Related services
You can provision Amazon EC2 resources, such as instances and volumes, directly using Amazon EC2. In addition, you can provision EC2 resources using other AWS services, such as the following:
-
Helps ensure you have the correct number of Amazon EC2 instances available to handle the load for your application.
-
Helps you model and set up your AWS resources using templates.
-
Deploy and manage applications in the AWS Cloud without having to understand the underlying infrastructure.
-
Automate how servers are configured, deployed, and managed across your Amazon EC2 instances using Chef and Puppet.
-
Automate the creation, management, and deployment of customized, secure, and up-to-date server images.
-
Size, configure, and deploy AWS resources for third-party applications without having to manually identify and provision individual AWS resources.
Additional related services
-
To build websites or web applications, you can deploy and manage basic cloud resources using Amazon Lightsail. To compare the features of Amazon EC2 and Lightsail for your use case, see Amazon Lightsail or Amazon EC2
. -
Automatically distribute incoming application traffic across multiple instances.
-
Amazon Relational Database Service (Amazon RDS)
Set up, operate, and scale a managed relational database in the cloud. Although you can set up a database on an EC2 instance, Amazon RDS offers the advantage of handling your database management tasks, such as patching the software, backing up, and storing the backups.
-
Amazon Elastic Container Service (Amazon ECS)
Deploy, manage, and scale containerized applications on a cluster of EC2 instances.
-
Amazon Elastic Kubernetes Service (Amazon EKS)
Run your Kubernetes applications on AWS.
-
Monitor your instances and Amazon EBS volumes.
-
Detect potentially unauthorized or malicious use of your EC2 instances.
-
Automate backing up your Amazon EC2 instances and the Amazon EBS volumes attached to them.
Access Amazon EC2
You can create and manage your Amazon EC2 instances using the following interfaces:
- Amazon EC2 console
-
A simple web interface to create and manage Amazon EC2 instances and resources. If you've signed up for an AWS account, you can access the Amazon EC2 console by signing into the AWS Management Console and selecting EC2 from the console home page.
- AWS Command Line Interface
-
Enables you to interact with AWS services using commands in your command-line shell. It is supported on Windows, Mac, and Linux. For more information about the AWS CLI , see AWS Command Line Interface User Guide. You can find the Amazon EC2 commands in the AWS CLI Command Reference.
- AWS Tools for PowerShell
-
A set of PowerShell modules that are built on the functionality exposed by the AWS SDK for .NET. The Tools for PowerShell enable you to script operations on your AWS resources from the PowerShell command line. To get started, see the AWS Tools for Windows PowerShell User Guide. You can find the cmdlets for Amazon EC2, in the AWS Tools for PowerShell Cmdlet Reference.
- AWS CloudFormation
-
Amazon EC2 supports creating resources using AWS CloudFormation. You create a template, in JSON or YAML format, that describes your AWS resources, and AWS CloudFormation provisions and configures those resources for you. You can reuse your CloudFormation templates to provision the same resources multiple times, whether in the same Region and account or in multiple Regions and accounts. For more information about supported resource types and properties for Amazon EC2, see EC2 resource type reference in the AWS CloudFormation User Guide.
- Query API
-
Amazon EC2 provides a Query API. These requests are HTTP or HTTPS requests that use the HTTP verbs GET or POST and a Query parameter named
Action
. For more information about the API actions for Amazon EC2, see Actions in the Amazon EC2 API Reference. - AWS SDKs
-
If you prefer to build applications using language-specific APIs instead of submitting a request over HTTP or HTTPS, AWS provides libraries, sample code, tutorials, and other resources for software developers. These libraries provide basic functions that automate tasks such as cryptographically signing your requests, retrying requests, and handling error responses, making it easier for you to get started. For more information, see Tools to Build on AWS
.
Pricing for Amazon EC2
Amazon EC2 provides the following pricing options:
- Free Tier
-
You can get started with Amazon EC2 for free. To explore the Free Tier options, see AWS Free Tier
. - On-Demand Instances
-
Pay for the instances that you use by the second, with a minimum of 60 seconds, with no long-term commitments or upfront payments.
- Savings Plans
-
You can reduce your Amazon EC2 costs by making a commitment to a consistent amount of usage, in USD per hour, for a term of 1 or 3 years.
- Reserved Instances
-
You can reduce your Amazon EC2 costs by making a commitment to a specific instance configuration, including instance type and Region, for a term of 1 or 3 years.
- Spot Instances
-
Request unused EC2 instances, which can reduce your Amazon EC2 costs significantly.
- Dedicated Hosts
-
Reduce costs by using a physical EC2 server that is fully dedicated for your use, either On-Demand or as part of a Savings Plan. You can use your existing server-bound software licenses and get help meeting compliance requirements.
- On-Demand Capacity Reservations
-
Reserve compute capacity for your EC2 instances in a specific Availability Zone for any duration of time.
- Per-second billing
-
Removes the cost of unused minutes and seconds from your bill.
For a complete list of charges and prices for Amazon EC2 and more information about the purchase
models, see Amazon EC2 pricing
Estimates, billing, and cost optimization
To create estimates for your AWS use cases, use the AWS Pricing Calculator
To see your bill, go to the Billing and Cost Management
Dashboard in the AWS Billing and Cost Management
console
If you have questions concerning AWS billing, accounts, and events, contact AWS Support
To calculate the cost of a sample provisioned
environment, see Cloud Economics
Center
You can optimize the cost, security, and performance of your AWS environment
using AWS Trusted Advisor