Terraform创建ECS容量提供者提示缺少autoscaling标签权限如何解决?
问题解决思路
1. 优先排查IAM权限问题
报错明确指向缺少autoscaling:CreateOrUpdateTags权限,首先确认执行terraform apply所用的AWS身份(IAM用户/角色)的权限策略中包含对应权限,示例策略片段如下:
{ "Effect": "Allow", "Action": "autoscaling:CreateOrUpdateTags", "Resource": "arn:aws:autoscaling:*:*:autoScalingGroup:*:autoScalingGroupName/ecs_autoScale_group" }
控制台操作正常、Terraform操作异常的核心原因通常是两者使用的AWS身份不一致:控制台登录的账号权限更高,而跑Terraform的身份是做过权限收敛的子账号/角色,漏配了该权限。
2. 修复资源依赖顺序
你当前配置中ECS集群直接关联了未创建完成的容量提供者,可能触发时序问题导致标签操作失败,修改配置增加显式依赖即可:
resource "aws_ecs_cluster" "ecs_cluster"{ name = "ecs_cluster" # 移除此处的capacity_providers参数,改为后续单独关联 } resource "aws_ecs_cluster_capacity_providers" "cluster_capacity_provider_assoc" { cluster_name = aws_ecs_cluster.ecs_cluster.name capacity_providers = [aws_ecs_capacity_provider.ecs_capacity_provider.name] default_capacity_provider_strategy { base = 1 weight = 1 capacity_provider = aws_ecs_capacity_provider.ecs_capacity_provider.name } depends_on = [aws_ecs_capacity_provider.ecs_capacity_provider] }
3. 升级Terraform AWS Provider版本
低于3.74.0版本的AWS Provider存在ECS容量提供者标签操作的已知bug,将provider版本升级到最新稳定版即可解决:
terraform { required_providers { aws = { source = "hashicorp/aws" version = "~> 5.0" } } }
内容的提问来源于stack exchange,提问作者joebegborg07
相关产品推荐
相关产品推荐

