Spot Instances - Amazon Elastic Compute Cloud
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Spot Instances

A Spot Instance is an instance that uses spare EC2 capacity that is available for less than the On-Demand price. Because Spot Instances enable you to request unused EC2 instances at steep discounts, you can lower your Amazon EC2 costs significantly. The hourly price for a Spot Instance is called a Spot price. The Spot price of each instance type in each Availability Zone is set by Amazon EC2, and is adjusted gradually based on the long-term supply of and demand for Spot Instances. Your Spot Instance runs whenever capacity is available.

Spot Instances are a cost-effective choice if you can be flexible about when your applications run and if your applications can be interrupted. For example, Spot Instances are well-suited for data analysis, batch jobs, background processing, and optional tasks. For more information, see Amazon EC2 Spot Instances.

For a comparison of the different purchasing options for EC2 instances, see Instance purchasing options.

Topics

Concepts

Before you get started with Spot Instances, you should be familiar with the following concepts:

  • Spot capacity pool – A set of unused EC2 instances with the same instance type (for example, m5.large) and Availability Zone.

  • Spot price – The current price of a Spot Instance per hour.

  • Spot Instance request – Requests a Spot Instance. When capacity is available, Amazon EC2 fulfills your request. A Spot Instance request is either one-time or persistent. Amazon EC2 automatically resubmits a persistent Spot Instance request after the Spot Instance associated with the request is interrupted.

  • EC2 instance rebalance recommendation – Amazon EC2 emits an instance rebalance recommendation signal to notify you that a Spot Instance is at an elevated risk of interruption. This signal provides an opportunity to proactively rebalance your workloads across existing or new Spot Instances without having to wait for the two-minute Spot Instance interruption notice.

  • Spot Instance interruption – Amazon EC2 terminates, stops, or hibernates your Spot Instance when Amazon EC2 needs the capacity back. Amazon EC2 provides a Spot Instance interruption notice, which gives the instance a two-minute warning before it is interrupted.

Key differences between Spot Instances and On-Demand Instances

The following table lists the key differences between Spot Instances and On-Demand Instances.

Spot Instances On-Demand Instances

Launch time

Can only be launched immediately if the Spot Instance request is active and capacity is available.

Can only be launched immediately if you make a manual launch request and capacity is available.

Available capacity

If capacity is not available, the Spot Instance request continues to automatically make the launch request until capacity becomes available.

If capacity is not available when you make a launch request, you get an insufficient capacity error (ICE).

Hourly price

The hourly price for Spot Instances varies based on long-term supply and demand.

The hourly price for On-Demand Instances is static.

Rebalance recommendation The signal that Amazon EC2 emits for a running Spot Instance when the instance is at an elevated risk of interruption. You determine when an On-Demand Instance is interrupted (stopped, hibernated, or terminated).

Instance interruption

You can stop and start an Amazon EBS-backed Spot Instance. In addition, Amazon EC2 can interrupt an individual Spot Instance if capacity is no longer available.

You determine when an On-Demand Instance is interrupted (stopped, hibernated, or terminated).

How to get started

The first thing that you need to do is get set up to use Amazon EC2. It can also be helpful to have experience launching On-Demand Instances before launching Spot Instances.

You can provision Spot Instances directly using Amazon EC2. You can also provision Spot Instances using other services in Amazon. For more information, see the following documentation.

Amazon EC2 Auto Scaling and Spot Instances

You can create launch templates or configurations so that Amazon EC2 Auto Scaling can launch Spot Instances. For more information, see Requesting Spot Instances for fault-tolerant and flexible applications and Auto Scaling groups with multiple instance types and purchase options in the Amazon EC2 Auto Scaling User Guide.

Amazon EMR and Spot Instances

There are scenarios where it can be useful to run Spot Instances in an Amazon EMR cluster. For more information, see Spot Instances and When Should You Use Spot Instances in the Amazon EMR Management Guide.

Amazon CloudFormation templates

Amazon CloudFormation enables you to create and manage a collection of Amazon resources using a template in JSON format. For more information, see EC2 Spot Instance Updates - Auto Scaling and CloudFormation Integration.

Amazon SDK for Java

You can use the Java programming language to manage your Spot Instances. For more information, see Tutorial: Amazon EC2 Spot Instances and Tutorial: Advanced Amazon EC2 Spot Request Management.

Amazon SDK for .NET

You can use the .NET programming environment to manage your Spot Instances. For more information, see Tutorial: Amazon EC2 Spot Instances.

Pricing and savings

You pay the Spot price for Spot Instances, which is set by Amazon EC2 and adjusted gradually based on the long-term supply of and demand for Spot Instances. Your Spot Instances run until you terminate them, capacity is no longer available, or your Amazon EC2 Auto Scaling group terminates them during scale in.

If you or Amazon EC2 interrupts a running Spot Instance, you are charged for the seconds used or the full hour, or you receive no charge, depending on the operating system used and who interrupted the Spot Instance. For more information, see Billing for interrupted Spot Instances.

View prices

To view the current (updated every five minutes) lowest Spot price per Amazon Web Services Region and instance type, see the Amazon EC2 Spot Instances Pricing page.

To view the Spot price history for the past three months, use the Amazon EC2 console or the describe-spot-price-history command (Amazon CLI). For more information, see Spot Instance pricing history.

We independently map Availability Zones to codes for each Amazon Web Services account. Therefore, you can get different results for the same Availability Zone code (for example, us-west-2a) between different accounts.

View savings

You can view the savings made from using Spot Instances for a single Spot Fleet or for all Spot Instances. You can view the savings made in the last hour or the last three days, and you can view the average cost per vCPU hour and per memory (GiB) hour. Savings are estimated and may differ from actual savings because they do not include the billing adjustments for your usage. For more information about viewing savings information, see Savings from purchasing Spot Instances.

View billing

Your bill provides details about your service usage. For more information, see Viewing your bill in the Amazon Billing User Guide.