メインコンテンツへスキップ
  1. Blogs/

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

1 分
Python I-Technology
0222-nnn
著者
0222-nnn
猫が好き
目次

システム構成図を手書きではなく、コード化したいと思い調べていたら 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)

関連記事

Diagrams のコード構成を理解する
3 分
Python I-Technology
Windows10にGraphvizをインストールする
1 分
I-Technology
地味に便利な実行環境のグローバルIPを確認する方法
1 分
I-Technology
terraformでAWSを作成するには何が必要なのか?
1 分
Aws-It I-Technology Terraform
terraformのインストール方法について
1 分
Aws-It Azure Gcp-It I-Technology Terraform