Jay Taylor's notes
back to listing indexSpot Instance Interruptions - Amazon Elastic Compute Cloud
[web search]Spot Instance Termination Notices
The best way to protect against Spot Instance interruption is to architect your application to be fault tolerant. In addition, you can take advantage of Spot Instance termination notices, which provide a two-minute warning before the Spot service must terminate your Spot Instance.
This warning is made available to the applications on your Spot Instance using an item in the instance metadata. For example, you can check for this warning in the instance metadata periodically (we recommend every 5 seconds) using the following query:
$
if curl -s http://169.254.169.254/latest/meta-data/spot/termination-time | grep -q .*T.*Z; then echo terminated; fi
For information about other ways to retrieve instance metadata, see Retrieving Instance Metadata.
If your Spot Instance is marked for termination by the Spot service, the
termination-time
item is present and it specifies the approximate time in
UTC when the instance will receive the shutdown signal. For example:
2015-01-05T18:02:00Z
If the Spot service is not preparing to terminate the instance, or if you terminated the
Spot Instance yourself, the termination-time
item is either not present (so you
receive an HTTP 404 error) or contains a value that is not a time value.
Note that while we make every effort to provide this warning the moment that your Spot Instance is marked for termination by the Spot service, it is possible that your Spot Instance will be terminated before Amazon EC2 can make the warning available. Therefore, you must ensure that your application is prepared to handle an unexpected Spot Instance interruption even if you are checking for Spot Instance termination notices.