詳細な監視が有効になっている自動スケーリングされたグループがあります。Cloudwatch のグラフに見られるように、p95 CPUUtilization に基づいてスケーリングできる自動スケーリング ポリシーを作成できるはずです。ただし、それがどのように見えるかの実際の例は見つかりません。
失敗した例がいくつかあります。
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
「TargetTrackingScaling」ポリシーでp95を実際に使用する方法を知っている人はいますか?