icy-machine-99764
02/03/2023, 7:39 PMconst runnerAutoScalingTarget = new aws.appautoscaling.Target(
`${solutionName}-autoscaling`,
{
minCapacity: autoScaleMinCapacity,
maxCapacity: autoScaleMaxCapacity,
resourceId: pulumi.interpolate`service/${solutionService.cluster.cluster.name}/${solutionService.service.name}`,
scalableDimension: "ecs:service:DesiredCount",
serviceNamespace: "ecs",
}
);
const runnerScaleUpPolicy = new aws.appautoscaling.Policy(
`${solutionName}-scaleup`,
{
policyType: "StepScaling",
resourceId: runnerAutoScalingTarget.id,
scalableDimension: runnerAutoScalingTarget.scalableDimension,
serviceNamespace: "ecs",
stepScalingPolicyConfiguration: {
adjustmentType: "ChangeInCapacity",
cooldown: 60,
metricAggregationType: "Maximum",
stepAdjustments: [
{
scalingAdjustment:2,
metricIntervalUpperBound:"0",
},
],
},
}
);
const runnerScaleDownPolicy = new aws.appautoscaling.Policy(
`${solutionName}-scaledown`,
{
policyType: "StepScaling",
resourceId: runnerAutoScalingTarget.id,
scalableDimension: runnerAutoScalingTarget.scalableDimension,
serviceNamespace: "ecs",
stepScalingPolicyConfiguration: {
adjustmentType: "ChangeInCapacity",
cooldown: 60,
metricAggregationType: "Maximum",
stepAdjustments: [
{
scalingAdjustment: -1,
metricIntervalUpperBound: "0",
},
],
},
}
);
new aws.cloudwatch.MetricAlarm(
`${solutionName}-high-metric`,
{
comparisonOperator: "GreaterThanOrEqualToThreshold",
evaluationPeriods: 2,
metricName: "CPUUtilization",
namespace: "AWS/ECS",
period: 60,
statistic: "Maximum",
threshold:40,
dimensions: {
ClusterName: apiCluster.cluster.name,
ServiceName: solutionService.service.name,
},
alarmDescription: "Monitors CPU utilization",
alarmActions: [runnerScaleUpPolicy.arn],
}
);
new aws.cloudwatch.MetricAlarm(
`${solutionName}-low-metric`,
{
comparisonOperator: "LessThanOrEqualToThreshold",
evaluationPeriods: 2,
metricName: "CPUUtilization",
namespace: "AWS/ECS",
period: 60,
statistic: "Maximum",
threshold: 25,
dimensions: {
ClusterName: apiCluster.cluster.name,
ServiceName: solutionService.service.name,
},
alarmDescription: "Monitors CPU utilization",
alarmActions: [runnerScaleDownPolicy.arn],
}
);
orange-policeman-59119
02/03/2023, 10:48 PMmetricIntervalLowerBound
and metricIntervalUpperBound
on the stepAdjustments?icy-machine-99764
02/04/2023, 3:00 AM