Diagrams on Docker로 시스템 구성도를 써 보았습니다.

4133 단어 diagramsDockerPython
"Diagrams를 사용하여 파이톤으로 시스템 맵을 그립니다.IO"라는 기사를 보고 좋았는데 파이썬 환경이 없어서 Docker에서 해봤어요.

Docker 이미지 준비


공식 문서에 "pip 설치diagrams도 설치Graphviz"라고 쓰여 있어 Docker file을 제작했습니다.
Dockerfile
FROM python:latest
WORKDIR /app
RUN apt update && \
    apt install -y python3-pygraphviz && \
    pip install diagrams
구축나중에 실행하기 편리하도록 이름이 diagrams인 Docker 이미지를 이미지로 설정합니다.
$ docker build -t diagrams .
이로써 Docker 이미지 제작이 완료되었습니다.

Diagrams 파일 준비


공식 Quickstart의 서류를 준비해 보세요.
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("Web Service", show=False):
    ELB("lb") >> EC2("web") >> RDS("userdb")
비교적 직관적으로 의미를 이해하지만 정부 문헌을 더욱 상세하게 참조한다.공식 문서인 영어지만 간단하면서도 분량이 적어 읽기 쉽다.그리고 Examples 이해하기 쉬워요.

Diagrams 실행


공식 문서에 따르면 로컬에 Pythhon 환경이 있으면 diagrams:latest에서 실행할 수 있습니다.
이번에 Docker 컨테이너를 사용했기 때문에 제작$ python diagram.py의 현재 디렉터리를 암호화 볼륨에 설치하고 diagram.py 명령을 실행하면 된다.
지금 현재 목록은 이런 느낌입니다.
$ ls
Dockerfile      diagram.py
컨테이너를 운행하다.
$ docker run --rm -v `pwd`:/app diagrams python diagram.py
다시 python diagram.py할 때ls 파일을 생성합니다.
$ ls 
Dockerfile      diagram.py      web_service.png
확인png의 내용.
$ open web_service.png

본격적인 퀵스타트 그런 결과!

총결산


Docker를 사용하여 Diagrams를 간단히 테스트할 수 있습니다.
Examples를 만들어 보았고, 자신이 하고 싶은 구성도를 만들어 보았지만,'코드로 관리할 수 있다','간단하고 알기 쉽다','노드(아이콘 같은 것)도 풍부하다'는 것은 좋은 일이었다.
한편, 간지러운 점은 복잡해지면 "노드의 구성은 거기에 없습니다!"Cluster를 뛰어넘는 Cluster를 쓸 수 없기 때문에 "다른 AZ의 실례에 동일한 보안 그룹을 적용한다"는 말은 표현하기 어렵다.
어쨌든 나는 한번 해 볼 만하다고 생각한다.

References

  • Diagrams를 사용하여 파이톤으로 시스템 맵을 그립니다.IO
  • Diagrams · Diagram as Code
  • 좋은 웹페이지 즐겨찾기