🌟
【Terraform】tfstate ファイルの取り扱いについて
概要
本記事では,Terraform の最重要リソースである tfstate ファイルについて扱います。
tfstate ファイルとは
$ Terraform apply を実行したディレクトリに,「terraform.tfstate」というファイルが自動で生成されます。これが tfstate ファイルです。
中身は以下のような感じで json のファイルになっています。
tfstate ファイルには,現在のクラウド上のリソースの状態が保存されます。
$ terraform plan や $ terraform apply の際に,Terraform がこの tfstate ファイルと HCL コードを比較して,差分がある場合にその差分だけに変更を加えるように処理が走ります。
tfstate ファイルの管理方法について
tipsでも記載した通り,tfstate ファイルはデフォルトではローカルに保存されます。ただし、大人数で作業を行うチーム開発でローカルに保存していて困ります。
したがって,マスターを S3 などにアップロードしてチームで管理することが有効です。
tfstate ファイルを格納する S3 バケットに対しては,バージョニング,暗号化アクセス制御などを施すことで安全性を高めることが可能です。
Discussion