🏠 ホーム ニュース 📖 解説記事 📚 トピック解説 🏷️ タグ一覧 ℹ️ About
ツール
💰 API料金計算機 NEW
🔍 記事を検索
カテゴリ
📡 RSSフィード
Follow
X (Twitter) 🧵 Threads
🔧 ツール
💰API料金計算機
トピック
🧠 Claude Code 🤖 AIエージェント 🎵 AIコーディング / Vibe Coding 🔌 MCP(Model Context Protocol) 🔍 RAG & ナレッジシステム 💬 LLM / ローカルAI 🔒 セキュリティ ⚙️ DevOps & 自動化 💰 Claude API & 料金 🎨 UI生成 & デザインシステム
ニュース一覧 🏷️タグから探す
Subscribe
📡 RSSフィード
ホーム tool 2026.05.01

Terravision:TerraformコードからAWSアーキテクチャ図を自動生成するOSSツール

patrickchugh/terravision
🗺️
Terravision:TerraformコードからAWSアーキテクチャ図を自動生成するOSSツール - AIツール日本語解説 | AI Heartland
手書きのアーキテクチャ図はインフラ変更のたびに陳腐化する。TerravisionはTerraformコードから直接図を生成し、CIパイプラインに組み込むことでドキュメントを常に最新状態に保つ。完全ローカル動作でコードは外部に出ない。

インフラのアーキテクチャ図は書いた翌日から古くなる。Terraformコードが変わるたびにdraw.ioやLucidchartを手で更新するのは現実的でなく、多くの現場ではドキュメントが実態と乖離したまま放置されている。TerravisionはTerraformコードを読み込み、AWS・GCP・Azureのアーキテクチャ図を自動生成するOSSツールだ。完全クライアントサイド処理で、コードは外部サーバーに送られない。CI/CDパイプラインに組み込めばPRマージのたびにダイアグラムが更新される「生きたドキュメント」を実現できる。

この記事ではTerraformインフラの可視化ツールTerravisionを解説します。Terraformのクラウドコスト可視化についてはInfracost活用ガイド:Terraformのクラウドコストをデプロイ前に可視化するOSSツール完全解説をご覧ください。

この記事のポイント

  • AWS 200以上・GCP/Azureコアサービスに対応。pip install terravisionの1コマンドで導入でき、GitリポジトリURLを渡すだけで図が生成される。
  • インタラクティブHTML出力はクリッカブルノード・パン/ズーム・検索・データフローアニメーション付き。ステークホルダーへのURL共有にも使える。
  • Ollama(ローカルLLM)・AWS Bedrock・OpenAI互換APIによるAIアノテーション機能で、各コンポーネントの説明を自動付与できる。

Terravisionとは:インフラドキュメントの陳腐化問題を解決するOSS

Terravisionは「Turn Terraform code into professional cloud architecture diagrams that stay in sync with your infrastructure」をコンセプトにしたPython製OSSだ。AGPL-3.0ライセンスで公開されており、商用環境での利用は派生物のソース公開義務を伴う(社内ツールとしての利用は一般的にAGPLの制約外)。

項目 内容
バージョン v0.39.0(2026年4月30日)
ライセンス AGPL-3.0
言語 Python 96.3%、HTML 3.4%
対応クラウド AWS(200以上)、GCP(コアサービス)、Azure(コアサービス)
出力形式 PNG / SVG / PDF / インタラクティブHTML / draw.io(mxGraph)
AIアノテーション Ollama / AWS Bedrock / OpenAI互換 REST API
外部通信 なし(完全ローカル処理)

なぜ「コードからの自動生成」が必要か

