Terraformにある既存のリソースのインポート機能を試してみたかった。ちょうど完全に手で(AWSコンソールで)管理しているS3バケット群に新しいバケットを追加したくなったので、ちょうどいいからTerraform Cloudともども試してみた。
この手のIaC管理に既存のリソースを持ってくる体験はいい体験をしたことがない(対応リソースが全然足らなかったり、不完全なインポートだったり)のだけれど、なぜかTerraformには期待していた。
案の定、すんなりはいかなくて(S3バケットインポートするだけなのに!)かなりイライラしながら作業していた。せっかくなのでどんなことにイライラしていたのか備忘しておこうと思う。
tarraform import すると tfstate は出来上がるが tf ファイルは手で修正する。本当か? ダルすぎるんだが。もっとこう、一撃で全部やってくれよ。
— 光電/7474 (@koudenpa) 2020年12月12日
追記: 後から読み返すと『インポート後のplanで差分が出たらその項目の期待値を宣言しろ』『関連するプロバイダのドキュメントはちゃんと読め』という教訓を得ただけだった。この記事にはその教訓を得るまでの流れが書かれている。
- 対象リソース
- terraform import の実行
- インポート状況
- 感想