Pythonでコードを書いてAWSやKubernetesのシステム構成図を出力できる「Diagrams」

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

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