忽略地形远程状态

Ignore terraform remote state

我不小心从 S3 删除了远程文件,如何推送我的本地文件?我尝试了 terraform remote push -force。它抛出以下错误。

Failed to load state: Remote state found, but state file 'terraform.tfstate' also present.

问题可能是您的本地目录中有两个状态文件,如下所示:

.terraform/terraform.tfstate terraform.tfstate

如果是,则 .terraform/terraform.tfstate 处的那个是 s3 远程状态的本地副本。 terraform.tfstate 处的那个是纯本地状态。但是 terraform 只希望看到一个或另一个,因此出现错误消息。

将两个文件复制到安全的地方,然后尝试决定将哪个文件复制回 .terraform/terraform.tfstate。这可能是显而易见的:一个可能比另一个更新或更大。

如果一切都失败了,一次复制一个到 .terraform/terraform.tfstateterraform refresh,然后保留更好的版本。

解决方法是手动将本地状态缓存 (.terraform/terraform.tfstate) 中的序列号更改为当前序列号之上的值,然后重试