Автоматическое масштабирование ECS - невозможно масштабировать по метрике резервирования ЦП

У меня есть ниже политика автоматического масштабирования, которая должна добавить экземпляр, когда резервирование процессора превышает 75%. Я не вижу никакой тревоги, сработавшей для этой настройки

Policy type:
Simple scaling
Execute policy when:
ECS-CPUHighAlarm
breaches the alarm threshold: CPUReservation > 75 for 5 consecutive periods 
of 60 seconds for the metric dimensions AutoScalingGroupName = ECS-
ECSAutoScalingGroup
Take the action:
Add 1 instances And then wait: 600 seconds before allowing another scaling 
activity

Ниже приведен скрипт CloudFormation.

CPUHighAlarm:
Type: 'AWS::CloudWatch::Alarm'
Properties:
  EvaluationPeriods: 5
  Statistic: Average
  Threshold: 75
  AlarmDescription: 'Alarm if CPU reservation is high.'
  Period: 60
  AlarmActions:
  - !Ref 'CPUScalingUpPolicy'
  Namespace: 'AWS/ECS'
  Dimensions:
  - Name: AutoScalingGroupName
    Value: !Ref 'ECSAutoScalingGroup'
  ComparisonOperator: GreaterThanThreshold
  MetricName: CPUReservation

Но это не происходит на основе того, что я наблюдал с диаграммой, приведенной ниже. Таблица резервирования ЦП

Есть мысли о том, где мне не хватает конфигурации?

1 ответ

Я думаю, что нашел проблему. Это было в шаблоне CloudFormation. При использовании пространства имен в качестве AWS/ECS ниже допустимы измерения,

Dimensions:
- Name: ClusterName
  Value: !Ref 'ECSClusterName'

Следовательно, Alarm был недействителен и застрял как INSUFFICIENT_DATA, что я понял только позже, прочитав это,

https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ecs-metricscollected.html

Я запустил тест, и сработала сигнализация и автоматическое масштабирование.

Другие вопросы по тегам