Teams overpay when stable usage remains On-Demand or when commitments don’t match actual usage.
Five variables set the final rate:
Instance type (CPU, memory, performance class)
Region (us-east-1 is typically cheapest)
Operating system (Linux is the baseline)
Pricing model (On-Demand vs. committed)
Coverage
The short answer
EC2 is cheapest when committed pricing covers the part of your workload that is genuinely stable, On-Demand absorbs the variable headroom, and Spot takes whatever can survive an interruption. Most production environments combine several of these options rather than picking one, because each workload has a different tolerance for commitment.That is a starting point, not a verdict. Instance family, region, operating system, and how long a workload has held its shape all move the answer, so the right mix is specific to an environment rather than universal.
The Five EC2 Pricing Models
EC2 pricing options can be combined selectively: On-Demand, Savings Plans, Reserved Instances, and Spot determine compute billing, while Dedicated Hosts provide dedicated hardware and can use On-Demand, reservation, or Savings Plans pricing.1. On-Demand
The default: launch instances, pay per second, stop anytime, no commitment. Maximum flexibility at the highest per-unit cost right for unpredictable workloads, short-term projects, and development environments.2. Savings Plans
Commit to a dollar-per-hour spend rate for 1 or 3 years (AWS Savings Plans pricing). You commit to spend, not a specific instance, so instance types, regions, and OS can change without losing the discount.Compute Savings Plans: up to 66% across EC2 (any family, any region), Fargate, and Lambda.
EC2 Instance Savings Plans: up to 72%, locked to one instance family and region; size and OS can still change.
3. Reserved Instances
Up to 72% savings for committing to a specific instance type, region, and 1- or 3-year term (AWS Reserved Instances pricing).Standard RIs: up to 72%; Availability Zone, size within the family, and networking type can be modified.
Convertible RIs: up to 66%, exchangeable for a different family, OS, or tenancy.
4. Spot Instances
Up to 90% savings on spare AWS capacity.Tradeoff: AWS can reclaim the instance with a two-minute warning.
Fit: fault-tolerant batch, CI/CD, and data processing anything that can checkpoint and resume. Not for workloads requiring continuous uptime.
5. Dedicated Hosts
Physical EC2 servers allocated exclusively to your account, for BYOL licensing (Oracle, Windows Server, SQL Server) and compliance-driven isolation.Pricing: per-host per hour; On-Demand Dedicated rates exceed shared tenancy.
Commitments: 1 or 3 years reduce costs by up to 70%.
Capacity Reservations are separate from these discount mechanisms; they reserve compute capacity in a specific Availability Zone and can be combined with Savings Plans or Regional Reserved Instances.
If a workload runs under roughly 40% of the time, EC2 may not be the right service at all: Fargate eliminates idle cost at a higher per-unit rate, and Lambda is cheapest for sparse, event-driven tasks. See EC2 vs Fargate.
EC2 Pricing Model Comparison
The table compares the five models across their seven purchase options; the four dimensions that determine fit.| Model | Max Savings | Commitment | Flexibility | Interruption Risk |
|---|---|---|---|---|
| On-Demand | — | None | Maximum | None |
| Compute Savings Plan | Up to 66% | 1–3 yr spend rate | High (any family, region, Fargate, Lambda) | None |
| EC2 Instance Savings Plan | Up to 72% | 1–3 yr spend rate | Medium (one family/region) | None |
| Standard Reserved Instance | Up to 72% | 1–3 yr instance | Low | None |
| Convertible Reserved Instance | Up to 66% | 1–3 yr instance | Medium (exchangeable) | None |
| Spot Instances | Up to 90% | None | High | High (2-min warning) |
| Dedicated Hosts (3-yr term) | Up to 70% | Optional 1–3 yr | Low | None |
For a workload-by-workload decision framework, see On-Demand vs Reserved vs Spot: The Complete AWS Pricing Guide 2026
Why Coverage Determines Your Real Savings
Coverage is the percentage of your total compute usage billed under discounted pricing (Savings Plans or RIs) rather than On-Demand rates:Two teams using identical Savings Plans with 80% vs. 40% coverage end up with fundamentally different effective rates roughly 29% vs. 14% total savings on the same workload. The full worked example is in the cost breakdown below.
Undercoverage: large On-Demand exposure. Savings exist on paper but aren't captured.
Overcoverage: committed spend exceeds actual usage prepaid compute that no longer exists, and harder to detect.
Amazon EC2 Instance Types and Pricing
Instance selection has the largest single impact on cost; the wrong family or generation routinely means paying more than the workload requires. EC2 offers 850+ instance types (EC2 Instance Type Explorer) across five families. The following are reference On-Demand rates for Linux in us-east-1:| Instance | Family | Rate | ~Monthly |
|---|---|---|---|
| t4g.nano | General purpose (Graviton) | $0.0042/hr | $3.07 |
| t3.micro | General purpose (burstable) | $0.0104/hr | $7.59 |
| t3.large | General purpose (burstable) | $0.0832/hr | $60.74 |
| m5.large | General purpose | $0.096/hr | $70 |
| g4dn.xlarge | GPU (inference/graphics) | ~$0.526/hr | ~$384 |
Accelerated instances (P, G, Inf, Trn) carry the highest rates, the p5.48xlarge runs approximately $55/hr On-Demand following AWS’s June 2025 price reduction and GPU pricing moves frequently in both directions.
AWS Graviton (ARM) instances price 10-20% below equivalent x86 with comparable or better performance for most Linux workloads; the t4g.nano above is 20% cheaper than the t3.nano it parallels.
Graviton4 is broadly available, with Graviton5-based M9g instances now appearing in AWS’s lineup. For stateless Linux workloads, evaluate Graviton fit before purchasing a commitment by confirming Arm64 compatibility, rebuilding any native dependencies where necessary, and testing performance after right-sizing.
EC2 Pricing by Operating System
OS choice directly moves the per-hour rate, and Linux (Amazon Linux, Ubuntu) is the baseline. AWS’s published license components (Amazon EC2 On-Demand pricing) list Windows Server at $0.046 per vCPU-hour, and Windows with SQL Web, SQL Standard, and SQL Enterprise at $0.063, $0.166, and $0.421 per vCPU-hour respectively.RHEL moved to per-vCPU-hour pricing on July 1, 2024, with rates varying by instance size and subscription tier.
License costs can exceed the compute discount itself; where workloads allow it, standardizing on Linux is often the single largest per-instance rate reduction available. We break down per-instance rates by OS and size in a dedicated guide.
What Your EC2 Bill Includes
The instance is often not the largest line item once storage, transfer, and networking are counted. Beyond compute billed on provisioned capacity regardless of utilization four components accumulate:EBS storage. Charges continue even when the instance is stopped. gp3 costs $0.08/GB-month with 3,000 IOPS included; migrate from legacy gp2 for a 20% per-GB reduction with no downtime (AWS EBS pricing). Snapshots accrue at $0.05/GB-month and pile up silently without retention policies.
Data transfer. Inbound and same-AZ private traffic are free. Cross-AZ traffic costs $0.01/GB in each direction; internet egress runs $0.09/GB after the first 100 GB/month free.
Networking:
NAT Gateways: 0.045/hr(~32.40/month each) plus $0.045/GB processed
VPC Gateway Endpoints eliminate NAT processing fees for S3 and DynamoDB traffic
Public IPv4: since February 1, 2024, every public IPv4 address attached or idle, Elastic IP or auto-assigned bills at 0.005/hr,~3.65/month each (AWS public IPv4 address charge)
Audit these components before purchasing commitments, or you lock in spend against an already-inflated baseline.
A Real EC2 Cost Breakdown
Scenario: 10 × m5.large instances, Linux, running 24/7 in us-east-1 ($0.096/hr On-Demand). Savings are approximate 1-year No Upfront rates; verify at AWS Savings Plans pricing.| Pricing Model | Monthly Cost | Annual Cost | Savings vs. On-Demand |
|---|---|---|---|
| On-Demand | ~$700 | ~$8,400 | — |
| Compute Savings Plan (1-yr) | ~$455 | ~$5,460 | ~35% |
| EC2 Instance Savings Plan (1-yr) | ~$420 | ~$5,040 | ~40% |
| Standard RI (3-yr All Upfront) | ~$390 | ~$4,680 | ~44% |
| Spot (blended) | ~$250–300 | ~$3,000–3,600 | ~60–70% |
40% coverage: ~$600/month effective ~14% total savings
80% coverage: ~$500/month effective ~29% total savings
Why Savings Plans and RIs Underperform
Commitments underperform when committed and actual usage drifts apart. Terms are fixed for 1-3 years while infrastructure evolves continuously, new services launch, teams migrate instance generations, scaling patterns shift and by the time drift is visible, months of sub-optimal spend have accumulated.Compute tolerates longer terms; database and specialized services evolve faster and are harder to commit against accurately. Side-by-side comparison: [AWS Savings Plans vs Reserved Instances: A Practical Guide]
Six Steps to Lower EC2 Costs
Every pricing decision trades cost, flexibility, and risk lower cost requires commitment, and commitment reduces flexibility. Treat pricing as a portfolio maintained over time, not a one-time configuration:- Start with coverage. Raising coverage from 50% to 75-80% typically cuts total compute cost more than aggressive rightsizing.
- Right-size before committing. A discount locked onto an oversized instance is still overspend. Signals to check:
- CloudWatch P90 CPUUtilization below 40% indicates over-provisioning
- FreeableMemory consistently above 25% of RAM indicates oversized memory Right-sizing first typically reduces required commitments by 20-30%.
- Balance coverage with utilization. Well-optimized environments hold 70-85% coverage and 85-95% utilization.
- Match commitments to stability. Commit aggressively to stable, long-running services; conservatively to workloads that scale or migrate.
- Treat pricing as a portfolio. Target 60-80% committed, 10-30% On-Demand, 0-20% Spot for fault-tolerant work.
- Optimize continuously. AWS Cost Explorer data refreshes at least once every 24 hours, and native recommendations lag actual usage further by the time they are reviewed and acted on. Monthly reviews let misalignment accumulate
Coverage measured
Know what share of usage is on committed rates today.
Right-sized first
Confirm instances are correctly sized before committing.
Utilization tracked
Confirm commitments are fully consumed, not just purchased.
Commitments matched to stability
Be aggressive on stable workloads and conservative on shifting ones.
Reviewed weekly
Treat coverage and utilization as live metrics.
EC2 Free Tier in 2026
The Free Tier changed on July 15, 2025 (AWS Free Tier announcement). Accounts created before that date receive 750 hours/month of t2.micro or t3.micro (Linux or Windows) for 12 months, enough to run one instance continuously.Accounts created on or after it receive up to 200incredits(100 at sign-up plus up to $100 earned through service activities); the free plan expires 6 months after sign-up or when credits are depleted, whichever comes first. There is no permanent Free Tier for EC2 on either plan.
Closing the Coverage Gap
EC2 has five purchase models, but the discount ceiling on any of them is not what determines your savings. Coverage is and many teams sit below the 70-85% range that well-optimized environments hold.The reason is rarely a lack of intent. Commitments are fixed for one to three years while infrastructure changes continuously, so teams under-commit to avoid being locked into capacity they may not need.
The AWS Pricing Calculator is built for planning, not monitoring: it estimates the cost of usage you define before you commit. What it doesn’t do is track how coverage and utilization drift after the purchase and that drift, not the initial estimate, is where savings erode. For a side-by-side, see AWS Pricing Calculator vs Usage.ai Savings Calculator.
With Flex Insured Commitments, teams can get the 57% savings of a 3-year commitment with none of the commitment risk.
If eligible usage drops and a qualifying EC2 Flex Commitment ends up costing more than the On-Demand rate for that usage, we provide cashback protection on that difference, subject to program terms.
Our fee is a percentage of realized savings only. If we don’t save you money, you don’t pay anything.
Review your committed coverage, On-Demand exposure, and where commitments are running below full utilization.
Frequently asked questions
What is Amazon EC2 pricing per hour?
- T4g.nano: 0.0042/hr(~3.07/month)
- T3.micro: 0.0104/hr(~7.59/month)
- M5.large: 0.096/hr(~70/month)
What is the cheapest EC2 instance type?
The t4g.nano (Graviton ARM) at $0.0042/hr in us-east-1 Linux, 20% cheaper than the equivalent t3.nano. Spot pricing for T-family instances can push rates lower for interruptible workloads.
Does a stopped EC2 instance still cost money?
No compute charges, but attached EBS volumes keep billing at their provisioned rate, snapshots accrue at $0.05/GB-month, and every public IPv4 address on the account attached or not charges $0.005/hr.
What is the difference between Savings Plans and Reserved Instances?
Savings Plans commit to a dollar-per-hour spend rate that applies automatically across EC2, Fargate, and Lambda. Reserved Instances commit to a specific instance configuration for deeper exact-match discounts, but are rigid when infrastructure changes.
Can Reserved Instances be canceled?
Generally no. Standard RIs can be listed on the AWS RI Marketplace, typically at a discount to face value; Convertible RIs can be exchanged for a different configuration instead.