实例计划程序创建在除N.Virginia以外的任何地区都会失败



在尝试使用terraform创建实例调度器时,该代码在北弗吉尼亚州运行良好,但在俄勒冈州失败。app_autoscaling_policy失败。它适用于Readpolicy,但对于Writepolicy,它给出的错误也只适用于一个区域

resource "aws_appautoscaling_policy" "StateTableAutoScalingReadPolicy" {
name               = "${var.general_config.ProjectName}-StateTableAutoScalingReadPolicy"
policy_type        = "TargetTrackingScaling"
resource_id        = aws_appautoscaling_target.StateTableAutoScalingReadTarget.resource_id
scalable_dimension = aws_appautoscaling_target.StateTableAutoScalingReadTarget.scalable_dimension
service_namespace  = aws_appautoscaling_target.StateTableAutoScalingReadTarget.service_namespace
target_tracking_scaling_policy_configuration {
target_value = 75
scale_in_cooldown = 60
scale_out_cooldown = 60
predefined_metric_specification {
predefined_metric_type = "DynamoDBReadCapacityUtilization"
}
}
depends_on = [aws_appautoscaling_target.StateTableAutoScalingReadTarget]
}
resource "aws_appautoscaling_target" "StateTableAutoScalingWriteTarget" {
max_capacity       = local.settings.appASTmax
min_capacity       = local.settings.appASTmin
resource_id        = "table/${aws_dynamodb_table.StateTable.id}"
scalable_dimension = "dynamodb:table:ReadCapacityUnits" # #dynamoDBReadCapacityUtilization
service_namespace  = "dynamodb"
role_arn           = aws_iam_role.SchedulerDynamoDBScalingRole.arn
depends_on = [aws_appautoscaling_target.StateTableAutoScalingReadTarget]
}
resource "aws_appautoscaling_policy" "StateTableAutoScalingWritePolicy" {
depends_on = [aws_appautoscaling_target.StateTableAutoScalingWriteTarget]
name               = "${var.general_config.ProjectName}-StateTableAutoScalingWritePolicy"
policy_type        = "TargetTrackingScaling"
resource_id        = aws_appautoscaling_target.StateTableAutoScalingWriteTarget.resource_id
scalable_dimension = aws_appautoscaling_target.StateTableAutoScalingWriteTarget.scalable_dimension
service_namespace  = aws_appautoscaling_target.StateTableAutoScalingWriteTarget.service_namespace
target_tracking_scaling_policy_configuration {
target_value = 75
scale_in_cooldown = 60
scale_out_cooldown = 60
predefined_metric_specification {
predefined_metric_type = "DynamoDBReadCapacityUtilization"
}
}
}
Error: Failed to create scaling policy: Error putting scaling policy: ValidationException: Only one TargetTrackingScaling policy for a given metric specification is allowed

读取策略和写入策略都使用预定义的度量类型DynamoDBReadCapacityUtilization。在将其修改为DynamoDBWriteCapacityUtilization之后,它就工作了。

最新更新