Open1
Terraform の moved ブロックでコードをリファクタリングする
moved ブロックについて
コードのリファクタリングで対象のリソース自身の構成自身は変更しないが、そのアドレスが変更になる場合があります。そうしたとき、通常は古いリソースの削除と新しいリソースの作成が発生する。
しかし、システムが稼働している状態でそのようなリソースの作り直しという作業はリスクが高く、通常はステート上での「リソースに対するアドレスの付け替え」で済ませることが多い。
v1.1 より前では terraform state mv
コマンドで、アドレスの付け替えが行われていた。
v1.1 からコード上で moved
ブロックによるリソースのアドレス移動が表現できるようになり、Terraform Cloud の Version Control Flow で管理しているリソースに対して変更を行いやすくなった。