【テラフォームステート】
Terraformステート とは?
最終更新:
💡 コードの名前と、実物のIDを結ぶ記録簿
Terraformの設定に書いたリソースと、実際のインフラのID・属性などを対応付ける状態の記録。変更計画や管理に使われ、ローカルのterraform.tfstateやリモートバックエンドに保存される。常に最新の実環境を写した記録とは限らない。
コードがあるのに、記録も必要なの?
今のインフラを、そのまま写している?
前に記録した状態と、今の実環境がずれる場合もあるよ。通常のplanでは実環境を読み直し、設定やステートを使って変更を計画する。読み直しを無効にするなど、実行するコマンドやオプションでも挙動は変わるんだ。
チームなら、どこに保存する?
S3では、DynamoDBが必要?
Gitに保存して、手で直してもよい?
まとめ:ざっくりこれだけ覚えればOK!
「Terraformステート」って出てきたら「コードと実際のインフラを対応付ける記録簿」と思えばだいたいOK!
📖 おまけ:英語の意味
「Terraform State」 = Terraformの状態の記録
💬 Stateは状態。Terraformが管理するリソースの対応関係や属性などを保持するために使うよ。