如何将特定AWS ECS任务分别调度至FARGATE或FARGATE_SPOT容量提供商
ECS按任务类型指定FARGATE/FARGATE_SPOT调度方案
核心逻辑:AWS ECS的容量提供商策略并不强制要求只能在集群层面全局配置,你可以在每次启动任务、配置服务时单独指定对应容量提供商,即可实现不同任务类型映射不同的运行资源。
前置检查
- 确认你的ECS集群已将
FARGATE和FARGATE_SPOT都添加为可用容量提供商
针对不同任务场景的配置方式
场景1:长期运行的ECS服务
- 调度到FARGATE按需实例的服务:创建/更新服务时,仅在容量提供商策略中添加
FARGATE条目,权重设为1即可,无需添加FARGATE_SPOT配置 - 调度到FARGATE_SPOT实例的服务:创建/更新服务时,仅在容量提供商策略中添加
FARGATE_SPOT条目,权重设为1即可
场景2:一次性调用的RunTask任务
- FARGATE按需任务CLI调用示例:
aws ecs run-task \ --cluster <你的集群名称> \ --task-definition <你的任务定义名:版本号> \ --capacity-provider-strategy capacityProvider=FARGATE,weight=1
- FARGATE_SPOT任务CLI调用示例:
aws ecs run-task \ --cluster <你的集群名称> \ --task-definition <你的任务定义名:版本号> \ --capacity-provider-strategy capacityProvider=FARGATE_SPOT,weight=1
提示:如果你之前给集群配置了全局默认容量提供商策略也不影响,只要你在创建服务/调用RunTask时显式指定了容量提供商策略,就会覆盖集群默认配置。
内容的提问来源于stack exchange,提问作者Valera
相关产品推荐
相关产品推荐

