AWSの学習をしています。AWSに携わるにあたって必ず出てくるのがクラウド構成図です。これをExcelやPower Pointで描くのは大変だと思います。そこでPythonで描く方法を調べました。Pythonで描くことで様々なメリットが得られます。参考にしてください。
環境準備
Diagramsというライブラリを使用します。Diagramsでは内部でGraphvizを使用するのでまずはGraphvizからインストールしていきます。
この記事で使用する環境は以下の通りです。
- Windows11
- Python 3.12.3
- graphviz 11.0.0
- Diagrams 0.23.4
Graphvizのインストール
ダウンロードページから環境にあったファイルをダウンロードしてください。
Windows版はZipファイルなので解凍して好きなディレクトリへ格納してください。
解凍先のbinディレクトリを環境変数のpathに設定します。
Diagramsのインストール
Pythonの仮想環境を作成して、アクティベートします。
以下のコマンドでインストールします。
pip install diagrams
この時、以下のようなエラーが発生した場合の対応方法はこちらにまとめてあります。
pipが正常完了すれば準備完了です。
動作確認
以下のコードを実行してgrouped_workers.pngというファイルが出力されればOKです。
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")
使用できるNode
DiagramsではAWSの他にAzureやGCPの構成図も作成することができます。その際に使用できるNode(アイコン)はここにまとめられています。Nodeごとにimportして使用するようです。
Customを使用することで自分で用意したアイコンで図を作成することもできます。
Pythonで構成図を作成するメリット
大きく3つのメリットがあると考えています。
さいごに
いかがだったでしょうか?
クラウド構成図をPythonで描くことができました。3つのメリットは結構大きな気がしています。クラウド構成図をExcelやPowerPointで作っている人はぜひ一度試してみてください。
コメント