Bird
Raised Fist0
AWScloud~5 mins

EC2 pricing models (on-demand, reserved, spot) in AWS - Commands & Configuration

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Introduction
Choosing the right pricing model for Amazon EC2 helps you save money and match your server costs to your needs. On-demand lets you pay for what you use, reserved saves money if you commit ahead, and spot offers big discounts for flexible workloads.
When you need a server immediately and want to pay only for the time you use it without long-term commitment.
When you have steady, predictable workloads and want to save money by committing to use servers for 1 or 3 years.
When you can handle interruptions and want to run tasks at a much lower cost using spare AWS capacity.
When you want to test a new application quickly without upfront costs.
When you run batch jobs or background tasks that can pause and resume without issues.
Commands
Launches an EC2 instance using the on-demand pricing model by default, which means you pay for the instance by the hour or second without any upfront commitment.
Terminal
aws ec2 run-instances --image-id ami-0abcdef1234567890 --count 1 --instance-type t3.micro --tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=OnDemandInstance}]'
Expected OutputExpected
{ "Instances": [ { "InstanceId": "i-0123456789abcdef0", "ImageId": "ami-0abcdef1234567890", "InstanceType": "t3.micro", "State": { "Code": 0, "Name": "pending" }, "Tags": [ { "Key": "Name", "Value": "OnDemandInstance" } ] } ] }
--image-id - Specifies the Amazon Machine Image to use for the instance.
--instance-type - Defines the hardware configuration of the instance.
--tag-specifications - Adds tags to help identify the instance.
Lists available reserved instance offerings for t3.micro with Linux, showing options where you pay upfront for a 1 or 3 year term to save money.
Terminal
aws ec2 describe-reserved-instances-offerings --instance-type t3.micro --product-description "Linux/UNIX" --offering-type "All Upfront"
Expected OutputExpected
{ "ReservedInstancesOfferings": [ { "ReservedInstancesOfferingId": "abcdef12-3456-7890-abcd-ef1234567890", "InstanceType": "t3.micro", "Duration": 31536000, "FixedPrice": 50.0, "UsagePrice": 0.0, "CurrencyCode": "USD", "OfferingType": "All Upfront", "ProductDescription": "Linux/UNIX" } ] }
--instance-type - Filters offerings by instance type.
--offering-type - Filters by payment option like All Upfront.
Requests a spot instance with a maximum price of $0.005 per hour, which uses spare AWS capacity at a discount but can be interrupted.
Terminal
aws ec2 request-spot-instances --spot-price "0.005" --instance-count 1 --launch-specification '{"ImageId":"ami-0abcdef1234567890","InstanceType":"t3.micro"}'
Expected OutputExpected
{ "SpotInstanceRequests": [ { "SpotInstanceRequestId": "sir-08b93456", "State": "open", "Status": { "Code": "pending-evaluation", "Message": "Your Spot request is being evaluated." }, "LaunchSpecification": { "ImageId": "ami-0abcdef1234567890", "InstanceType": "t3.micro" } } ] }
--spot-price - Sets the maximum price you are willing to pay per hour.
--launch-specification - Defines the instance details for the spot request.
Checks the status of the spot instance request to see if it has been fulfilled and the instance is running.
Terminal
aws ec2 describe-spot-instance-requests --spot-instance-request-ids sir-08b93456
Expected OutputExpected
{ "SpotInstanceRequests": [ { "SpotInstanceRequestId": "sir-08b93456", "State": "active", "Status": { "Code": "fulfilled", "Message": "Your Spot request is fulfilled." }, "InstanceId": "i-0abcdef1234567890" } ] }
Key Concept

If you remember nothing else from this pattern, remember: On-demand is pay-as-you-go, reserved saves money with commitment, and spot offers big discounts with possible interruptions.

Common Mistakes
Trying to launch a reserved instance directly with the run-instances command.
Reserved instances are a billing discount applied to matching running instances, not a separate instance type you launch.
Purchase reserved instances separately via the AWS console or CLI, then launch normal instances that match the reserved instance attributes.
Setting a spot price higher than the on-demand price.
Spot prices never exceed on-demand prices, so setting a higher price wastes money.
Set the spot price at or below the current on-demand price to save costs.
Not checking spot instance request status after requesting.
Spot requests may not be fulfilled immediately or can be interrupted, so you might think your instance is running when it is not.
Use describe-spot-instance-requests to verify the request status and instance ID.
Summary
Use 'aws ec2 run-instances' to launch on-demand instances that charge by usage without commitment.
Use 'aws ec2 describe-reserved-instances-offerings' to find reserved instance options that save money with upfront payment.
Use 'aws ec2 request-spot-instances' to request low-cost spot instances that can be interrupted.
Always check the status of spot requests with 'aws ec2 describe-spot-instance-requests' to confirm fulfillment.

