概要
パワポなどのツールだと構成図がバイナリになってしまい差分などを確認するのが大変です Python の diagrams であればコードで残せるので今回はインストールと簡単なサンプルを紹介します
環境
- macOS 11.6
- Python 3.8.3
インストール
- pipenv install diagrams
サンプルコード
とりあえず動作させることができるサンプルコードがあるのでこれを動かしてみます
- vim app.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"):
lb = ELB("lb")
workers = [EC2("worker1"),
EC2("worker2"),
EC2("worker3"),
EC2("worker4"),
EC2("worker5")]
db = RDS("events")
lb >> workers >> db
動作確認
- pipenv run python app.py
これで grouped_workers.png というファイルが作成されます
簡単な使い方の解説
with Diagram
の引数で図のタイトルを設定します
show=True にすると自動でファイルを開きます
direction は矢印の向きで BT や LR などを指定できます
各種オプションは graphviz のオプションと同じなので指定可能なオプションは graphviz のドキュメントを見ると良いかなと思います
各種ノードは >> で結合することで矢印でつなぐことができます
結合方法は他に「<<」と「-」があります
ハイフンや矢印なしの接続になります
サンプルにはないですが Cluster を使うとその配下のノードを枠で囲うことができます
またクラスタは階層化することもできます
最後に
内部的には graphviz ですが Python で書けるので Python に慣れている人にはオススメです
サンプルでは AWS のアイコン集を使っていますが gcp や自分でカスタマイズすることもできます
0 件のコメント:
コメントを投稿