Bird
Raised Fist0
AWScloud~10 mins

Spot Instances for cost savings in AWS - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to specify the instance market option as Spot in the AWS EC2 launch template.

AWS
LaunchTemplateData={"InstanceMarketOptions": {"MarketType": "[1]"}}
Drag options to blanks, or click blank then click option'
Aon-demand
BReserved
Cspot
DDedicated
Attempts:
3 left
💡 Hint
Common Mistakes
Using "on-demand" instead of "spot" will launch regular instances without cost savings.
Misspelling "spot" (such as using uppercase letters) causes errors.
2fill in blank
medium

Complete the code to set the maximum price you are willing to pay per hour for a Spot Instance.

AWS
"SpotOptions": {"MaxPrice": "[1]"}
Drag options to blanks, or click blank then click option'
A0.5
B0.03
C1.0
D5.0
Attempts:
3 left
💡 Hint
Common Mistakes
Setting MaxPrice too high loses cost savings.
Using a number instead of a string causes errors.
3fill in blank
hard

Fix the error in the Spot Instance request code by completing the missing key for interruption behavior.

AWS
"SpotOptions": {"InterruptionBehavior": "[1]"}
Drag options to blanks, or click blank then click option'
Aterminate
Bstop
Chibernate
Dpause
Attempts:
3 left
💡 Hint
Common Mistakes
Using "pause" which is not a valid interruption behavior.
Capitalizing the first letter causes errors.
4fill in blank
hard

Fill both blanks to configure a Spot Instance request with a valid instance type and a valid Spot allocation strategy.

AWS
"InstanceType": "[1]", "SpotOptions": {"AllocationStrategy": "[2]"}
Drag options to blanks, or click blank then click option'
At3.micro
Bt2.nano
Ccapacity-optimized
Dlowest-price
Attempts:
3 left
💡 Hint
Common Mistakes
Using an invalid instance type like "t2.nano" which may not be supported in all regions.
Choosing "lowest-price" which can cause more interruptions.
5fill in blank
hard

Fill all three blanks to create a Spot Instance request with a launch template name, Spot market type, and interruption behavior.

AWS
"LaunchTemplateName": "[1]", "InstanceMarketOptions": {"MarketType": "[2]", "SpotOptions": {"InterruptionBehavior": "[3]"}}
Drag options to blanks, or click blank then click option'
Amy-spot-template
Bspot
Cterminate
Don-demand
Attempts:
3 left
💡 Hint
Common Mistakes
Using "on-demand" instead of "spot" for MarketType.
Choosing invalid interruption behaviors.

Practice

(1/5)
1. What is the main benefit of using Spot Instances in AWS?
easy
A. They offer unlimited storage space for your data.
B. They guarantee 24/7 uptime without interruptions.
C. They automatically scale your application based on traffic.
D. They provide significant cost savings by using spare capacity.

Solution

  1. Step 1: Understand Spot Instances purpose

    Spot Instances use spare AWS capacity and are cheaper but can be interrupted.
  2. Step 2: Compare options

    Only They provide significant cost savings by using spare capacity. mentions cost savings from spare capacity, others describe unrelated features.
  3. Final Answer:

    They provide significant cost savings by using spare capacity. -> Option D
  4. Quick Check:

    Spot Instances = Cost savings [OK]
Hint: Spot Instances save money by using spare capacity [OK]
Common Mistakes:
  • Thinking Spot Instances guarantee uptime
  • Confusing Spot Instances with auto-scaling
  • Assuming Spot Instances provide extra storage
2. Which of the following is the correct way to request a Spot Instance using AWS CLI?
easy
A. aws ec2 request-spot-instances --spot-price 0.05 --instance-count 1 --type t3.micro
B. aws ec2 create-spot-instance --price 0.05 --count 1 --instance-type t3.micro
C. aws ec2 spot-instance-request --max-price 0.05 --count 1 --instance t3.micro
D. aws ec2 launch-spot-instance --price 0.05 --number 1 --type t3.micro

