2
votes

I understand that spot instances are terminated if the bid price is exceeded, and that they can't launch if there is no capacity to do so or the instance limit is reached. I've not seen them terminated due to over-subscription before. Used AWS CLI:

aws ec2 request-spot-instances --spot-price "0.8" --instance-count 1 --type "one-time" --launch-specification c:\path\to\spot-instance-spec.json

The r4.4xlarge linux spot launched successfully in (my) eu-west-1b, then terminated and the status in the spot request is:

instance-terminated-capacity-oversubscribed: Your Spot instance was terminated as there is no more unused capacity available in this pool.

Does anyone know what this means specifically? Is a pool just the AZ? Is it down to more expensive spots? Is it due to on-demands being launched?

2

2 Answers

4
votes

The AWS documentation now has a definition of Spot instance pool:

Spot Instance pool – A set of unused EC2 instances with the same instance type, operating system, Availability Zone, and network platform.

Source: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html

3
votes

Your Spot Instances continue to run as long as your maximum price is at or above the Spot price, there is available capacity for your instance type, and you don't terminate the instance. If a change in the Spot price or available capacity requires Amazon EC2 to terminate your Spot Instances, the Spot request goes into a terminal state. For example, if your price equals the Spot price but Spot Instances are not available, the status code is instance-terminated-capacity-oversubscribed. A request also goes into the terminal state if you cancel the Spot request or terminate the Spot Instances.

Its mentioned here in AWS Doc, and also check for limitation of spot request.For some instance there is a limit beyond that it cant be launched. http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html