terraform graph
指令,能夠根據組態檔裡使用的 Terraform 資源來產生一張依賴關系圖。
graph 指令並不會直接製作圖片,而是以 DOT 格式輸出的。這個格式可以使用 GraphViz
這個工具轉成圖片。
在研究圖片的過程中,看到一個影片 Applying Graph Theory to Infrastructure as Code.,說明 Terraform 所使用的「圖論」基礎。
運用圖論把基礎架構 (Infrastructrue) 轉成有向圖 (directed graph) 讓自動化變得更容易,要了解依賴關系也變得容易很多。
在 mac 可以直接用 homebrew 安裝 GraphViz。
$ brew install graphviz
用上一篇的範例執行 graph 指令。
$ terraform graph | dot -Tpng > graph.png
產生的圖片如下:
從圖片看到所有在組態檔設定的資源,連變數跟輸出都有