システムの構成を社内で共有したり外部に説明したりする際に、システム構成図を作成した経験のあるエンジニアは多いはず。ダイアグラム作成ソフト「Diagrams」を使うと、AnsibleやSubiquityといった「Infrastructure as Code(IaC)」に関連するサービスのように、プログラミング言語のPythonでコードを書くことで、クラウドやオンプレミスの構成図を描くことができます。

Diagrams · Diagram as Code

https://diagrams.mingrammer.com/

まずはDiagramsの動作に必要なパッケージをインストールします。今回Diagramsのインストールに利用するのはUbuntu 18.04です。

sudo apt install -y python3 python3-pip graphviz


続いてDiagramsをインストール。

pip3 install diagrams


これでDiagramsがPythonで使えるようになったので、さっそくコードを書いていきます。DiagramsはAWSやGCP、Kubernetesなどの構成図を描くことが可能。今回はKubernetesの構成図を描くため、必要なモジュールをインポートします。



with構文内でDiargamクラスのインスタンスを作成することで構成図を出力するが可能。試しに下記のようにコードを書いてみました。



書いたコードを実行すると、実行時のカレントディレクトリ下にPNGファイルが出力されました。



出力されたPNGファイルはこんな感じ。



複数の図を矢印で結ぶには「>>」と「」や「」や「