When Harness deploys an ECS service, it creates/updates the scaling policies defined in the service config (via AWS Application Auto Scaling), but it does not create or attach the CloudWatch alarms that actually trigger those policies. For step-scaling policies this is a hard dependency, the policy itself contains only StepAdjustments and has no reference to a metric; the metric/threshold lives entirely in the CloudWatch alarm that points back at the policy ARN.
Today, wiring up those alarms requires an out-of-band Shell Script step (aws cloudwatch put-metric-alarm), and the official docs example is too limited to use as-is.
  • Step-scaling policies are non-functional without an attached alarm, so this isn't really optional IMO. It's a required part of getting autoscaling to work.
  • The current workaround (manual shell script per service) is error-prone, duplicated across projects, and drifts from the declarative model Harness uses for the rest of the service config.