python Technology

windows10環境のPython(Diagrams)でシステム構成図を描く手順

システム構成図を手書きではなく、コード化したいと思い調べていたら
PythonのDiagramsでかけるみたいなので、インストールと作成方法を試してみる

Diagrams とは

Diagramsは、Pythonで書かれたオープンソースのライブラリで、
インフラストラクチャーやシステムアーキテクチャの構成図をコード化するOSSみたいです。

Diagramsは以下のようなクラウドサービスにも対応してます。
※詳細は公式サイトの「Nodes」を参照

OnPremでは、よく利用される以下OSSのDiagramsもあるので、これだけで構成図が作れそう

  • Fluentd
  • GitlabCI
  • Jenkins
  • Ansible
  • Datadog

Diagrams を実行するまでの手順

Windows OSでDiagramsを使うには、以下の3つの設定が必要です。

  • Pythonをインストール
  • Graphvizをインストール
  • Diagramsをインストール

詳細手順を以下に案内します。

①Pythonをインストールする

Pythonの公式サイトから、Windows用のインストーラをダウンロード&インストールするか、
Microsoft Store から Python on Windowsをダウンロード&インストールします。

※最新バージョンの3.11だとDiagramsがエラーになって動作しなかったので、3.10をインストールしてください。

各インストール方法は以下を参照

インストールしたら、以下コマンドでバージョンを確認

python --version

VisualStudioCodeで実行する人は、Python 拡張機能のインストールするのもオススメです

②Graphvizをインストールする

Graphvizの公式サイトから、Windows用のインストーラをダウンロードします。
ダウンロードしたインストーラを実行し、指示に従ってGraphvizをインストールします。

windowsへのインストール手順は過去記事のここを参照してください。

インストールしたら、以下コマンドでバージョンを確認

dot -V

③Diagramsをインストールする

コマンドプロンプトを開き、以下のコマンドを実行し Diagrams をインストールします。

pip install diagrams

詳細手順が知りたい人はここを参照

Diagramsの動作確認

インストールが完了したら、Pythonスクリプト内でDiagramsを使ってシステム構成図を作成することができます。

ためしに公式のExamplesコードを試してみましょう。

  • テストコード(ファイル名:diagram.py)

    from diagrams import Diagram
    from diagrams.aws.compute import EC2
    from diagrams.aws.database import RDS
    from diagrams.aws.network import ELB
    
    with Diagram("Grouped Workers", show=False, direction="TB"):
        ELB("lb") >> [EC2("worker1"),
                      EC2("worker2"),
                      EC2("worker3"),
                      EC2("worker4"),
                      EC2("worker5")] >> RDS("events")
  • テストコード実行

    python diagram.py
  • 作成されたシステム構成図(ファイル:grouped_workers.png)

人気記事

1

Kubernetes kubectl rollout コマンドでdeploymentをロールバックしてみる 概要 kubectl rollout コマンドでデプロイ履歴を確認してロールバックするやり方 ...

2

  terraformのバージョン管理どうすればいいのか? terraformの複数バージョンを簡単に動かしたい terraformのインストール方法が分からない と、疑問を抱えている人の疑 ...

3

本記事では どんな環境にterraformをインストールできるの? terraformのインストールどうしたらいいの? terraformのどのバージョンをインストールすればいいの? と、困っている人 ...

4

Kubernetes kubectl version コマンドでバージョンを調べてみる 概要 kubectl version は、Kubernetes の Client、Serverのバージョンを確認 ...

-python, Technology