我正在尝试使用put-scaling-policy
CLI命令为ECS服务定义CustomizedMetricSpecification
。
该命令需要自动伸缩服务将伸缩的可伸缩目标的resource-id
,但我无法找到我的ECS服务的资源id。
我试图传递服务的ARN作为resource-id
,但我得到这个错误。
An error occurred (ObjectNotFoundException) when calling the PutScalingPolicy operation: No scalable target registered for service namespace: ecs, resource ID: arn:aws:ecs:us-east-1:XXXXXXXXXXXX:service/XYZ-SERVICE, scalable dimension: ecs:service:DesiredCount
CLI命令:aws application-autoscaling put-scaling-policy --service-namespace ecs --scalable-dimension ecs:service:DesiredCount --resource-id arn:aws:ecs:us-east-1:XXXXXXXXXXXX:service/XYZ-SERVICE --policy-name custom-scaling-policy --policy-type TargetTrackingScaling --target-tracking-scaling-policy-configuration file://custom_autoscaling_config.json
ARN不是资源id字段的正确值吗?如何创建自定义自动缩放策略?
您可以在这里看到相关文档以及示例。资源ID的预期格式一点也不明显。如果没有找到该文档,您永远不会知道格式。期望的格式是这样的字符串:
"service/cluster-name/service-name"
其中service
是硬编码字符串"服务",cluster-name
是ECS集群的名称,service-name
是ECS服务的名称。