Practice

(1/5)
1. Which EC2 pricing model allows you to pay only for the compute time you use without any long-term commitment?
easy
A. Dedicated hosts
B. Reserved instances
C. Spot instances
D. On-demand instances

Solution

  1. Step 1: Understand On-demand pricing

    On-demand instances let you pay per hour or second without any upfront commitment.
  2. Step 2: Compare with other models

    Reserved requires commitment; Spot can be interrupted; Dedicated hosts are physical servers.
  3. Final Answer:

    On-demand instances -> Option D
  4. Quick Check:

    Pay-as-you-go = On-demand [OK]
Hint: No commitment means On-demand pricing [OK]
Common Mistakes:
  • Confusing Reserved with On-demand
  • Thinking Spot is always available
  • Mixing Dedicated hosts with pricing models
2. Which of the following is the correct way to describe Spot instances in AWS EC2?
easy
A. Instances with a fixed monthly fee
B. Instances that use spare capacity and can be interrupted
C. Instances reserved for 3 years with upfront payment
D. Instances that run only on dedicated hardware

Solution

  1. Step 1: Define Spot instances

    Spot instances use spare AWS capacity and are cheaper but can be stopped anytime.
  2. Step 2: Eliminate other options

    Fixed monthly fee applies to Reserved; dedicated hardware is Dedicated hosts.
  3. Final Answer:

    Instances that use spare capacity and can be interrupted -> Option B
  4. Quick Check:

    Spot = spare capacity + interruption [OK]
Hint: Spot = cheap but can stop anytime [OK]
Common Mistakes:
  • Thinking Spot has fixed fees
  • Confusing Reserved with Spot
  • Mixing Dedicated hosts with Spot
3. You launch an EC2 instance using Spot pricing. What happens if AWS needs the capacity back?
medium
A. Your instance is stopped or terminated with a 2-minute warning
B. You are charged the full On-demand price instead
C. Your instance continues running without interruption
D. Your instance is automatically converted to Reserved pricing

Solution

  1. Step 1: Understand Spot instance interruptions

    AWS can reclaim Spot instances anytime, giving a 2-minute warning before stopping or terminating.
  2. Step 2: Check other options

    Instances do not continue uninterrupted; no automatic price change or conversion to Reserved.
  3. Final Answer:

    Your instance is stopped or terminated with a 2-minute warning -> Option A
  4. Quick Check:

    Spot interruption = 2-minute warning stop [OK]
Hint: Spot instances get 2-minute stop warning [OK]
Common Mistakes:
  • Assuming Spot instances never stop
  • Thinking Spot switches to On-demand automatically
  • Believing Spot instances run like Reserved
4. A user wants to save costs by committing to a 1-year usage but accidentally selects On-demand pricing. What is the main issue with this choice?
medium
A. On-demand pricing does not offer cost savings for long-term commitment
B. On-demand pricing requires upfront payment for 1 year
C. On-demand pricing instances cannot be launched immediately
D. On-demand pricing instances are always interrupted

Solution

  1. Step 1: Understand On-demand pricing characteristics

    On-demand pricing charges per use with no upfront or commitment discounts.
  2. Step 2: Identify the cost-saving option

    Reserved instances offer savings with 1 or 3 year commitments, unlike On-demand.
  3. Final Answer:

    On-demand pricing does not offer cost savings for long-term commitment -> Option A
  4. Quick Check:

    Commitment savings = Reserved, not On-demand [OK]
Hint: Commitment savings only with Reserved pricing [OK]
Common Mistakes:
  • Thinking On-demand requires upfront payment
  • Believing On-demand instances are delayed
  • Confusing interruption with Spot pricing
5. A company runs a critical web application that must be available 24/7 with predictable costs. They also want to reduce expenses by committing to usage. Which EC2 pricing model should they choose and why?
hard
A. Spot instances, because they are cheapest and can be interrupted
B. On-demand instances, because they have no commitment and flexible pricing
C. Reserved instances, because they offer cost savings with a commitment and stable availability
D. Dedicated hosts, because they provide physical isolation

Solution

  1. Step 1: Analyze availability and cost needs

    Critical 24/7 apps need stable availability and predictable costs.
  2. Step 2: Match pricing models to needs

    Reserved instances provide cost savings with 1 or 3 year commitment and stable availability; Spot can be interrupted; On-demand is flexible but more costly.
  3. Final Answer:

    Reserved instances, because they offer cost savings with a commitment and stable availability -> Option C
  4. Quick Check:

    Critical + savings + commitment = Reserved [OK]
Hint: Stable + savings + commitment = Reserved instances [OK]
Common Mistakes:
  • Choosing Spot for critical apps despite interruptions
  • Picking On-demand for cost savings
  • Confusing Dedicated hosts with pricing benefits