Solution

  1. Step 1: Identify correct AWS CLI command

    The correct command is aws ec2 request-spot-instances with parameters like --spot-price, --instance-count, and --type.
  2. Step 2: Check options for syntax correctness

    Only aws ec2 request-spot-instances --spot-price 0.05 --instance-count 1 --type t3.micro uses the correct command and parameter names as per AWS CLI documentation.
  3. Final Answer:

    aws ec2 request-spot-instances --spot-price 0.05 --instance-count 1 --type t3.micro -> Option A
  4. Quick Check:

    Correct CLI syntax = aws ec2 request-spot-instances --spot-price 0.05 --instance-count 1 --type t3.micro [OK]
Hint: Use 'aws ec2 request-spot-instances' with correct flags [OK]
Common Mistakes:
  • Using wrong command names like create-spot-instance
  • Incorrect parameter names like --price instead of --spot-price
  • Mixing instance count and type flags
3. Consider this AWS CLI command output snippet after requesting Spot Instances:
{
  "SpotInstanceRequests": [
    {
      "SpotInstanceRequestId": "sir-12345",
      "State": "active",
      "Status": {"Code": "fulfilled", "Message": "Your Spot request is fulfilled."},
      "InstanceId": "i-67890"
    }
  ]
}
What does this output indicate?
medium
A. The Spot Instance request is active and the instance is running.
B. The Spot Instance request was denied due to price limits.
C. The Spot Instance request is pending and waiting for capacity.
D. The Spot Instance request was cancelled by the user.

Solution

  1. Step 1: Analyze the 'State' and 'Status' fields

    The state is "active" and status code is "fulfilled", meaning the request succeeded and instance launched.
  2. Step 2: Interpret the meaning of 'InstanceId'

    The presence of an InstanceId means the Spot Instance is running.
  3. Final Answer:

    The Spot Instance request is active and the instance is running. -> Option A
  4. Quick Check:

    State active + fulfilled = running instance [OK]
Hint: Active state and fulfilled status mean instance is running [OK]
Common Mistakes:
  • Confusing 'active' with 'pending'
  • Ignoring the 'fulfilled' status message
  • Assuming InstanceId is missing means failure
4. You wrote this JSON snippet to request a Spot Instance but it fails:
{
  "InstanceCount": 1,
  "Type": "one-time",
  "LaunchSpecification": {
    "InstanceType": "t3.micro",
    "ImageId": "ami-0abcdef1234567890"
  }
}
What is the likely error causing the failure?
medium
A. Wrong Type value; should be "persistent" only.
B. Missing the SpotPrice field to set max price.
C. Incorrect InstanceCount value; must be zero.
D. Invalid ImageId format; must be numeric only.

Solution

  1. Step 1: Check required fields for Spot Instance request

    Spot requests require a SpotPrice to specify max price willing to pay.
  2. Step 2: Validate other fields

    InstanceCount of 1 is valid, Type can be "one-time", and ImageId format is correct.
  3. Final Answer:

    Missing the SpotPrice field to set max price. -> Option B
  4. Quick Check:

    SpotPrice required for request [OK]
Hint: SpotPrice is mandatory in Spot Instance requests [OK]
Common Mistakes:
  • Omitting SpotPrice field
  • Using invalid Type values
  • Misunderstanding ImageId format
5. You want to run a batch job on AWS using Spot Instances to save costs. The job can be interrupted and resumed later. Which strategy best balances cost savings and job completion?
hard
A. Use Reserved Instances for guaranteed availability.
B. Request On-Demand Instances only to avoid interruptions.
C. Request Spot Instances with a low max price and use checkpointing to save progress.
D. Request Spot Instances with the highest max price to avoid interruptions.

Solution

  1. Step 1: Understand workload tolerance

    The batch job can handle interruptions and resume, so Spot Instances are suitable.
  2. Step 2: Choose cost-effective and reliable approach

    Setting a low max price saves money but risks interruptions; checkpointing allows resuming work safely.
  3. Step 3: Evaluate other options

    On-Demand and Reserved Instances cost more and don't leverage Spot savings; highest max price reduces savings.
  4. Final Answer:

    Request Spot Instances with a low max price and use checkpointing to save progress. -> Option C
  5. Quick Check:

    Interruptible job + low price + checkpointing = best cost savings [OK]
Hint: Use low max price + checkpointing for interruptible jobs [OK]
Common Mistakes:
  • Choosing On-Demand or Reserved ignoring cost savings
  • Setting max price too high losing savings
  • Not implementing checkpointing for interruptions
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard