UML 배치 다이어그램: 논리 설계와 실제 운영 환경을 잇는 도구

노드·아티팩트·통신 경로로 시스템의 물리적 배포 구조를 표현하는 UML 배치 다이어그램. 클라우드-온프레미스 하이브리드 mermaid 예제와 작성 절차.

2026-08-12 · 최초 발행 2025-10-31

설계 문서에는 존재하는데 실제 운영 서버에는 없는 컴포넌트, 반대로 운영 서버에는 떠 있는데 어떤 문서에도 기록되지 않은 서비스. 이런 불일치는 아키텍처 다이어그램이 논리 설계에만 머무르고 실제 배포 구조를 반영하지 않을 때 생긴다. UML의 배치 다이어그램(Deployment Diagram)은 실행 가능한 아티팩트(바이너리, 이미지, 스크립트 등)가 물리/가상 노드(서버, VM, 컨테이너, 디바이스) 위에 배치되는 관계와 노드 간 통신 경로를 표현하는 다이어그램이다. 클라우드·온프레미스·컨테이너·엣지가 뒤섞인 환경에서 성능·확장성·가용성·보안 제약을 배포 구조 차원에서 검증하고, 운영 절차와 변경 영향 범위를 시각화하는 데 쓰인다.

표기 요소

배치 다이어그램은 크게 네 요소로 구성된다. 노드(Node)는 물리/가상 컴퓨팅 리소스로, 그 안에 실행 환경(Execution Environment: JVM, 컨테이너 런타임, K8s Pod 등)을 중첩 구조로 표현한다. 아티팩트(Artifact)는 배포 가능한 산출물이며, 아티팩트-노드 간 배치 관계와 버전/구성 매개변수를 함께 표기한다. 통신 경로(Communication Path)는 노드 간 연결과 프로토콜/포트/암호화/네트워크 세그먼트를 나타낸다. 매니페스트(Manifestation)는 아티팩트가 실제로 구현하는 컴포넌트/인터페이스와의 연계를 명시한다.

모델을 그릴 때는 논리 배포(서비스-런타임 매핑)와 물리 배포(리전/존/서버/네트워크)를 구분해서 표기하고, 환경별 변형(prod/stage/dev)과 리전별 차이는 점증 모델로 관리하는 것이 유지보수를 편하게 만든다.

노드는 계층화해서, 아티팩트는 메타데이터와 함께

노드는 물리 서버, VM, 컨테이너 호스트, 모바일/IoT 디바이스를 포함하며, 그 내부의 런타임 계층(JRE, .NET CLR, K8s Pod 등)은 실행 환경으로 중첩 표현한다. 이렇게 계층을 나누면 CPU/메모리/스토리지/존 같은 리소스 제약은 노드 수준에서, 런타임 제약은 실행 환경 수준에서 각각 명확히 표기할 수 있다.

아티팩트에는 버전, 이미지 태그, 환경 변수, 시크릿 참조 같은 메타데이터를 붙이고, 노드와의 배치 관계로 실제 배포 위치와 수량(Replica)을 나타낸다. 아티팩트-컴포넌트 매니페스트를 함께 그리면 논리 설계와 물리 배포 사이의 추적 가능성이 확보된다.

통신 경로에는 프로토콜/포트/암호화(TLS)/인증 방식(mTLS, OAuth2)을 명시해 네트워크 구역(VPC/서브넷/NSG/SG)과 방화벽 규칙의 근거를 제공하고, SLO 관점에서 지연/대역폭/신뢰성 요구를 연결선 주석으로 표기한다. 스테레오타입으로 노드 유형(«vm», «container», «db», «edge»)과 품질속성(«ha», «stateful»)을 표기하면 보안/규제 요구(데이터 주권, 암호화 의무)를 제약으로 명시해 감사에 대응하기도 쉬워진다.

환경마다 다이어그램을 새로 그리는 대신 공통 템플릿에 환경별 오버레이를 얹는 전략을 쓰면 인스턴스 수, 리전, 인그레스 정책 같은 차이점만 별도 프로파일로 분리할 수 있다. 이때 모델 드리프트를 막으려면 변경 이력과 리비전 관리가 필수다.

예시: 클라우드-온프레미스 하이브리드 배치

아래는 Kubernetes와 온프레미스 DB가 혼재된 하이브리드 배치를 단순화한 예제다. 클러스터→노드→Pod→컨테이너로 이어지는 중첩 구조와 프로토콜/포트/보안이 표기된 통신 경로를 한 그림 안에서 볼 수 있다.

On-Prem DCCloud: prod-vpcKubernetes ClusterWorker Node #2Worker Node #1Pod: payment-servicePod: order-serviceHTTPS 443 (mTLS)gRPC 50051Kafka 9092JDBC 5432 (TLS)API GatewayContainer: order:v1.8Sidecar: envoyContainer: payment:v2.3Kafka BrokerPostgreSQL 14 (HA)

이 다이어그램에서 눈여겨볼 지점은 세 가지다. 첫째, 노드 계층이 클러스터 → 노드 → Pod → 컨테이너 순으로 중첩돼 있어 어느 컨테이너가 어느 물리 노드 위에 있는지 한눈에 보인다. 둘째, 모든 통신 경로에 프로토콜과 포트, 보안 설정(mTLS, TLS)이 붙어 있어 방화벽 규칙을 이 다이어그램만 보고 검증할 수 있다. 셋째, 클라우드 애플리케이션과 온프레미스 데이터베이스 사이의 네트워크 경로가 명시돼 있어 하이브리드 환경 특유의 지연·보안 이슈를 미리 짚어낼 수 있다.

작성 절차: 입력 → 처리 → 출력

