☁️
Terraform Cloudのtfstateを修正する
はじめに
Terraform Cloudはリモート実行環境(Execution ModeでいうRemote)として使用している場合においてtfstateに差分が出てしまったときの対処法です。
よくあるパターンとしてはすでにapplyしたリソースをmodule化した場合などでしょうか。
参考
stateファイルを修正する
ローカルで修正するためにTerraformのインストールが必要です。
Terraform Cloudにあるstateファイルをコピペ or Downloadで手元のルートディレクトリの terraform.tfstate
にコピーします。
terraform state mv
などでstateファイルを修正します。
その後、tfファイルに以下を追記します。(organization, workspaceは自分自身の環境に合わせて設定してください)
terraform {
backend "remote" {
hostname = "app.terraform.io"
organization = "example"
workspaces {
name = "example"
}
}
}
terraform login
でログインしたあと terraform init
してyesで上書きします。
対象のWorkspaceのStatesタブでNew stateとあれば成功です。
ちなみにGitHubにpushする必要はないので今回追記した内容やTerraform実行でできたファイルなどは破棄して問題ありません。
Discussion