With Amazon EC2 Spot Instances, you can request the same Amazon EC2 instances to reduce compute costs and improve application throughput. You can request Spot Instances by using the Spot management console, CLI, API or the same interface that is used for launching On-Demand instances by indicating the option to use Spot. Your request will be fulfilled as long as capacity is available.
You can also select a Launch Template or a pre-configured or custom Amazon Machine Image (AMI), configure security and network access to your Spot instance, choose from multiple instance types and locations, use static IP endpoints, and attach persistent block storage to your Spot instances. The Spot price is determined by long term trends in supply and demand for EC2 spare capacity. You pay the Spot price that's in effect at the beginning of each instance-hour for your running instance, billed to the nearest second.
Amazon EC2 offers features and tools to help you optimize cost savings and application performance with Spot instances.
Key Product Features
Amazon EC2 Auto Scaling Integration
You can use Amazon EC2 Auto Scaling groups to launch and manage Spot instances, maintain application availability, and scale your Amazon EC2 Spot capacity up or down automatically according to conditions and maximum prices you define. To learn more about using Auto Scaling with Spot instances, visit the Auto Scaling Developer Guide. To scale other services in addition to EC2, you can use AWS Auto Scaling.
Optimize for Cost or Reduce the Likelihood of Interruptions Using Allocation Strategies
With a single API call, Amazon EC2 Fleet lets you provision compute capacity across EC2 instance types, Availability Zones, and purchase models to help optimize scale, performance and cost. You can specify how much On-Demand and Spot capacity to launch via EC2 Fleet. You can also define which instance types you prefer and whether to scale capacity based on cores, instances or memory. Read this AWS blog to learn more.
You can access EC2 Fleet capabilities via Amazon EC2 Auto Scaling to provision and automatically scale compute capacity across EC2 instance types, Availability Zones, and purchase options in a single Auto Scaling Group. You can access the same functionality in Spot Fleet as well.
Allocation strategies in EC2 Auto Scaling, EC2 Fleet, and Spot Fleet determine how Spot Instances in your fleet are fulfilled from Spot Instance pools. The capacity-optimized allocation strategy attempts to provision Spot Instances from the most available Spot Instance pools by analyzing capacity metrics. This strategy is a good choice for workloads that have a higher cost of interruption such as big data and analytics, image and media rendering, machine learning, and high performance computing. The lowest-price allocation strategy launches Spot Instances based on diversification across ‘N’ lowest priced pools.
On-Demand Run Instances Function Integration
Spot instances can be launched via RunInstances API with a single additional parameter. The Spot instances launched via RunInstances are the same as any EC2 instance; they provide the reliability, security, performance, control, and elasticity of Amazon EC2, at low market-driven prices. Simply specify the market option as Spot when requesting capacity. Learn more about launching Spot instances via RunInstances API.
Stop/Hibernate and Resume Workloads
Spot can hibernate or stop (shutdown) your instances in the event of interruption, instead of terminating them when capacity is no longer available. Instances will be resumed from prior state when capacity becomes available, allowing your instances to resume their work faster. Learn more about Stop/Start and Hibernate.
Track When Spot Instances Run and Terminate
With Spot instances, you never pay more than the maximum price you specified. If the Spot price exceeds your maximum willingness to pay for a given instance or when capacity is no longer available, your instance will be terminated automatically (or stopped/hibernate, if you opt for this behavior on persistent request). Spot offers three features to help you better track and control when Spot instances run and terminate (or stop/hibernate).
If you need to save state, upload final log files, or remove Spot instances from an Elastic Load Balancer before interruption, you can use termination notices, which are issued two minutes prior to interruption. Learn more about managing interruptions.
You can optionally set your request to remain open so that a new instance will be launched in its place when the instance is interrupted. You can also have your Amazon EBS-backed instance stopped upon interruption and restarted when Spot has capacity at your preferred price. Learn more about persistent and one-time requests.
If you need to execute workloads continuously for 1 to 6 hours, you can also specify a duration requirement when requesting Spot instances. Learn more about block durations for Spot instances.
Amazon EMR Integration
Amazon Web Services customers have the ability to run Amazon Elastic MapReduce (EMR) clusters on Spot instances and significantly reduce the cost of processing vast amounts of data on managed Hadoop clusters. Customers can run their EMR clusters by easily mixing Spot instances with On-Demand and/or Reserved instances using the multiple Instance Groups feature. To learn more about setting up an EMR cluster with Spot, visit the Amazon EC2 User Guide.
Amazon CloudFormation Integration
AWS CloudFormation makes it easy to organize and deploy a collection of AWS resources, including EC2 Spot, and lets you describe any dependencies or special parameters to pass in at runtime. For a sample High Performance Computing framework using CloudFormation that can use Spot instances, see the cfncluster demo. To learn more about setting up CloudFormation with Spot, visit the Amazon EC2 User Guide.
Amazon ECS Integration
Amazon Elastic Container Service (ECS) customers have the ability to run Amazon ECS clusters on Spot instances to reduce the operational cost of running containerized applications on Amazon ECS. Amazon ECS Console is also tightly integrated with Amazon EC2 Spot, customers can use the Create Cluster Wizard to easily setup an ECS cluster with Spot instances. To learn more about ECS, visit Amazon ECS product page.
Amazon Batch Integration
AWS Batch plans, schedules, and executes customers batch computing workloads on AWS. AWS Batch dynamically requests for Spot Instances on your behalf, reducing the cost of running your batch jobs. To learn more about Batch, visit AWS Batch product page.
ThinkBox Deadline Integration
Thinkbox Deadline makes it easy to spin up a render farm on EC2 using Spot fleet through the AWS Portal. You can choose the 3rd party product you want such as Autodesk Maya, Autodesk 3dsMax and spin up an EC2 Spot fleet. Deadline 10 comes with a file system to automatically sync your asset files to Amazon S3. To learn more about Deadline, visit Thinkbox Deadline.
Attach Encrypted EBS Volumes at Launch
You can specify an unencrypted snapshot at launch and request Spot to create an encrypted EBS volume(s) when launching the instance. Specify "Encrypted: true" as the encryption behavior within block device mappings, when submitting a Spot request. If you already have an encrypted EBS volume in use then specify the snapshot ID without the "Encrypted" flag and Spot will continue to create encrypted volumes in your existing encrypted EBS snapshot.
Control Your Spot Instance Budget
When you request a Spot instance, Spot will default the maximum price you are willing to pay per Spot instance-hour as the On-Demand price. You can also exercise additional control over your Spot instance budget by specifying the maximum price you are willing to pay per instance-hour in your request. You will continue to pay the Spot price that's in effect for the time period your instances are running. If Spot price rises above your maximum price, your instance will be automatically terminated, stopped or hibernated. Learn more about how Spot works.
You can proactively manage the Spot Instance lifecycle using the Capacity Rebalancing feature for EC2 Auto Scaling. Capacity Rebalancing leverages the new EC2 Instance rebalance recommendation, a signal that is sent when a Spot Instance is at elevated risk of interruption. The signal can arrive sooner than the two minute Spot Instance interruption notice, giving you the opportunity to proactively rebalance your workload to new or existing Spot Instances that are not at elevated risk of interruption. The Capacity Rebalancing feature in EC2 Auto Scaling automatically attempts to get a head start in replacing Spot Instances with new Spot Instances as soon as a rebalance recommendation signal is detected.
Read more about Capacity rebalancing.
Third Party Integration
You can use Spot Fleet plugin for Jenkins and Atlassian Bamboo to execute your continuous integration build tasks on Spot instances.
Spot instances are well suited to a variety of workloads. The more distributed, scalable, and fault tolerant your application, the easier it is to save money and increase throughput.
Big Data & Analytics
Fast-track big data, machine learning, and NLP workloads with Spot Instaces. Spot instances provide acceleration, scale, and deep cost savings to run time-critical, hyper-scale workloads for rapid data analysis. Use Spot Instances with Amazon EMR, Hadoop or Spark to process massive amounts of data.
High Performance Computing
Accelerate big compute workloads such as genomic sequencing, CFD and algorithmic trading by running massively parallel jobs. Spot instances are integrated with AWS Batch, AWS CloudFormation and other AWS services offering a complete solution for various big compute workloads.
CI/CD & Testing
Configure Jenkins with the EC2 Spot Plug-In to automatically scale a fleet of Spot instances depending on the number jobs to be completed. Increase cost savings by leveraging older generation instances for CI, as these processes do not require a lot of power for testing. Load, integration, canary, and security testing all benefit from the elasticity and price savings associated with Spot instances.
Run container clusters at scale with Spot Instances at a fraction of the cost. Containers are stateless, fault-tolerant and a great fit for Spot Instances. Create Spot clusters with Amazon ECS or Kubernetes to run containerized workloads of any scale.
Save up to 90% on web services and applications with Spot instances. Deploy an EC2 Spot Fleet behind a load balancer to scale to tens of thousands of instances, serving billions of service requests with Spot Instances.
Image and Media Rendering
Media and Entertainment studios can cost-effectively manage rendering workloads using Spot instances, scaling on-premises or cloud infrastructures with near limitless capacity as projects and timelines demand. BYOL or take advantage of usage based licensing for popular rendering and content creation softwares such as Autodesk Maya, Autodesk Arnold, Vray, Redshift, and others via the Thinkbox Marketplace.