Terraform:任务定义无法取消注册,因为它正在删除过程中

问题描述 投票:0回答:1

在使用 Terraform 更新一些 AWS 基础设施时,我对这个问题感到非常困惑。我正在尝试对某些环境变量进行更改,这将导致我的一项 ecs 服务的任务定义被更新。运行

terraform apply
时,我收到以下错误:

module.<redacted>.aws_ecs_task_definition.ecs_task_def: Destroying... [id=<redacted>]
╷
│ Error: ClientException: The task definition could not be deregistered because it is in the process of being deleted.
│ 
│ 
╵

这种情况已经持续发生了大约两天。我尝试从 AWS 控制台手动取消注册任务定义,但这没有帮助。我还将更改减少为最简单的更新,基本上是设置一个新的环境变量:

"test"= "test"
,以(尝试)消除代码中可能导致问题的任何内容。

地形信息:

Terraform v1.8.3
on darwin_arm64
+ provider registry.terraform.io/hashicorp/archive v2.2.0
+ provider registry.terraform.io/hashicorp/aws v3.75.2
+ provider registry.terraform.io/hashicorp/null v3.2.1

有人有什么建议我可以尝试吗? 非常感谢任何帮助

amazon-web-services terraform infrastructure-as-code
1个回答
0
投票

阅读一些资源后,例如: 这个这个

我发现我的服务当前使用的任务定义处于

DELETE_IN_PROGRESS
状态。我不确定是什么导致它处于该状态,但服务仍在运行的事实意味着任务定义保持活动状态。解决方案是手动创建新的任务定义修订版,更新服务以使用此新定义,然后重新启动服务。执行此操作后大约 10 分钟,AWS 成功删除了旧的(现在未使用的)任务定义。然后,使用答案here中的方法,我需要擦除该资源的本地状态,然后我可以
terraform apply
来获取我的更改。

© www.soinside.com 2019 - 2024. All rights reserved.