在我的 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