- Newest
- Most votes
- Most comments
The behavior you're experiencing with the Fault Injection Simulator (FIS) experiment does not accurately reflect the expected behavior of persistent Spot Instances in a production environment. In a real-world scenario, persistent Spot Instances should indeed retain their EBS volumes and instance IDs when stopped due to an interruption, unlike what you're observing in your FIS tests.
Persistent Spot Instances are designed to allow you to stop and start them similar to On-Demand instances. When a persistent Spot Instance is stopped due to an interruption:
- The instance should retain its instance ID.
- The attached EBS volumes should remain associated with the instance.
- The instance should remain in your instance list in a stopped state.
When capacity becomes available again and the Spot price is below your maximum price, the same instance should be started, maintaining its instance ID and attached EBS volumes.
The behavior you're seeing where a new instance is spun up without the previous EBS volume is not the expected behavior for persistent Spot Instances in a production environment. This discrepancy suggests that the FIS experiment may not be accurately simulating the real-world behavior of Spot Instance interruptions.
It's important to note that while you can modify some instance attributes while a Spot Instance is stopped, you cannot change the instance type. Also, while a Spot Instance is stopped, you are not charged for usage, but you are still charged for the storage of any attached EBS volumes.
Given the unexpected behavior you're experiencing with FIS, it would be advisable to test your setup in a real Spot environment (being mindful of potential costs) or to contact AWS support for clarification on why the FIS experiment is not accurately reflecting the expected behavior of persistent Spot Instances. This will help ensure that your production deployment behaves as expected when dealing with actual Spot Instance interruptions.
Sources
Manage your Spot Instances - Amazon Elastic Compute Cloud
Spot Instances - Amazon Elastic Compute Cloud
Interruption behavior: The behavior that you choose determines what happens when a Spot Instance is interrupted.
- For persistent requests, valid values are Stop and Hibernate. When an instance is stopped, charges for EBS volume storage apply.
Note Spot Instances now use the same hibernation functionality as On-Demand Instances. To enable hibernation, you can either choose Hibernate here, or you can choose Enable from the Stop - Hibernate behavior field, which appears lower down in the launch instance wizard. For the hibernation prerequisites, see Prerequisites for Amazon EC2 instance hibernation.
- For one-time requests, only Terminate is valid.
If you do not specify a value, the default is Terminate, which is not valid for a persistent Spot Instance request. If you keep the default and try to launch a persistent Spot Instance request, you'll get an error.
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html
Relevant content
- asked 3 years ago
- asked 3 years ago
- asked 4 years ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 3 years ago

I am already aware of the above, this doesn't answer my question. What I'm still after is why my persistent "stop" interruptions from the FIS are being spun up as new instances without the EBS volume attached from before. Is this expected or not when using the experiment built into the fleet request page?