Terraform无法识别ECS desired_task_count变量变更问题及解决
Terraform修改ECS desired_task_count变量无变更检测问题排查与解决
我搭建了一个ECS Fargate集群,当前运行4个相同应用的任务,期望任务数通过变量desired_task_count定义:
variable "desired_task_count" { description = "Desired ECS tasks to run in service" default = 4 }
修改该变量的默认值并保存后,执行terraform plan或terraform apply时,Terraform未检测到任何变更,tfstate文件也保持不变:
No changes. Your infrastructure matches the configuration. Terraform has compared your real infrastructure against your configuration and found no differences, so no changes are needed. Apply complete! Resources: 0 added, 0 changed, 0 destroyed.
tfstate中的对应内容:
"desired_count": 4,
但修改同一variables.tf文件中的其他变量时,Terraform能正常识别并应用变更。
我尝试过的操作:
- 创建新变量传递该值——无效
- 销毁后重建基础设施——有效,会生成新的状态文件
Terraform及Provider版本:
terraform --version Terraform v1.2.4 on linux_amd64 + provider registry.terraform.io/hashicorp/aws v3.75.2
疑问:这是否是Provider的问题?该问题仅出现在指向特定资源特定配置的变量上,还能检查哪些内容?
已解决
问题出在ECS服务资源的lifecycle块中,配置了变更忽略列表。该配置是之前为自动扩缩容功能添加的,虽然功能已临时移除,但配置未删除:
lifecycle { ignore_changes = [task_definition, desired_count] }
内容的提问来源于stack exchange,提问作者rippie
相关产品推荐
相关产品推荐