graph LR A["Terraformコード変更"] --> B{"アーキテクチャ図の更新"} B -- "手動更新" --> C["更新漏れ
(よくある)"] B -- "Terravision" --> D["CI/CDで自動生成
→ 常に最新"] C --> E["ドキュメントと
実態の乖離"] D --> F["レビュー・監査・
オンボーディングに使える"] style C fill:#ff6b6b,color:#fff style D fill:#4ecdc4,color:#fff

4分でわかる:公式紹介動画

開発者によるデモ動画だ。TerraformコードをそのままTerravisionに渡してAWSアーキテクチャ図が生成されるまでの流れがわかる。

インストールと基本的な使い方

必要な依存関係はPython 3.10以上・Terraform 1.x・Graphviz・Gitだ。Graphvizのシステムインストールを忘れずに。

# Graphviz のインストール(macOS)
brew install graphviz

# Graphviz のインストール(Ubuntu/Debian)
sudo apt-get install graphviz

# Terravision のインストール(推奨: pipx)
pipx install terravision

# または pip(仮想環境内)
pip install terravision

ローカルディレクトリから生成

# PNG形式(デフォルト)で生成
terravision draw --source ./path-to-your-terraform

# SVG形式で生成
terravision draw --source ./path-to-your-terraform --format svg

# draw.io形式(Lucidchartでも読み込み可)
terravision draw --source ./path-to-your-terraform --format drawio

GitリポジトリURLから直接生成

ローカルにリポジトリをクローンしなくても、GitのURLを直接渡せる。

# GitHub リポジトリから直接生成(パブリックリポジトリ)
terravision draw --source https://github.com/user/my-terraform-repo.git

# ブランチ指定
terravision draw --source https://github.com/user/repo.git --branch develop

インタラクティブHTMLで生成・ブラウザで開く

visualiseコマンドはブラウザで開けるインタラクティブHTMLを生成する。ノードのクリック・パン/ズーム・検索・データフローアニメーションが使える。

terravision visualise --source ./path-to-your-terraform --show

--showを付けると生成後に自動でブラウザが開く。出力されたHTMLファイルは単体で動作し、チームへのURL共有やWikiへの添付にそのまま使える。

事前生成のTerraformプランファイルを使う

本番環境のTerraformにクラウド認証を通さずに図を生成したい場合、terraform planの出力を使う方法がある。

# Terraform プランをファイルに書き出す
terraform plan -out=tfplan.bin
terraform show -json tfplan.bin > plan.json
terraform graph > graph.dot

# plan ファイルから生成(クラウド認証不要)
terravision draw \
  --planfile plan.json \
  --graphfile graph.dot \
  --source ./path-to-your-terraform

この方法はCI/CD環境でも有効だ。CIパイプラインでTerraformプランを生成し、そのアーティファクトをTerravisionに渡すことで、本番クラウドへのアクセス権がないCIエージェントでも図の生成が完結する。

200以上のAWSサービスに対応:主要サービスの一覧

Terravisionが対応するAWSサービスは公式ドキュメントに一覧があるが、主なものを挙げる。

カテゴリ 対応サービス例
コンピュート EC2, Lambda, ECS, EKS, Fargate, Batch
ネットワーク VPC, Subnet, ALB, NLB, CloudFront, Route 53, API Gateway
ストレージ S3, EBS, EFS, FSx, Glacier
データベース RDS, Aurora, DynamoDB, ElastiCache, Redshift
セキュリティ IAM, KMS, WAF, Shield, Cognito, Secrets Manager
監視 CloudWatch, X-Ray, CloudTrail
メッセージング SQS, SNS, EventBridge, Kinesis, MSK
CI/CD CodePipeline, CodeBuild, CodeDeploy
AI/ML SageMaker, Bedrock, Rekognition, Textract

GCPとAzureはコアサービス(Compute Engine/GKE/Cloud Storage/Cloud SQL等)に対応している。将来的なフルサポートに向けて開発中だ。

graph TD subgraph "Terravision 対応範囲" AWS["AWS
200+ サービス
(フルサポート)"] GCP["GCP
コアサービス対応
(拡張中)"] AZ["Azure
コアサービス対応
(拡張中)"] end TF["Terraformコード
(.tf ファイル)"] --> AWS TF --> GCP TF --> AZ AWS --> OUT["PNG / SVG / PDF
インタラクティブHTML
draw.io形式"] GCP --> OUT AZ --> OUT style AWS fill:#ff9500,color:#fff style GCP fill:#4285f4,color:#fff style AZ fill:#0078d4,color:#fff

AIアノテーション機能:各コンポーネントに説明を自動付与

v0.39.0で強化されたAIアノテーション機能は、生成した図の各コンポーネントに自然言語の説明を自動で付与する。アーキテクチャレビューや新メンバーのオンボーディング資料として使いやすくなる。

対応するAIバックエンドは3種類だ。

Ollama(ローカルLLM)

# Ollama でアノテーション(完全ローカル)
terravision draw \
  --source ./path-to-your-terraform \
  --ai-annotate ollama

# 使用モデルの指定(デフォルト: llama3)
terravision draw \
  --source ./path-to-your-terraform \
  --ai-annotate ollama \
  --ai-model mistral

コードも説明もすべてローカルで完結する。機密インフラの場合はこの方法が最も安全だ。

AWS Bedrock

# AWS Bedrock でアノテーション(boto3 認証が必要)
terravision draw \
  --source ./path-to-your-terraform \
  --ai-annotate bedrock

# AWS プロファイルを指定
AWS_PROFILE=my-profile terravision draw \
  --source ./path-to-your-terraform \
  --ai-annotate bedrock

OpenAI互換 REST API

# OpenAI 互換エンドポイントを指定(OpenAI / Azure OpenAI / ローカルサーバー等)
terravision draw \
  --source ./path-to-your-terraform \
  --ai-annotate restapi \
  --ai-endpoint https://api.openai.com/v1 \
  --ai-model gpt-4o

CI/CDパイプラインへの組み込み:PRマージのたびに図を更新

Terravisionの実用的な価値が最も発揮されるのはCI/CD統合だ。Terraformコードが変わるたびにアーキテクチャ図を自動生成し、GitHubのWikiやドキュメントリポジトリに自動コミットするパイプラインを作れる。

GitHub Actionsでの例

# .github/workflows/terravision.yml
name: Generate Architecture Diagram

on:
  push:
    branches: [main]
    paths:
      - 'terraform/**'
  pull_request:
    paths:
      - 'terraform/**'

jobs:
  diagram:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Install dependencies
        run: |
          sudo apt-get install -y graphviz
          pip install terravision

      - name: Generate architecture diagram
        run: |
          terravision draw \
            --source ./terraform \
            --format svg \
            --output docs/architecture.svg

      - name: Commit diagram to docs/
        uses: stefanzweifel/git-auto-commit-action@v5
        with:
          commit_message: "docs: アーキテクチャ図を自動更新"
          file_pattern: "docs/architecture.svg"

PRのたびにダイアグラムが更新されるため、レビュアーはコードの差分だけでなく図の変化も確認できる。「このPRでLambdaが増えた」「RDSの接続経路が変わった」といった変化が一目でわかる。

draw.io形式でエクスポートしてチームで共有

# draw.io 形式で生成(Lucidchartでも読み込み可)
terravision draw --source ./terraform --format drawio --output infra.drawio

draw.io(diagrams.net)はブラウザベースの無料ツールで、生成した.drawioファイルをそのまま開いてチームで編集できる。Confluenceへの埋め込みやGoogleスライドへの貼り付けにも対応している。

--simplifiedオプション:VPC/サブネットを省略した簡略図

大規模なインフラではVPCやサブネットの入れ子構造が図を複雑にしすぎることがある。--simplifiedオプションで省略した見やすい図も生成できる。

# VPC・サブネットを省略した簡略図
terravision draw --source ./terraform --simplified

# Terragrunt のマルチモジュールプロジェクト
terravision draw --source ./terragrunt-root --terragrunt

Infracostとの組み合わせ:図とコストを一緒に把握する

Terravisionはアーキテクチャの構造を可視化し、Infracostはそのコストを可視化する。2つをCIに組み込むことで、PRのたびに「何がどう変わり、コストはいくら増減するか」がセットでわかる運用ができる。

# GitHub Actions で Terravision + Infracost を同時実行する例
jobs:
  infra-review:
    steps:
      - name: Generate architecture diagram
        run: terravision draw --source ./terraform --format svg

      - name: Estimate cost diff
        uses: infracost/actions/setup@v3
        with:
          api-key: $
      - run: infracost diff --path ./terraform --format json > cost.json

      - name: Comment on PR
        # diagram + cost diff を PR コメントに投稿

AWSのローカルエミュレータと組み合わせたい場合はMiniStack徹底解説:MIT・無料のAWSローカルエミュレータも参照されたい。

インタラクティブHTMLデモ:生成された図の操作感

公式サイトに3つのクラウドプロバイダーのインタラクティブデモが公開されている。

デモを開くと、以下のインタラクティブ機能が体験できる。

機能 操作方法
パン ドラッグ
ズーム スクロールホイール / ピンチ
ノードの詳細 ノードをクリック → サイドパネルで詳細表示
データフローアニメーション 接続線をクリックでトラフィック方向をアニメーション表示
検索 右上の検索バーでサービス名を検索してハイライト

このHTMLファイルは単体で動作する。terravision visualiseコマンドで生成したファイルをS3に置いてチームに共有すれば、Confluenceに貼るよりずっとインタラクティブな体験を届けられる。

他のTerraformドキュメントツールとの比較

Terraformエコシステムにはアーキテクチャ図の生成やドキュメント化を支援するツールがいくつか存在する。Terravisionがどの位置にあるかを整理する。

ツール 主な用途 出力形式 AIアノテーション 対応クラウド
Terravision アーキテクチャ図の自動生成 HTML/PNG/SVG/draw.io Ollama/Bedrock/REST AWS/GCP/Azure
terraform-docs モジュールのREADME生成 Markdown/JSON なし クラウド非依存
Infracost コスト推計 JSON/表/PR comment なし AWS/GCP/Azure
Rover Terraform依存グラフの可視化 HTML(Cytoscape.js) なし クラウド非依存
Pluralith Pipeline統合型ダイアグラム HTML/PDF なし AWS/GCP/Azure

terraform-docsはモジュールのinput/outputをMarkdownに書き出すツールで、Terravisionとは補完関係にある。両方をCIに組み込むことで「コードの仕様書(terraform-docs)」と「アーキテクチャの全体図(Terravision)」を自動生成できる。

推奨の組み合わせ

  • terraform-docs — モジュールごとの変数・出力・依存関係をMarkdown化
  • Terravision — インフラ全体のアーキテクチャ図を生成
  • Infracost — PRごとのコスト差分をコメント投稿

3つをGitHub Actionsにまとめると「コード変更 → 図/ドキュメント/コスト差分が自動更新される」パイプラインが完成する。

まとめ:「ドキュメントが古い」問題をコードで解決する

Terravisionが解決する問題はシンプルだ。「アーキテクチャ図は変更のたびに陳腐化する」という不変の課題に対して、コードから図を生成することで陳腐化の原因そのものを取り除く

観点 評価
セットアップのしやすさ pip install terravision + Graphviz のみ
AWS対応範囲 ◎ 200以上のサービス。ほぼすべてのユースケースをカバー
CI/CD統合 ◎ GitHub Actions等に素直に組み込める
出力形式の多様さ ◎ HTML/PNG/SVG/PDF/draw.io
AIアノテーション ○ Ollama対応でローカル完結も可
GCP/Azure対応 △ コアサービスのみ。拡張中
ライセンス △ AGPL-3.0。SaaSとして外部提供する場合は注意

インフラのドキュメント運用に課題を感じているチームであれば、まずpip install terravisionして手元のTerraformディレクトリに向けて実行してみるのが最速の評価方法だ。

FAQ

Q. Terraformのstateファイルやクラウド認証は必要ですか?

不要だ。Terravisionは.tfファイルの静的解析でアーキテクチャ図を生成するため、terraform initterraform applyも必要ない。クラウドアカウントへのアクセス権がないCI環境でも動作する。事前にterraform planを実行した.jsonファイルを渡す方法もある。

Q. Terragruntには対応していますか?

対応している。--terragruntフラグを付けることでマルチモジュール構成のTerragruntプロジェクトを処理できる。依存モジュール間のリソース関係も図に反映される。

Q. AGPL-3.0ライセンスの制約はどこに影響しますか?

社内ツールとしてCI/CDに組み込んで使う分にはAGPLの影響は一般的にない。問題になるのは「Terravisionを組み込んだサービスを外部ユーザーに提供する(SaaSとして使う)」ケースで、その場合はソースの公開義務が生じる可能性がある。商用利用を検討する場合は法務に確認すること。

Q. draw.io形式でエクスポートした図はどこで開けますか?

diagrams.net(draw.ioのブラウザ版)で無料で開ける。Confluence・Notion・Googleスライドへの埋め込みも可能だ。Lucidchartも.drawio形式のインポートに対応している。

Q. VPCやサブネットが多くて図が複雑になりすぎます

--simplifiedフラグを使うとVPC・サブネットを省略した概要図が生成される。経営層への説明資料には簡略図、詳細なアーキテクチャレビューにはフル図、と使い分けるのが実用的だ。

参照ソース

B!
B! この記事をはてブに追加
広告
GitHub で見る
役に立ったらシェアをお願いします
🔔 AI速報、毎日Xで配信中
Claude Code・MCP・AIエージェントの最新ニュースをいち早くお届け
@peaks2314 をフォロー
記事の信頼性について
AI Heartland エディトリアルポリシーに基づき作成
複数ソース照合
公式情報・報道等を突き合わせて確認
ファクトチェック済
ソースURLの内容を検証
参照ソース明記
記事末尾に引用元を掲載
Next Read →
💾 Databasement完全解説:MySQL/PostgreSQL/MongoDBを一括管理するセルフホスト型バックアップOSS
関連記事
💾 Databasement完全解説:MySQL/PostgreSQL/MongoDBを一括管理するセルフホスト型バックアップOSS
MySQL・PostgreSQL・MariaDB・MongoDB・SQLite・Redisのバックアップを単一WebUIで管理するセルフホストOSS「Databasement」を解説。SSHトンネル、AES-256暗号化、S3/SFTP/ローカル保存、Slack/Discord通知、MCPサーバー連携、Docker一発デプロイまで。MIT。
2026.05.01
🎨 Open Design:Claude DesignのOSS代替、72デザインシステム×10AIエージェント対応
Anthropic Claude Designのオープンソース代替「Open Design」解説。31スキル・72デザインシステム・10のAIエージェント連携をローカルで無料実行。Anti-AI-slop機構と5次元スコアリングでUI品質を担保。Apache 2.0ライセンス。
2026.05.01
☁️ MiniStack徹底解説:MIT・無料のAWSローカルエミュレータ、LocalStack有償化への対抗馬
MiniStack(GitHub 2.4kスター・MIT)は40+のAWSサービスをローカル4566ポートで実装する無料・OSSのエミュレータ。LocalStackが有償化(BSL)した今、無料代替として急成長中。RDS/ElastiCache/EKSは実コンテナを起動するなど独自の強みあり。LocalStack/Vercel Emulateとの徹底比較。
2026.04.30
🔔 changedetection.io徹底解説:31kスター獲得のWeb変更監視OSS、AI要約・100+通知統合
changedetection.io(GitHub 31.3kスター)は、Webサイトの変更を自動検知し100+の通知先(Slack/Discord/Email/Teams等)に飛ばすOSS。価格変動・在庫復活・改ざん検知に対応し、AI要約・Visual Selector・Browser Stepsで非エンジニアでも使える。完全解説。
2026.04.30
Popular
#1 POPULAR
🎨 Claude Design使い方・料金・v0/Figma比較 — テキストだけでプロトタイプを作るAnthropicのAIデザインツール
Anthropicが2026年4月に公開したClaude DesignはPro月額$20から追加費用なしで使えるAIデザインツール。テキスト指示だけでプロトタイプ・スライド・LPを生成できる。料金・Figma/v0/Lovable比較・オンボーディング手順・実践プロンプト例まで、デザイン知識ゼロから使い始める方法をまとめた。
#2 POPULAR
🎨 awesome-design-md:DESIGN.mdでAIにUI生成させる方法【58ブランド対応】
DESIGN.mdをプロジェクトに置くだけでAIエージェントが一貫したUI生成を実現。Vercel・Stripe・Claudeなど58ブランドのデザイン仕様をnpx 1コマンドで導入する方法と、実際の出力差を検証した結果を解説。
#3 POPULAR
📊 TradingView MCP:Claude CodeからTradingViewを完全操作する78ツールのMCPサーバー
TradingView MCPはClaude CodeからTradingView Desktopを直接操作できる78ツール搭載のMCPサーバー。チャート分析、Pine Script開発、マルチペイン、アラート管理、リプレイ練習まで自然言語で実行。導入手順を解説
#4 POPULAR
🔍 last30days-skill完全ガイド|Reddit・X・YouTube横断AIリサーチスキルの使い方2026年版
last30days-skillはReddit・X・YouTube・TikTokなど10+ソースを横断して最新30日のトレンドをAIで分析するClaude Codeスキル。使い方・設定・活用例を解説。
#5 POPULAR
🚨 Composer 脆弱性 CVE-2026-40261 PerforceドライバRCE、2.9.6/2.2.27で修正
PHP Composerの脆弱性CVE-2026-40261(CVSS 8.8)はPerforce未インストールでも任意コード実行が成立。composer install/requireでRCEリスク。修正版2.9.6/2.2.27へ今すぐcomposer self-updateで更新。全PHP開発者・CI環境が影響対象。
← Open Design:Claude DesignのOSS代替、72デザインシステム×10AIエージェント対応 Databasement完全解説:MySQL/PostgreSQL/MongoDBを一括管理するセルフホスト型バックアップOSS →