Obecnie używam dwóch polityk skalowania, które są dołączone do mojej grupy automatycznego skalowania: Skalowanie w dół Auto Skalowanie Group w AWS powoduje wieczystego alarm
- Skala się polityki, która jest wywoływana, gdy alarm CloudWatch jest wywoływany . Ten alarm CloudWatch używa metryki CPUUtilization i uruchamia procesor ponad 80%.
- Drugą jest polityka zmniejszania skali, która jest wywoływana, gdy wywoływany jest inny alarm CloudWatch. Ten alarm CloudWatch używa metryki CPUUtilization i uruchamia się, gdy procesor ma mniej niż 50%.
Efektem ubocznym tego podejścia jest to, że gdy moje instancje ASG są bezczynne (całkowicie zmniejszone, żadne przetwarzanie nie występuje) mój ASG jest w stanie alarmu.
Czy istnieje sposób, aby ustawić to inaczej, aby mój ASG nie był w stanie ciągłego alarmu?
Poniżej znajduje się segment tych alarmów z mojego szablonu CloudFormation:
"ScaleUpPolicy" : {
"Type" : "AWS::AutoScaling::ScalingPolicy",
"Properties" : {
"AdjustmentType" : "ChangeInCapacity",
"AutoScalingGroupName" : { "Ref" : "WebApplicationASG" },
"Cooldown" : "1",
"ScalingAdjustment" : "1"
}
},
"CPUAlarmHigh": {
"Type": "AWS::CloudWatch::Alarm",
"Properties": {
"EvaluationPeriods": "1",
"Statistic": "Average",
"Threshold": "80",
"AlarmDescription": "Alarm if CPU too high or metric disappears indicating instance is down",
"Period": "60",
"AlarmActions": [ { "Ref": "ScaleUpPolicy" } ],
"Namespace": "AWS/EC2",
"Dimensions": [ {
"Name": "AutoScalingGroupName",
"Value": { "Ref": "WebApplicationASG" }
} ],
"ComparisonOperator": "GreaterThanThreshold",
"MetricName": "CPUUtilization"
}
},
"ScaleDownPolicy" : {
"Type" : "AWS::AutoScaling::ScalingPolicy",
"Properties" : {
"AdjustmentType" : "ChangeInCapacity",
"AutoScalingGroupName" : { "Ref" : "WebApplicationASG" },
"Cooldown" : "1",
"ScalingAdjustment" : "-1"
}
},
"CPUAlarmLow": {
"Type": "AWS::CloudWatch::Alarm",
"Properties": {
"EvaluationPeriods": "1",
"Statistic": "Average",
"Threshold": "50",
"AlarmDescription": "Alarm if CPU is low, causing scale down",
"Period": "60",
"AlarmActions": [ { "Ref": "ScaleDownPolicy" } ],
"Namespace": "AWS/EC2",
"Dimensions": [ {
"Name": "AutoScalingGroupName",
"Value": { "Ref": "WebApplicationASG" }
} ],
"ComparisonOperator": "LessThanThreshold",
"MetricName": "CPUUtilization"
}
},
Ten "problem" też mi przeszkadza. Nie znalazłem jeszcze rozwiązania. Na forum aws znajduje się wątek: https://forums.aws.amazon.com/thread.jspa?threadID=175650 – Tom