当我将自动扩展组附加到 ECS 服务时,Terraform 返回“不支持的服务命名空间、资源类型或可扩展维度”

当我将自动扩展组附加到 ECS 服务时,Terraform 返回“不支持的服务命名空间、资源类型或可扩展维度”

在我的 terraform 代码中,我尝试使用 将自动缩放组附加到我的 ECS 服务aws_autoscaling_target

resource "aws_appautoscaling_target" "service_app_asg_target" {
  resource_id = "${aws_ecs_service.service_app.arn}"
  min_capacity = 2
  max_capacity = 6
  role_arn = "${aws_iam_role.ecs_autoscale_role.arn}"
}

当我应用这个时,亚马逊给了我错误

不支持的服务命名空间、资源类型或可扩展维度

我的附件有什么问题?

答案1

你没有正确格式化资源 ID在你的aws_appautoscaling_target. 格式必须为服务/群集名称/服务名称,并且 terraform 不会为您格式化。请尝试:

resource_id = "service/${aws_ecs_cluster.MY_CLUSTER.name}/${aws_ecs_service.MY_SERVICE.name}"

答案2

这是 CloudFormation 版本,以防有人需要它。节点、集群和服务是文本,不是引用

   ScalableTarget:
    Type: AWS::ApplicationAutoScaling::ScalableTarget
    Properties:
      RoleARN: !GetAtt AutoScalingRole.Arn
      ResourceId: service/ECSCluster/ECSService

相关内容