Terraform 错误:升级后处于状态的资源实例数据无效
我一直在将terraform配置从0.11升级到0.13,并从状态文件中删除一个模块(使用terraform state rm module.mymodulename) 删除上面的资源后,我现在在运行plan命令时遇到了一大堆错误。现在我不太确定这是否与我删除模块有关,还是与升级有关。我可以看到,对于aws_ecs_服务,placement_strategy属性已被弃用,对于如何安全地将其从状态文件中删除,我有点困惑 Placement_策略不是我在参考资料中定义的,只是早期版本的默认值 有人对如何解决下面的问题有什么建议吗?我需要将其备份并运行,因为这是为了我们的开发环境。我倾向于删除资源“aws\U ecs\U服务”“myappadmin服务”并再次导入它Terraform 错误:升级后处于状态的资源实例数据无效,terraform,terraform-provider-aws,Terraform,Terraform Provider Aws,我一直在将terraform配置从0.11升级到0.13,并从状态文件中删除一个模块(使用terraform state rm module.mymodulename) 删除上面的资源后,我现在在运行plan命令时遇到了一大堆错误。现在我不太确定这是否与我删除模块有关,还是与升级有关。我可以看到,对于aws_ecs_服务,placement_strategy属性已被弃用,对于如何安全地将其从状态文件中删除,我有点困惑 Placement_策略不是我在参考资料中定义的,只是早期版本的默认值 有人对
terraform plan
Error: Invalid resource instance data in state
on ecs-instance-role.tf line 23:
23: resource "aws_iam_instance_profile" "ecs-instance-profile" {
Instance aws_iam_instance_profile.ecs-instance-profile data could not be
decoded from the state: unsupported attribute "roles".
Error: Invalid resource instance data in state
on modules\myappadmin\service.tf line 1:
1: resource "aws_ecs_service" "myappadmin-service" {
Instance module.myappadmin.aws_ecs_service.myappadmin-service data could not be
decoded from the state: unsupported attribute "placement_strategy".
Error: Invalid resource instance data in state
on modules\myappadmin\service.tf line 1:
1: resource "aws_ecs_service" "myappadmin-service" {
Instance module.myappadmin.aws_ecs_service.myappadmin-service data could not be
decoded from the state: unsupported attribute "placement_strategy".
Error: Invalid resource instance data in state
on modules\myappadmin\service.tf line 1:
1: resource "aws_ecs_service" "myappadmin-service" {
Instance module.myappadmin.aws_ecs_service.myappadmin-service data could not be
decoded from the state: unsupported attribute "placement_strategy".
Error: Invalid resource instance data in state
on modules\myappadmin\service.tf line 1:
1: resource "aws_ecs_service" "myappadmin-service" {
Instance module.myappadmin.aws_ecs_service.myappadmin-service data could not be
decoded from the state: unsupported attribute "placement_strategy".
Error: Invalid resource instance data in state
on modules\myappadmin\service.tf line 1:
1: resource "aws_ecs_service" "myappadmin-service" {
Instance module.myappadmin.aws_ecs_service.myappadmin-service data could not be
decoded from the state: unsupported attribute "placement_strategy".
Error: Invalid resource instance data in state
on modules\myappadmin\service.tf line 1:
1: resource "aws_ecs_service" "myappadmin-service" {
Instance module.myappadmin.aws_ecs_service.myappadmin-service data could not be
decoded from the state: unsupported attribute "placement_strategy".
我不确定这是否能完全解释您所看到的情况,但其中一个错误似乎与此有关,这表明您正在同时升级Terraform和AWS提供商
为了更容易理解正在发生的事情,我建议一次只升级一个组件,这样您就可以在开始下一次升级之前进行一次升级所需的任何更改,这样您就不必同时关联各种不同组件的发行说明
鉴于您在这里看到的情况,我建议您对您的案例进行以下订购:
- 将AWS提供程序升级到主版本2中的最新可用版本,在我撰写本文时为2.70.0。用于尝试查看遇到的任何错误需要进行哪些更改
- 然后再次将AWS提供程序升级到主版本3中的最新可用版本,在我撰写本文时为3.2.0。用于尝试查看遇到的任何错误需要进行哪些更改
- 将Terraform CLI升级到最新的v0.12版本,在我撰写本文时为v0.12.29。请参阅,其中描述了如何使用该版本中包含的自动升级工具,还描述了升级工具无法自动处理的一些不太常见的情况
- 最后,将Terraform CLI升级到最新的v0.13版本。请参阅,查看是否需要对升级的配置进行任何更改。(如果您只使用“官方”地形提供程序,如AWS提供程序,则可能不需要进行任何更改,但仍然可以运行自动升级工具来查找。)
- 将AWS提供程序升级到主版本2中的最新可用版本,在我撰写本文时为2.70.0。用于尝试查看遇到的任何错误需要进行哪些更改
- 然后再次将AWS提供程序升级到主版本3中的最新可用版本,在我撰写本文时为3.2.0。用于尝试查看遇到的任何错误需要进行哪些更改
- 将Terraform CLI升级到最新的v0.12版本,在我撰写本文时为v0.12.29。请参阅,其中描述了如何使用该版本中包含的自动升级工具,还描述了升级工具无法自动处理的一些不太常见的情况
- 最后,将Terraform CLI升级到最新的v0.13版本。请参阅,查看是否需要对升级的配置进行任何更改。(如果您只使用“官方”地形提供程序,如AWS提供程序,则可能不需要进行任何更改,但仍然可以运行自动升级工具来查找。)