입력으로는 성능 목표(SLO), 가용성/DR, 보안/컴플라이언스, 데이터 주권 같은 요구사항과 리전/존·네트워크 토폴로지·컴퓨트/스토리지/네트워크 한도 같은 인프라 자원, 그리고 서비스 목록·아티팩트/이미지 태그·외부 의존성 같은 소프트웨어 산출물을 모은다.

처리 단계에서는 물리/가상/컨테이너/엣지 노드의 계층 구조를 정의하고, 서비스 → 아티팩트 → 실행 환경 → 노드 순으로 매핑하며 스케일 단위(Replica/Shard)를 표기한다. 통신 경로는 프로토콜/포트/암호화/인증/네트워크 구역까지 명세하고, 리소스 한도·오토스케일·배치 제약(AZ 핀닝, Anti-affinity) 같은 정책을 반영한다. 마지막으로 포트 중복, 방화벽 차단, 순환 의존, 미배치 아티팩트가 없는지 체크리스트로 검증한다.

출력물은 환경별 버전을 포함한 배치 다이어그램, 네트워크 정책/보안 규칙 목록, 운영 체크리스트, 변경 영향 분석 리포트다.

얼마나 자세히 그릴지가 실무에서 제일 어렵다

의사결정과 리뷰에 필요한 최소 단위(서비스/런타임/노드/네트워크)만 노출하는 것이 원칙이다. 과도한 세부 표기는 가독성을 떨어뜨리고, 반대로 과도한 추상화는 운영 결정의 근거를 부족하게 만든다. 공통 템플릿에 환경 오버레이를 얹으면 재사용성이 높아지지만, 환경별로 별도 다이어그램을 만들면 명확성은 올라가는 대신 유지보수 비용이 늘어난다.

보안 정보는 경로별 암호화/인증/네트워크 구역/시크릿 참조를 명시하는 것이 모범사례지만, 상세 보안 정보를 다이어그램에 그대로 노출하는 위험도 있으므로 공개 범위와 레드액션 정책을 함께 정해야 한다. 변경 관리 측면에서는 모델과 IaC(Terraform, Helm 등)를 소스로 연결하고 PR 기반으로 리뷰하는 것이 이상적이지만, 모델과 코드를 이중으로 관리하는 부담이 따르므로 자동 생성 도구로 상쇄하는 편이 낫다.

실무에서는 이렇게 쓰인다

Kubernetes 위의 마이크로서비스라면 서비스-Pod-컨테이너-인그레스-서비스 메시에 대한 배치와 mTLS/네트워크 폴리시를 표기하고, 카프카/레디스/DB 같은 스테이트풀 세트와 스토리지 클래스 제약을 함께 명시한다.

온프레미스 고가용 모놀리식 환경에서는 액티브-스탠바이 구조, L4/L7 로드밸런서, 공유 스토리지/쿼럼 디바이스를 표기하고 패치 윈도우와 장애 전환 RTO/RPO 제약을 반영한다.

하이브리드 분석 파이프라인에서는 클라우드에서의 수집/처리, 온프레미스 DWH, 전송 경로의 암호화/DMZ 디자인을 표기하고 데이터 주권/거버넌스 제약을 명시한다.

엣지/IoT 배치에서는 게이트웨이 → 엣지 디바이스 → 클라우드 백엔드로 이어지는 경로와 오프라인 버퍼링/재전송 정책을 주석으로 남긴다.

기대할 수 있는 효과

배치 다이어그램을 표준 문서로 도입하면(가정: 기존에 비문서화됐거나 산재된 문서, 팀 규모 1020명) 변경 영향 분석 시간을 3050% 단축할 수 있다. 릴리스 전 네트워크/보안 검증 체크리스트를 함께 도입하면 배포 실패율을 2030% 줄일 수 있고, 통신 경로와 의존성이 명시돼 있으면 장애 원인 파악 평균 시간(MTTR)을 1525% 개선할 수 있다.

정성적으로는 아키텍처-운영-보안 이해관계자 사이의 공통 언어가 확립되고, 컴플라이언스/감사 대응이 쉬워지며, 숨은 의존성과 경로를 식별해 리스크를 줄인다. 용량 계획과 비용 최적화의 근거로도 활용할 수 있다.

실행 환경 선택 시 참고할 지표

실행 환경 성능 확장성 일관성(구성/버전) 안정성(격리/복구) 운영 편의
베어메탈 매우 높음 중간(수작업 비중) 낮음(구성 편차 우려) 중간(장애 영향 범위 큼) 낮음
VM 높음 중간~높음 중간(이미지 표준화) 높음(격리/스냅샷) 중간
컨테이너 중간~높음 매우 높음 높음(이미지/선언적 배포) 높음(셀프힐링) 높음(오케스트레이션)

레이턴시 임계나 하드웨어 튜닝이 핵심이면 베어메탈을 우선 검토하고, 격리·운영 자동화·신속한 확장이 핵심이면 컨테이너/K8s를 우선한다. 레거시 OS나 상용 미들웨어 제약이 있다면 VM이 균형점이 된다.

배치 다이어그램은 논리 설계와 실제 운영 환경을 연결하는 산출물이다. 노드/실행 환경/아티팩트/통신 경로를 절차적으로 모델링하고 보안·가용성·성능 제약을 명시하면 설계 품질과 운영 신뢰성을 동시에 확보할 수 있다. 환경별 오버레이와 변경 관리 체계를 결합해 모델과 현실 사이의 드리프트를 최소화하되, 처음부터 전체를 그리려 하지 말고 핵심 서비스부터 최소 단위로 시작해 점진적으로 확장하는 편이 낫다.

UML배치 다이어그램아키텍처 시각화쿠버네티스클라우드 인프라