如果没有备份就不小心删除了tfstate文件,那么就需要解释

简而言之

没有备份的情况下,把tfstate删掉了~
该怎么办呢~
在发生这种情况时我试着写一下。

不过话虽如此

    • tfstateはしっかりバックアップをとる(弄る時は)

 

    • S3で管理している場合はバージョニングをした方がよい

AWS Backupでも良いかも

这就是说的事情。

以下的文章是描述有关 tfstate 行为的一篇非常有参考价值的文章:
https://chroju.dev/blog/terraform_state_introduction

实际上会怎样呢?

由于脱离terraform的管理,它将与手动创建的资源相同。

如果在这个状态下执行 terraform apply,
会生成相同配置的资源,并且会因为名称冲突而导致失败。

由于无法进行terraform destroy操作,因此只能手动删除资源。

很严格。

如何才能把它归位呢?

重新调整原始的tfstate配置,
或者放弃将现有资源手动删除,并重新创建,
这应该是唯一的选择(也没想到其他方法,如果有请告诉我~)

只需要一种选择:消失的文件,如果重新创建一个相同的内容就好,但说实话真的很困难。

放弃并手动删除现有的资源并重新创建也非常困难。

我们来深入探讨一下如何复原已经删除的文件并创建相同内容的方法。

要重新创建一个与已删除的文件相同内容的文件。

我认为从毫无东西的状态中完全建立起来是不可能的。即使对其中的构成有一定了解,再现出精细的写作方式也是不现实的。

如果有使用不同Terraform创建的开发环境,那么有成功解决的可能性。

作为一种方法,根据开发环境的tfstate文件,调整文件内容并恢复到原始状态。

使用AWS控制台和AWS CLI,同时获取和修改各种资源的ID等信息。

直到没有变化为止,您将通过执行`terraform plan`来确认更改。

如果没有其他开发环境的话,情况将变得非常困难。

最后

如果没有备份就不小心删除了tfstate文件,那肯定是非常绝望的,但也有一些可能的解决办法。

如果你对实际资源的组成没有一定的了解,
或者对于服务本身没有知识的话,可能会很困难。

真的应该备份数据。

广告
将在 10 秒后关闭
bannerAds