我有一个启用了详细监控的自动缩放组。我应该能够创建一个自动缩放策略,允许我根据 p95 CPUUtilization 进行缩放,就像我在 Cloudwatch 中的图表中看到的那样。但是,我找不到真正的例子来说明它的样子。
我有几个失败的例子:
resource aws_autoscaling_policy asg_scaling {
name = "${local.component}-scaling-policy"
adjustment_type = "ChangeInCapacity"
policy_type = "TargetTrackingScaling"
autoscaling_group_name = "${aws_autoscaling_group.asg.name}"
estimated_instance_warmup = 300
target_tracking_configuration {
predefined_metric_specification {
predefined_metric_type = "p95.CPUUtilization"
}
target_value = 40.0
}
}
失败了
* aws_autoscaling_policy.asg_scaling: Error putting scaling policy: ValidationError: 1 validation error detected: Value 'p95.CPUUtilization' at 'targetTrackingConfiguration.predefinedMetricSpecification.predefinedMetricType' failed to satisfy constraint: Member must satisfy enum value set: [ASGAverageCPUUtilization, ASGAverageNetworkOut, ASGAverageNetworkIn, ALBRequestCountPerTarget]
status code: 400, request id: 83ecfae0-94fe-11e8-8c0a-112a070bfa5d
另一个尝试看起来像
resource aws_autoscaling_policy asg_scaling {
name = "${local.component}-scaling-policy"
adjustment_type = "ChangeInCapacity"
policy_type = "TargetTrackingScaling"
autoscaling_group_name = "${aws_autoscaling_group.asg.name}"
estimated_instance_warmup = 300
target_tracking_configuration {
customized_metric_specification {
metric_dimension {
name = "AutoScalingGroupName"
value = "${aws_autoscaling_group.asg.name}"
}
metric_name = "CPUUtilization"
namespace = "EC2"
statistic = "p95"
}
target_value = 40.0
}
}
失败了
* aws_autoscaling_policy.asg_scaling: Error putting scaling policy: ValidationError: 1 validation error detected: Value 'p95' at 'targetTrackingConfiguration.customizedMetricSpecification.statistic' failed to satisfy constraint: Member must satisfy enum value set: [Maximum, SampleCount, Sum, Minimum, Average]
status code: 400, request id: e05440ac-94fb-11e8-abba-43f2e6549e03
有谁知道如何将 p95 与“TargetTrackingScaling”策略一起使用?