AWS

Terraform 리소스 이미지 형태로 표현하는 방법

devfinger 2025. 1. 23. 09:41

Terraform으로 생성된 AWS 리소스를 이미지 형태로 한눈에 볼 수 있는 몇 가지 툴과 방법이 있습니다. 이 툴들은 Terraform 상태 파일이나 AWS 리소스를 스캔하여 다이어그램을 생성합니다.


1. [Terraform Graph (내장 도구)]

Terraform에는 내장된 terraform graph 명령어를 사용하여 리소스 간의 관계를 그래프로 표현할 수 있습니다.

사용 방법:

bash
복사편집
terraform graph | dot -Tpng > graph.png
  • dot 명령은 Graphviz라는 도구를 사용해 텍스트 그래프를 이미지로 변환합니다.
  • Graphviz 설치가 필요합니다:
    • Linux: sudo apt-get install graphviz
    • Mac: brew install graphviz

결과물:

  • 단순한 리소스 의존성 그래프.
  • 큰 프로젝트에서는 다소 복잡하게 표시될 수 있습니다.

2. [Terraform Visual (서드파티)]

Terraform Visual은 Terraform 상태 파일을 시각화하여 그래프로 보여주는 오픈소스 도구입니다.

사용 방법:

  1. terraform plan을 실행하여 JSON 출력 파일 생성:
  2. bash
    복사편집
    terraform plan -out=tfplan.binary terraform show -json tfplan.binary > tfplan.json
  3. Terraform Visual 설치:
  4. bash
    복사편집
    npm install -g @hieven/terraform-visual
  5. 시각화 실행:
  6. bash
    복사편집
    terraform-visual --plan tfplan.json
  7. 브라우저에서 시각화 결과 확인.

3. Cloudcraft

Cloudcraft는 AWS 리소스를 시각적으로 설계하고 다이어그램을 생성할 수 있는 SaaS 도구입니다.

특징:

  • AWS 계정을 연결하면 자동으로 리소스를 가져옵니다.
  • 드래그 앤 드롭 방식으로 AWS 아키텍처를 설계할 수 있습니다.
  • Terraform과의 직접 연동은 지원되지 않지만, Terraform으로 생성된 리소스를 AWS 계정을 통해 가져올 수 있습니다.

주의:

  • 무료 플랜은 제한된 기능만 제공하며, 유료 플랜에서 더 많은 기능을 사용할 수 있습니다.

4. [AWS Perspective (AWS 공식)]

AWS Perspective는 AWS에서 제공하는 솔루션으로, AWS 리소스를 시각화하고 아키텍처 다이어그램을 생성할 수 있습니다.

사용 방법:

  1. AWS Solutions Implementation 페이지에서 배포.
  2. AWS 계정에 IAM 역할 및 리소스를 스캔하여 다이어그램 생성.

장점:

  • AWS 리소스의 구조를 자동으로 가져옴.
  • Terraform으로 생성된 리소스도 AWS 계정을 통해 표시 가능.

5. [Diagrams.net (구 Draw.io)]

Terraform 상태 파일을 기반으로 다이어그램을 수동으로 생성할 수 있습니다.

사용 방법:

  1. terraform show로 리소스 목록을 확인합니다.
  2. Diagrams.net에서 AWS 아이콘을 사용해 아키텍처를 설계합니다.

장점:

  • 완전한 커스터마이징 가능.
  • 다른 도구보다 유연하지만, 수동 작업이 필요함.

6. InfraMaps

InfraMaps는 Terraform 상태 파일을 시각화하는 오픈소스 CLI 도구입니다.

사용 방법:

  1. 설치:
  2. bash
    복사편집
    brew install inframap
  3. Terraform 상태 파일을 시각화:
  4. bash
    복사편집
    terraform show -json > tfstate.json inframap generate --tfstate tfstate.json | dot -Tpng > diagram.png

특징:

  • 간단한 네트워크 다이어그램 생성.
  • Terraform 상태 파일과 Graphviz를 결합하여 사용.

7. Terraboard

Terraform 상태 파일을 분석하고 웹 인터페이스를 통해 시각화할 수 있는 도구입니다.

사용 방법:

  1. Terraboard 설치 및 실행:
  2. bash
    복사편집
    docker run -it -p 8080:8080 camptocamp/terraboard
  3. 웹 UI에서 Terraform 상태 파일 시각화.

8. Hava.io

Hava는 AWS, Azure, Google Cloud와 Terraform 파일에서 생성된 리소스를 자동으로 시각화하는 클라우드 다이어그램 도구입니다.

특징:

  • AWS 리소스 자동 스캔.
  • Terraform으로 만든 인프라도 AWS 계정을 통해 가져와 시각화 가능.

추천

  • 간단한 의존성 그래프: terraform graph + Graphviz.
  • 자세한 AWS 리소스 다이어그램: AWS Perspective 또는 Cloudcraft.
  • Terraform 상태 시각화: Terraform Visual 또는 InfraMaps.

필요한 수준과 환경에 따라 위 도구 중 적합한 것을 선택해 사용해 보세요! 😊

 
4o

'AWS' 카테고리의 다른 글

AWS Nat 구성  (0) 2025.01.04
Lambda Cold Start CloudWatch Events vs EventBridge  (0) 2024.12.12
Lambda Cold Start CloudWatch Events 설정  (0) 2024.12.12
Lambda Cold Start 해결 방법 (Snapstart)  (0) 2024.12.12
Lambda Cold Start 해결 방법  (0) 2024.12.12