Reputation: 181
I want to create an ECS cluster with two capacity providers:
ECS is going to be linked to auto-scaling groups and handle scaling for the above providers.
When defining a service, I am going to use custom capacity provider strategy. The sample configuration could be as follow:
If I am not mistaken, with that configuration, my service should create 2 instances on the standard (on-demand) provider, and rest on the spot one.
Assuming I want to manage 10 tasks under my service.
In the happy path, 2 of them runs on my standard provider, and 8 on the spot.
Here is the question - how is the unhappy scenario handled when spot instances are not available?
Will my service contains only 2 tasks that were placed on the on-demand instances?
If yes, how can I dynamically adjust my service to temporarily use only the on-demand provider?
Or, maybe the above configuration doesn't make any sense, and there is a better way to utilize spot instance and ECS to cut costs?
Upvotes: 1
Views: 1446
Reputation: 256
Currently the Capacity Providers and services combination do not think about if the instances they are running on are spot or on-demand https://github.com/aws/containers-roadmap/issues/773
Your configuration seems reasonable for using spot. Assuming that you pick a range of instance type and availability zone then there is typically sufficient spot capacity. However, Amazoan always states that you shouldn't run production workloads on spot :shrug:
Upvotes: 1