AWS ECS执行describe-scalable-targets报错及资源ID查询问题
问题解决步骤
1. 修复describe-scalable-targets命令语法报错
你遇到的语法报错是因为Shell会把未加引号的(识别为特殊控制字符,同时你漏了该命令所属的application-autoscaling服务组,正确命令格式如下:
aws application-autoscaling describe-scalable-targets \ --service-namespace ecs \ --resource-ids "service/<ECS集群名称>/<ECS服务名称>"
不需要在资源ID两侧加括号,直接用引号包裹即可避免特殊字符解析错误。
2. 获取ECS服务对应Application Auto Scaling资源ID
该资源ID没有额外的独立标识,完全遵循固定拼接规则:service/<你的ECS集群名>/<你的ECS服务名>,你只需要替换为自己实际使用的集群、服务名称即可。
你之前的资源ID格式顺序写反,同时存在拼写错误,才会导致识别失败,执行前请确认集群、服务名称拼写完全匹配你实际创建的资源名称。
3. 修正后的可扩展目标注册命令
你原有参数存在两个错误:一是resrouce-id拼写错误,正确为resource-id;二是资源ID顺序错误,修正后完整命令如下:
aws application-autoscaling register-scalable-target \ --service-namespace ecs \ --scalable-dimension ecs:service:DesiredCount \ --resource-id service/<你的ECS集群名>/<你的ECS服务名> \ --min-capacity 1 \ --max-capacity 10
替换尖括号内容为你实际的集群、服务名称执行即可完成可扩展目标注册。
4. 后续自动扩缩容配置
注册完成后,你可以根据业务需求配置对应缩放策略,比如CPU/内存使用率目标跟踪策略、基于ALB请求数的缩放策略等,即可实现ECS服务的自动扩缩容。
内容的提问来源于stack exchange,提问作者Aaron D
相关产品推荐
相关产品推荐

