This isn't actually effective. When there are instance shortages and someone launches an on-demand instance, no matter how high you set your spot bid price your spot instance will still be terminated in favor of the on-demand instance. We run hundreds of spot instances with their max price set higher than on-demand and still see terminations on popular instance types: there are few day-to-day, but periodically nearly all of them are terminated at once. During those situations, if you went to replace the terminated spot instance with an on-demand instance, you'll even get an error stating that they're out of on-demand capacity for the instance type in that zone, so it's pretty clear that it happens when they've completely run out of capacity for some instance type in a zone