いつものアレ
「リソース作っておいたから後はよろしくねー」
開発チームから期日の無いチケットが切られる。やれやれだぜいつものimport作業発生かよ・・
importするリソースを公式ドキュメントで調べていると次のメンションが
「先週importしてもらったの差分出てるよ。調査してみてくれない?」
ええ?誰か手作業で変更した??tfstateのバックアップ探さないと・・、とさらに追撃のメンション
「この前importしたやつ、importするリソースが足りてないと思います!」
もはやインフラ屋じゃなくてimport屋か??IaC化は別のトイルを産んでいる
そもそもimportの仕組みがよろしくないのよね
ググリが前提なんだよね。リソース名とかargsの指定方法とか。
そこまではどんなツールでも変わらないけど、main.tfファイルの生成は手動とかは違うんじゃねー?って思う。
あとターゲットリソースの指定は事前に調査してってのもなぁ。そんな理由でマネコン入るのってどうなの??
aws2tfとか一気にブッコ抜くツールも良いんだけど、もっとコンパクトに分かりやすく動くものって無いしなァ
作ったわ!
詳しくはリポジトリで。Bashベースのエコシステムに乗っかったツールです。対応import数増えてくと良いなぁ(他力本願
v1.1 - v1.4
コンフィグの追加で以下のimportをサポートしました
- WAF v2
- CloudFront
- WAF Classic
- IAM Policy
- IAM Role
あとリージョン指定とバージョン固定のオプションもいれました
v1.5 - v2.0
選択用のpecoを任意で呼び出せるモードと、一度に複数リソースをimport出来るモードを追加しました
コンフィグの追加で以下のimportをサポートしました
- ListenerRule
- secretsmanager
- ECS Autoscale
v3.0 - v3.1
Mac OSでも動くようにしたのと、datadogのモニターも抜き出せるよう複数コンフィグを扱えるようにしました
- Mac OS対応
- Terraform AWS Provider v4でS3のリソースが細分化されたので一気に抜き出せるようにした
- datadogのモニターに対応
どんなん?
このツールを使うと・・
- インタラクティブにimportするリソースを指定できます
- バッチ処理っぽくスナップショット的にtfstateを抜き出せます
- 複数リソースを一度に抜き出せます
pecoで検索性バッチリでリソース指定できーの、
バッチ処理ぽくtfstateを抜き出せーの
複数リソースを一度に抜き出せるのでimport漏れも解消!
といったかんじでimportに関わるめんどくさいエトセトラが解決できます!
あとがき
いまだかつてない抽象化の高い・・・というかほぼコンフィグに任せっぱなしのツールですw
階層的に抜き出したものを後に引き継ぐだけなんだけど立派なツールなような気がする。
コンフィグを充実させることで組織のノウハウも拡充できる気がするので成長性Aってことで良いんじゃないかなw
TerraformのAWS Provider v4メジャーアップデートは破壊的変更あり
こういう、どーしょーもない変更喰らってもとりあえずIaC出来るので是非是非に