Pricing Models
The pricing dimensions and the commitment-for-discount deal
The same EC2 capacity can cost wildly different amounts depending on one choice: how much commitment you make to it. That trade, more commitment for a deeper discount, is the spine of every pricing question here, so reading a workload's tolerance for commitment is how you pick the cheapest option that fits. AWS charges pay-as-you-go across three dimensions: compute (time resources run), storage (data you keep), and data transfer (moving data out of and across AWS); the figure below groups those three fundamentals. The most-tested is how you buy compute, because the same EC2 capacity costs very different prices depending on how much commitment you make.
The core idea is a trade: the more you commit, the more you save.
- On-Demand is the no-commitment baseline. You pay the published per-second or per-hour rate with no upfront payment and no contract, starting and stopping whenever you like. It is the most expensive per hour but the most flexible.
- Reserved Instances (RIs) and Savings Plans are the commitment options: a one-year or three-year term buys a large discount versus On-Demand, and the three-year term plus larger upfront payments yield the biggest discounts. Note up front: an RI is a billing discount applied to matching usage, not a physical server you reserve.
- Spot Instances invert the deal: no commitment, but you accept that AWS can take the capacity back, for the deepest discount of all. Because the work simply resumes elsewhere, Spot is suitable (not unreliable) for interruption-tolerant jobs, including production ones.
The exam heuristic follows from that spectrum: steady and predictable → commit; interruptible → Spot; spiky, new, or short-term → On-Demand. AWS describes these EC2 purchase options together on the EC2 pricing overview[1], and the deeper Reserved Instance mechanics live in the Reserved Instances overview[2].
Reserved Instances vs Savings Plans: commit to a config vs commit to spend
Both Reserved Instances and Savings Plans buy a discount with a one- or three-year commitment, but they commit to different things, and the exam tests the distinction. The figure below groups each family with its two variants so the split reads at a glance.
A Reserved Instance is a billing discount tied to specific instance attributes, never a physical server you reserve, as the previous section noted. The discount applies to On-Demand usage that matches attributes you choose: instance type, Region, tenancy (whether the hardware is shared with other AWS customers or single-tenant, see the next section), and platform/OS. There are two offering classes that trade discount for flexibility, per the Reserved Instances overview[2]:
- Standard RIs give the biggest discount but can only be modified, not exchanged.
- Convertible RIs give a smaller discount but can be exchanged for another Convertible RI with different attributes, so they suit changing needs.
RIs also have a scope, regional or zonal, and the regional vs zonal documentation[3] spells out the contrast the exam loves:
- A regional RI does not reserve capacity, but it gives Availability Zone flexibility (the discount applies in any AZ in the Region) and instance size flexibility (the discount applies across sizes within the same instance family, on Linux/Unix with default tenancy).
- A zonal RI reserves capacity in one specified Availability Zone, but has no AZ flexibility and no size flexibility: the discount applies only to that exact type and size in that AZ.
A Savings Plan commits to an amount of spend, not a configuration. Instead of pinning attributes, a Savings Plan commits you to a consistent dollar-per-hour amount for a one- or three-year term, and AWS automatically applies the discount to matching usage. The Savings Plans FAQ[4] describes the two compute-relevant types:
- Compute Savings Plans are the most flexible: the discount automatically applies to EC2 usage regardless of instance family, size, Availability Zone, Region, OS, or tenancy, and also covers AWS Fargate and AWS Lambda.
- EC2 Instance Savings Plans give a larger discount but lock you to a specific instance family in a chosen Region: you can still change size, OS, AZ, and tenancy within that family and Region.
The exam's default guidance follows AWS's own: Savings Plans are recommended over Reserved Instances for most compute savings because they are simpler and more flexible, and they cover Fargate and Lambda, which RIs do not.
RIs and Savings Plans in AWS Organizations: with consolidated billing, an unused RI or Savings Plan discount is shared across all accounts in the organization by default, so a reservation bought in one account can benefit matching usage in a sibling account, maximizing utilization. The management account can turn this discount sharing off per account if needed.
Spot, dedicated tenancy, and capacity reservations: when each is the answer
Beyond the commitment spectrum, a few specialized options answer specific stems.
Spot Instances, interruptible spare capacity. Spot uses AWS's unused EC2 capacity at the deepest discount, but AWS can reclaim it when it needs the capacity back, giving only a two-minute interruption notice before the instance is stopped or terminated. As the opening section noted, this does not make Spot "unreliable": it makes it correct precisely for workloads that tolerate interruption: batch processing, big-data analytics, CI/CD, image/video rendering, and stateless or containerized jobs that can resume, including production ones. It is the wrong answer only for a steady production database, a stateful single server, or anything that cannot be safely stopped. AWS lists Spot among the EC2 purchase options on the EC2 pricing page[1].
Dedicated Hosts vs Dedicated Instances, single-tenant hardware. This is the tenancy attribute the previous section referenced: both run your instances on hardware not shared with other AWS customers, usually to satisfy compliance/regulatory isolation or licensing rules, but they differ:
- A Dedicated Host is a whole physical server allocated to you, with visibility into its sockets and physical cores, which is what lets you reuse server-bound, per-socket or per-core bring-your-own-license (BYOL) software.
- A Dedicated Instance runs on hardware dedicated to your account but without that host-level visibility into sockets/cores.
Exam tell: 'must reuse our existing per-socket / per-core licenses' → Dedicated Host; 'isolated single-tenant hardware for compliance' with no licensing-visibility requirement → Dedicated Instance.
On-Demand Capacity Reservations, guarantee capacity, separate from discounts. A Capacity Reservation reserves EC2 capacity in a specific Availability Zone for any duration, so the capacity is there when you need it (for example, ahead of a known launch event or for disaster-recovery standby). Crucially, it is independent of any pricing discount: by itself it is billed at On-Demand rates whether or not you run instances in it, though it can be combined with a Savings Plan or regional RI to get both the guarantee and the discount. Don't confuse it with a regional RI, which gives a discount but no capacity guarantee.
Data transfer and storage tier pricing rules
Two non-compute pricing rules recur on the exam because they drive real bills.
Data transfer, you pay to move data out and across boundaries, not in. The directional rules, summarized from the EC2 On-Demand pricing page[5] and traced in the figure below:
- Data transfer IN to AWS from the internet is free.
- Data transfer OUT to the internet is charged per GB above a small monthly free allowance (AWS provides 100 GB of free data-transfer-out to the internet each month, aggregated across services and Regions outside China and GovCloud).
- Between AWS Regions (inter-Region) data transfer is charged.
- Between Availability Zones within the same Region (inter-AZ) data transfer is charged in both directions per GB.
- Within a single Availability Zone over private IP addresses, traffic is generally free.
The cost-optimization takeaway the exam rewards: to lower the bill, reduce data egress to the internet and avoid unnecessary cross-Region and cross-AZ traffic (for example, keep chatty components in the same AZ, and serve repeat downloads from Amazon CloudFront so they don't re-egress from the origin each time).
Storage tier pricing, cheaper storage in exchange for less-frequent access. Amazon S3 offers a range of storage classes that are, per the S3 storage classes page[6], "purpose-built to provide the lowest cost storage for different access patterns." The trade-off is consistent: the rarer the access, the lower the per-GB storage price, but the higher the retrieval cost and latency.
- S3 Standard, frequently accessed data; highest storage price, no retrieval fee.
- S3 Standard-Infrequent Access (Standard-IA) and S3 One Zone-IA, cheaper storage for infrequently accessed data (One Zone-IA stores in a single AZ, so it is even cheaper but less resilient).
- S3 Glacier Instant / Flexible Retrieval and S3 Glacier Deep Archive, archival classes with the lowest storage prices; Deep Archive is S3's lowest-cost class, intended for data accessed extremely rarely, with the longest retrieval times.
- S3 Intelligent-Tiering, for unknown or changing access patterns, it automatically moves objects to the most cost-effective tier based on access frequency with no retrieval fees, for a small per-object monitoring charge.
Exam tell: 'access pattern unknown or unpredictable' → S3 Intelligent-Tiering; 'rarely accessed, lowest cost, retrieval delay acceptable' → an S3 Glacier class (Deep Archive for the absolute cheapest, long-term archive).
Exam-pattern recognition: stem keywords to the right option
Pricing-model questions are highly pattern-matchable once you anchor on the keywords in the stem. The diagram below traces the same predictability-and-interruption-tolerance test from the opening section down to a single purchase option; the keyword list then fills in the finer distinctions.
Compute purchasing, keyword to option:
- 'steady-state / runs 24x7 / predictable for the next year(s) / lowest cost without losing the instance' → Reserved Instance or Savings Plan. If the answer must span instance families, Regions, or include Fargate/Lambda, pick Compute Savings Plans; if it's a fixed, known instance family, an RI or EC2 Instance Savings Plan fits.
- 'flexible / changing usage / want savings but not to commit to a specific instance type' → Savings Plan (commit to spend, not config). AWS recommends Savings Plans over RIs as the default.
- 'fault-tolerant / batch / can be interrupted / stateless / cheapest possible compute' → Spot Instances.
- 'no commitment / unpredictable / short-term / spiky / just getting started' → On-Demand.
- 'must reserve capacity in a specific AZ ahead of a launch / DR standby' → On-Demand Capacity Reservation (note: it does not give a discount by itself).
- 'reuse existing per-core / per-socket software licenses (BYOL) on physical hardware' → Dedicated Host.
- 'single-tenant hardware for compliance/regulatory isolation' (no license-visibility need) → Dedicated Instance.
Distractor traps to expect:
- RI vs Savings Plan precision. A stem stressing flexibility across families/Regions or coverage of Fargate/Lambda points to Compute Savings Plans, not a Reserved Instance. RIs don't cover Fargate or Lambda.
- Capacity vs discount confusion. If the requirement is guaranteed capacity in an AZ, the answer is a Capacity Reservation (or a zonal RI, which does reserve capacity); a regional RI gives a discount but no capacity guarantee.
- Spot for the wrong workload. Spot is the cheapest, but it is wrong whenever the workload cannot tolerate a two-minute interruption. Eliminate Spot for production databases and stateful single servers.
- Cost optimization via data and storage. When a question asks how to reduce the bill, watch for answers about cutting data-transfer-out, avoiding cross-Region/cross-AZ traffic, and moving cold data to a cheaper S3 storage class, not just changing the compute purchase option.
EC2 compute purchasing options compared
| Attribute | On-Demand | Reserved Instance | Spot | Savings Plan |
|---|---|---|---|---|
| Commitment | None | 1 or 3 years, fixed config | None | 1 or 3 years, $/hour spend |
| Relative cost | Highest | Large discount | Deepest discount | Large discount |
| Can be interrupted by AWS | No | No | Yes (2-minute notice) | No |
| Flexibility | Full | Locked to attributes (size flex within family) | Full, but reclaimable | High (Compute SP spans family/Region/Fargate/Lambda) |
| Best for | Spiky / unpredictable / short-term | Steady, known instance config | Fault-tolerant batch / stateless | Steady spend, mixed compute |
Decision tree
Sharp facts the exam loves — give these one last read before exam day.
Cheat sheet
Sharp facts the exam loves — scan these before test day.
- More commitment means a bigger discount
AWS compute pricing trades commitment for savings:
On-Demandcarries no commitment and the highest hourly rate, whileReserved InstancesandSavings Planscut up to ~72% off On-Demand for a 1- or 3-year term. Within those terms, the 3-year length and a larger upfront payment (All Upfront > Partial Upfront > No Upfront) each yield a deeper discount.Trap Assuming a No Upfront commitment earns no discount, when it still delivers the term savings just below the All Upfront and Partial Upfront tiers.
3 questions test this
- A company runs a production database on a specific Amazon EC2 instance type that must operate continuously for the next three years. The…
- A company runs a production database on Amazon EC2 that operates continuously 24 hours a day and has had steady, predictable usage for the…
- A company runs a production database on Amazon RDS for MySQL with consistent, predictable usage 24 hours a day, 7 days a week. The database…
- On-Demand is for unpredictable or short-term workloads
On-Demandbills the published per-second/per-hour rate with no upfront cost and no contract. It fits new, spiky, short-term, or unpredictable workloads where a 1- or 3-year commitment would risk paying for capacity you don't use.Trap Putting a steady, always-on production workload on On-Demand and paying full rate when a Savings Plan or Reserved Instance would cut the bill up to ~72%.
3 questions test this
- A startup company is developing a new application and needs to run EC2 instances for testing during unpredictable hours. The testing…
- A startup is launching a new web application and cannot predict how much traffic it will receive. The application must run reliably without…
- A retail company is launching a two-week marketing campaign and expects an unpredictable, short-term spike in web traffic. The company…
- A Reserved Instance is a discount, not a server
A
Reserved Instanceis a billing discount applied to matching On-Demand usage, not a physical instance you hold. The discount attaches automatically to running instances that match its attributes: instance type, Region, tenancy, and platform/OS.Trap Treating a Reserved Instance as a launched/provisioned server you must start, rather than a billing benefit applied to matching On-Demand usage.
- Standard RIs discount more; Convertible RIs can be exchanged
Standard Reserved Instancesgive the largest discount but can only be modified, never exchanged.Convertible Reserved Instancesdiscount less but can be exchanged for another Convertible RI with different attributes, the right choice when future instance needs may change.Trap Choosing a Standard RI when the instance family or size may change later. Standard RIs can't be exchanged, only Convertible ones can.
- Regional RIs give flexibility but no reserved capacity
A regional
Reserved Instancedoes not reserve capacity, but its discount carries Availability Zone flexibility (any AZ in the Region) plus instance size flexibility within the same family, the latter only on Linux/Unix with default tenancy. Reach for it when you want the discount to float across AZs and sizes rather than guarantee a launch.Trap Assuming a regional RI guarantees capacity in an AZ. It provides a discount and flexibility, but a zonal RI is what reserves capacity.
- Zonal RIs reserve capacity in one AZ
A zonal
Reserved Instancereserves capacity in one specified Availability Zone, but it has no AZ flexibility and no instance size flexibility: the discount applies only to the exact instance type and size in that AZ. Use it when a launch must be guaranteed in a particular zone.Trap Expecting a zonal RI's discount to float across Availability Zones like a regional RI, when it is pinned to the one AZ and exact instance size you specified.
- Savings Plans commit to dollars per hour, not a config
A
Savings Plancommits you to a consistent compute spend in dollars per hour for a 1- or 3-year term, and AWS applies the discount automatically to matching usage. Unlike a Reserved Instance pinned to specific instance attributes, the commitment is just a spend rate, making it the more flexible way to save up to ~72% on compute.Trap Thinking a Savings Plan locks you to a specific instance type or configuration like a Reserved Instance, when the commitment is only an hourly dollar spend.
- Compute Savings Plans are the most flexible option
Compute Savings Plansapply the discount to EC2 usage regardless of instance family, size, AZ, Region, OS, or tenancy, and they also coverAWS FargateandAWS Lambda. AWS recommends Savings Plans over Reserved Instances as the default, easiest way to save (up to ~72%) on compute.Trap Reaching for an EC2 Instance Savings Plan as the most flexible choice because it discounts more, when only the Compute Savings Plan floats across families, Regions, Fargate, and Lambda.
4 questions test this
- A company has steady compute usage spread across Amazon EC2, AWS Lambda, and AWS Fargate. The company wants a single discounted pricing…
- A company has predictable, ongoing usage of AWS Lambda and AWS Fargate and wants to lower these compute costs by making a usage commitment…
- A company wants to lower its compute costs by committing to a consistent amount of compute usage measured per hour for one year. The…
- A company wants to reduce its compute costs by committing to a consistent amount of usage measured in dollars per hour for a 1-year term.…
- EC2 Instance Savings Plans lock to a family in a Region
EC2 Instance Savings Plansgive a larger discount than Compute Savings Plans but lock you to one instance family in a chosen Region. Within that family and Region you can still vary size, OS, AZ, and tenancy, so pick it when the family and Region are stable but the discount edge matters.Trap Buying an EC2 Instance Savings Plan when you may shift instance families or Regions. It locks to one family in one Region; a Compute Savings Plan floats across both.
- RIs and Savings Plans don't cover Fargate or Lambda, only Compute SPs do
Reserved Instances and EC2 Instance Savings Plans apply to EC2 only. When savings must also span
AWS FargateorAWS Lambda, theCompute Savings Planis the one option that covers all three.Trap Buying Reserved Instances expecting them to discount Fargate or Lambda. Only a Compute Savings Plan covers those services.
3 questions test this
- A company has steady compute usage spread across Amazon EC2, AWS Lambda, and AWS Fargate. The company wants a single discounted pricing…
- A company has predictable, ongoing usage of AWS Lambda and AWS Fargate and wants to lower these compute costs by making a usage commitment…
- A company wants to reduce its compute costs by committing to a consistent amount of usage measured in dollars per hour for a 1-year term.…
- Spot Instances are cheapest but interruptible
Spot Instancesrun on spare EC2 capacity at up to ~90% off On-Demand, but AWS can reclaim them with only a two-minute interruption notice when it needs the capacity back. They suit fault-tolerant, stateless, or batch work, never a steady production database that can't survive sudden termination.Trap Running a steady-state production database on Spot. A two-minute reclaim notice can terminate it mid-write.
5 questions test this
- A startup company runs a nightly batch data processing job that can tolerate interruptions and takes approximately 4 hours to complete. The…
- A media company runs a nightly video-encoding batch job that is fault tolerant and can be stopped and resumed without affecting the final…
- A media company runs video rendering jobs that can be interrupted and restarted without impact. The jobs typically complete within 2 hours…
- A media company runs video encoding jobs that can be interrupted and resumed at any time. The jobs typically take several hours to complete…
- A startup runs batch processing jobs that can be interrupted without impacting business operations. The jobs typically complete within 2…
- Spot fits batch, CI/CD, analytics, and rendering
Spot Instancesfit interruption-tolerant work: batch processing, big-data analytics, CI/CD, rendering, and containerized jobs that can resume after a node is reclaimed. The common thread: a lost instance just reruns, so the up-to-90% discount comes at no real cost.5 questions test this
- A startup company runs a nightly batch data processing job that can tolerate interruptions and takes approximately 4 hours to complete. The…
- A media company runs a nightly video-encoding batch job that is fault tolerant and can be stopped and resumed without affecting the final…
- A media company runs video rendering jobs that can be interrupted and restarted without impact. The jobs typically complete within 2 hours…
- A media company runs video encoding jobs that can be interrupted and resumed at any time. The jobs typically take several hours to complete…
- A startup runs batch processing jobs that can be interrupted without impacting business operations. The jobs typically complete within 2…
- Dedicated Host vs Dedicated Instance: visibility into hardware
A
Dedicated Hostis a whole physical server dedicated to you, with visibility into its sockets and physical cores, enabling per-socket/per-core bring-your-own-license reuse and host affinity. ADedicated Instancealso runs on single-tenant hardware for your account but bills per instance and gives no socket/core or host-level visibility.Trap Choosing a Dedicated Instance for per-socket/per-core BYOL. Only a Dedicated Host exposes socket and core counts for that licensing.
3 questions test this
- A financial firm must run software that is licensed per physical socket and per core, and it needs visibility into the number of sockets…
- A healthcare company must run certain Amazon EC2 workloads on hardware that is physically isolated from instances belonging to other AWS…
- A company must comply with a software licensing agreement that is bound to physical servers and requires visibility into the number of…
- Capacity Reservations guarantee capacity, not a discount
An
On-Demand Capacity Reservationreserves EC2 capacity in a specific Availability Zone for any duration but carries no pricing discount on its own: it bills at On-Demand rates. Combine it with a Savings Plan or a regional Reserved Instance to get both the guaranteed capacity and a discount.Trap Buying an On-Demand Capacity Reservation expecting a price cut. It guarantees capacity at On-Demand rates; pair it with a Savings Plan or regional RI for the discount.
- Reservations are shared across an Organization by default
With AWS Organizations consolidated billing, unused
Reserved InstanceandSavings Plandiscounts are shared across all member accounts by default, so a reservation bought in one account benefits matching usage elsewhere. The management account can deactivate this sharing per account from Billing preferences.Trap Assuming an RI or Savings Plan discount only benefits the account that bought it, when consolidated billing shares unused discounts across the whole Organization by default.
- Data transfer IN is free; OUT to the internet is charged
Inbound data transfer from the internet into AWS is free. Outbound data transfer to the internet is charged per GB above a 100 GB/month free allowance (aggregated across services and Regions), which makes reducing egress a primary cost-optimization lever.
Trap Budgeting for inbound data transfer charges, when transfer from the internet into AWS is free and only egress to the internet is billed.
2 questions test this
- Cross-Region and cross-AZ data transfer cost money
Data transfer between AWS Regions is charged, and data transfer between Availability Zones in the same Region is charged in both directions (typically ~$0.01/GB each way). Traffic that stays within a single AZ over private IP is generally free.
Trap Assuming cross-AZ traffic is free like same-AZ traffic. Moving data between AZs in a Region is billed in both directions.
- Pick the S3 storage class by access frequency and retrieval time
Lower S3 storage cost means accepting slower or rarer access. For millisecond access: S3 Standard (frequent), Standard-IA (about monthly), and Glacier Instant Retrieval (about quarterly, lowest-cost still-instant tier). One Zone-IA undercuts Standard-IA by storing in a single AZ, safe only for re-creatable or secondary copies. For archives that tolerate delay: Glacier Flexible Retrieval (minutes to hours; Standard ~3-5 h) and Glacier Deep Archive (Standard within 12 h, Bulk within 48 h; the lowest-cost class overall). Use Intelligent-Tiering for unknown or changing patterns: it moves objects between tiers automatically with no retrieval fees.
Trap Putting an irreplaceable primary copy in One Zone-IA to save money. Its single AZ isn't resilient to that AZ's loss; use Standard-IA for the only copy.
8 questions test this
- A company stores legal documents in Amazon S3 that must be retained for 7 years. The documents are accessed once or twice per year for…
- A media company needs to archive video content that will be accessed approximately once per quarter and requires millisecond retrieval…
- A healthcare company must retain compliance records for at least 10 years. The records are almost never accessed, and a retrieval time of…
- A company keeps a secondary copy of data in Amazon S3 while the primary copy remains in its on-premises data center. The cloud copy is…
- A hospital archives medical images that are accessed only about once per quarter, but when an image is requested it must be retrieved…
- A company stores frequently accessed data in Amazon S3 Standard but wants to reduce costs when objects become infrequently accessed. The…
- A company stores 50 TB of data in Amazon S3 Standard and has unpredictable access patterns. The company wants to reduce storage costs…
- A company keeps datasets in Amazon S3 that are accessed only about once a month, but when a request occurs the data must be available…
- Same-Region transfers and transfers into CloudFront are free
AWS charges no data-transfer fee for data moving between services in the same Region, for example S3-to-EC2 or copying between two same-Region S3 buckets (request and storage charges still apply). Data pulled from an AWS origin such as S3, an ALB, or EC2 into
Amazon CloudFrontis also free. Charges hit data going OUT to the internet and data crossing Regions or Availability Zones.Trap Expecting a data-transfer charge when CloudFront pulls from an S3 or EC2 origin, when transfer from an AWS origin into CloudFront and between same-Region services is free.
7 questions test this
- A company currently serves static assets from Amazon S3 directly to users on the internet and wants to understand which data transfer…
- A company copies a large number of objects from one Amazon S3 bucket to another Amazon S3 bucket, and both buckets are located in the same…
- A company uses Amazon CloudFront to distribute static website content that is stored in an Amazon S3 bucket used as the origin. The company…
- A startup company is building an application that stores user-generated content in Amazon S3. The application downloads approximately 500…
- A media company uses a third-party CDN while hosting video content on AWS. The solutions architect suggests switching to Amazon CloudFront.…
- A company hosts static website content in Amazon S3 and serves files directly to users across the globe. The cloud team wants to reduce…
- A company runs an application on Amazon EC2 instances that frequently read objects from an Amazon S3 bucket. Both the EC2 instances and the…