地形の悪夢


Tailformを使用している場合は、どのように重要な知っているtfstate ファイルは.軽く取っているのではない
今日、私の同僚と私はS 3バックエンドを作成することに取り組んでいましたResource Error これはおそらく、私たちがterraform init しかし、誤ってterraform init -reconfigure , Aの代わりにterraform init -migrate-state (間違いは起こります、我々は人間です).幸運にも状態ファイルがバックアップされました.今、私はまた、ここで取られたステップと何が失敗したかについて文書化したいです.

Disclaimer: I'm new to terraform, the following is my personal experience.

  • S 3にステートファイルをアップロードしようとしましたterraform init -migrate-state (スポイラー警告:それは動作しませんでした).terraformはちょうど目を閉じて、私が資源を見ないようでした.
  • 私たちはローカルバックエンドに戻ることを試みましたが、そこにあるstatefileも動作しませんでした.terraform/terraform.tfstate
  • 我々がしたときterraform apply -state=backed.tfstate それは我々の資源を認識したので、我々は希望があることを知っていました.
  • どうやらterraform init 持っていない-state オプション.
  • どこかに沿って、我々はエラーを得始めました
  • Terraform 0.11.1 does not support state version 4, please update
    
    解決策?隠れたStackoverflow アンサー.
    Terraform does not support state version 4 is a common issue.
    
    There is only one fix to this
    
    Take the local state file and push it to some remote backend and then delete the .terraform directory and run the init command with the backend.
    It should work
    
    フラストレーションは屋根に当たっていました、我々はほぼ1時間以上の間これにいました

    私は怒りのステージにいたと思う.我々が試みたすべてはちょうど我々に結果を与えませんでした、そして、terraformはそれが州のファイルを見ることができなかったように行動していました.
    それから、私たちはterraform状態ファイルを持っていましたterraform state push backup.tfstate そして、見よ、我々はいくつかのランダムを得たlineage エラーです.
    修正lineage TFSTATEファイルのパラメータで、S 3バケツで生成されたterraformファイルにマッチします.それはそれでした.Terraformはファイルがその標準に達していて、それがすべての資源を無傷にしたと同意しました.

    これから持ち帰り。

  • 常にオブジェクトのバージョン管理を有効にします.
  • 常に状態ファイルをバックアップします.
  • それはテラフォームに来るときは常に組み合わせのすべての並べ替えを試して、回避策はほとんどどこかに隠されている.
  • 読書のおかげで、うまくいけば、地形の精神はあなたに怒っていることはありません.