🔥
【生成AI】terraformからdiagramsを使ってインフラ構成図をサクッと綺麗に作成する
この記事は?
diagramsというライブラリを知ったので、生成AIと合わせてterraformのファイル群からインフラ構成図を自動で作るチャレンジをした。結論から言えば一発で生成できるかは運な気がするが、ある程度手を加えてやれば5〜10分くらいでインフラ構成図が作れそうである。
どうやったか
まずはterraformのファイルの中身を書き出した。以下のようなファイル構成を仮定したとき、
.
├── main.tf
└── modules/
├── hoge/
│ └── main.tf
├── fuga/
│ └── main.tf
└── piyo/
└── main.tf
次のコマンドでmain.tfのファイル内容を標準出力に吐き出せる。
find . -type f -name 'main.tf' -exec echo "File: {}" \; -exec cat {} \;
上記で吐き出したterraformの内容をChatGPTのo1-previewに渡して、「pythonのdiagramsを使ってインフラ構成図を作って」的なプロンプトを渡すとそれっぽいdiagramsを吐き出してくれる。
あとはcolabにコードを貼り付けて実行すれば、自前の環境構築すら不要でインフラ構成図を作成できる。できたインフラは以下のような感じ。
GCPのSecret Managerがdiagramsのコンポーネントに存在しなかったため空欄になっている。AWSだったらすべてのリソースが定義されているんだろうか。
その他備考
- ChatGPTの知ってるdiagramsと最新のdiagramsのインポートパスが異なっていることがあるので、そこだけサポートしてやる必要がある
- インフラの細部は自分で直した方が早い場合も多い
- トータルの作成時間は10分ほど。2回目以降はもっと早く作れそう
Discussion