Terraform – Graph

terraform graph 是 Terraform 提供的一个命令,用于生成 Terraform 资源之间的依赖关系图,帮助你理解资源的创建顺序以及它们之间的依赖关系。

使用Graphviz生成更易读的依赖关系图

  1. MacOS 安装Graphviz
brew install graphviz

2. 使用的resources

provider "aws" {
  region = "ap-southeast-1"
}

resource "aws_eip" "eip"{
  instance = aws_instance.web.id
}

resource "aws_instance" "web" {
  ami           = "ami-0abcdef1234567890"
  instance_type = "t2.micro"
}

3. 使用terraform graph命令生成结构数据,然后使用Graphviz生成关系图

terraform graph | dot -Tsvg -o graph.svg

4. 结果如下

使用第三方网站加载关系图

  1. 使用terraform graph生成关系数据结构
terraform graph

2. 获取的数据结构如下

digraph G {
  rankdir = "RL";
  node [shape = rect, fontname = "sans-serif"];
  "aws_eip.eip" [label="aws_eip.eip"];
  "aws_instance.web" [label="aws_instance.web"];
  "aws_eip.eip" -> "aws_instance.web";
}

3. 把数据结构粘贴到这个网站上就能生成出图片了

https://dreampuf.github.io/GraphvizOnline/

Loading

Facebook评论