나의 잡다한 노트 및 메모

회사에선 보통 하나의 서브넷에서 클러스터를 구성하는 편이니? 본문

네트워크

회사에선 보통 하나의 서브넷에서 클러스터를 구성하는 편이니?

peanutwalnut 2025. 1. 16. 11:36

내가 현재 다니고 있는 회사에선 사수도 없고 경험도 없는 신입이다보니 대부분을 gpt에게 물어보면서 하는 편이다.

 

제목은 내가 질문한 것이고, 본문은 그에 대한 답변이다.

좀 더 공부해볼만한 용어들이 있어 복붙했다.

 

회사 환경마다 차이는 있지만, 일반적으로 사내 네트워크에서 하나의 서브넷에 클러스터(또는 분산 시스템)를 구성하는 사례가 많이 있습니다. 다만, 꼭 하나의 서브넷만 사용하는 것이 절대적인 규칙은 아니고, 프로젝트 규모나 보안 정책, 네트워크 설계 철학 등에 따라 여러 서브넷으로 나누거나, VLAN이나 Overlay 네트워크 등을 사용하는 경우도 충분히 있습니다.

아래에서는 왜 “하나의 서브넷을 쓰는 경우가 많은지”와 “여러 서브넷 혹은 다른 방식”을 쓰는 경우는 어떤 상황인지 정리해보겠습니다.


1. 하나의 서브넷에 클러스터를 구성하는 이유

  1. 간단한 호스트 간 통신
    • 같은 서브넷 안에 있으면 Layer2/L3 라우팅이 단순해지고, 브로드캐스트 기반의 서비스 디스커버리(예: mDNS, ARP, etc.)가 더 쉽게 적용됩니다.
    • 별도의 라우터를 거치지 않으니 레이턴시가 낮고 트러블슈팅도 단순합니다.
  2. 운영 및 배포 편의
    • 배포 스크립트나 자동화 툴(Ansible, Chef, etc.)에서 같은 서브넷에 있는 서버들은 SSH 연결 설정이 비교적 단순합니다.
    • 방화벽이나 ACL(Access Control List) 관리도 “같은 서브넷이면 내부 트러스트 존”으로 인식하고 규칙을 간소화할 수 있어 편리합니다.
  3. 물리적 근접성
    • 실제 랙(rack)이나 데이터 센터 내에서는 물리적으로 가까운 서버끼리 하나의 스위치(또는 VLAN)에 묶어서 쓰는 경우가 많습니다.
    • 회사나 조직 입장에서도 클러스터나 분산 시스템을 운영할 때, 하나의 랙 혹은 인접 랙에 몰아서 구성하면 케이블링/전원/네트워크 관리를 단순화할 수 있습니다.
  4. 전통적 네트워크 설계 관행
    • 오래 전부터 “논리적으로 밀접하게 연동되는 서버들은 같은 서브넷(VLAN)에 배치”하는 것이 일종의 베스트 프랙티스처럼 이어져 오기도 했습니다.
    • 단순한 구조는 장애 분석이나 성능 모니터링 면에서도 이점이 큽니다.

2. 여러 서브넷이나 복잡한 네트워크 구조를 쓰는 경우

  1. 보안 정책 분리
    • 금융권, 공공기관, 또는 보안 민감 조직에서는 “웹 서버 서브넷”, “AP 서버 서브넷”, “DB 서버 서브넷”을 물리적으로 분리(VLAN 분할)하여, 서브넷 간 방화벽 규칙을 다르게 적용하기도 합니다.
    • 내부망을 세분화하여, 침해사고(해킹)가 발생해도 전체 망으로 확산되지 않도록 하는 세그먼테이션(Segmentation) 개념이 적용됩니다.
  2. 대규모 클러스터
    • 수백~수천 대 이상의 대규모 클러스터에서는 하나의 서브넷으로 커버 가능한 IP 대역(CIDR)이 부족할 수 있습니다.
    • 이때는 여러 서브넷(VLAN)을 묶어서 L2/L3 라우팅하거나, 스파인-리프(Spine-Leaf) 구조를 통해 Overlay 네트워크로 묶어서 사용하는 방식을 택합니다.
  3. 멀티 데이터센터 / 하이브리드 클라우드
    • 물리적으로 다른 위치(온프레미스 vs. 클라우드, 혹은 여러 데이터센터) 간에 클러스터를 구성할 때, 서브넷이 다를 수밖에 없습니다.
    • 이런 환경에서는 VPN, 전용선, SD-WAN, 오버레이 네트워크(VXLAN, WireGuard, Tinc 등)로 여러 서브넷을 하나의 논리적 네트워크처럼 묶어 클러스터를 구성하기도 합니다.
  4. 컨테이너/오케스트레이션 환경
    • Docker, Kubernetes 등에서 각 Pod(또는 컨테이너)에 고유 IP를 주기 위해 CNI(Flannel, Calico 등) 같은 Overlay 네트워크를 사용합니다.
    • 물리 네트워크(서브넷)와 논리 네트워크(Overlay)는 분리되지만, Kubernetes 입장에선 모든 Pod가 “단일 평면 IP”처럼 보이도록 구성될 수 있습니다.
    • 실제로는 물리 호스트 서브넷과 컨테이너 서브넷이 겹쳐서(or 독립적으로) 운영됩니다.

3. 결론 및 요약

  • 회사의 규모나 네트워크 정책, 보안 요구사항, 클러스터 크기 등에 따라 “하나의 서브넷에 몰아넣는다” vs. “여러 서브넷/VLAN으로 나눈다” 로 갈릴 수 있습니다.
  • 소규모~중규모의 클러스터(수 대~수십 대 서버)라면 보통 하나의 서브넷에 묶어서 운영하는 것이 훨씬 쉽고 직관적입니다.
  • 규모가 커지거나, 보안 세그먼테이션이 요구되거나, 데이터센터가 여러 곳이면, 서브넷이 자연스럽게 여러 개가 될 수 있습니다. 그럴 땐 Overlay 네트워크, 라우팅, VPN, SD-WAN, 쿠버네티스 CNI 같은 기법을 조합해 ‘논리적으로는 하나의 클러스터’로 보이게 할 수 있습니다.

정리하자면, **“회사에서 클러스터나 분산 시스템을 하나의 서브넷에서 운영하는 것”**은 흔한 패턴이고, 소규모~중규모에선 가장 단순하고 관리하기 좋습니다. 하지만 프로젝트 요건이나 보안, 확장성, 물리적 제약 등에 따라 여러 서브넷을 구성하는 일도 흔하며, 이때는 라우팅/Overlay/SD-WAN 등을 적절히 활용해 논리적인 단일 클러스터 환경을 만들어 운영하게 됩니다.

'네트워크' 카테고리의 다른 글

North-South 트래픽, East-West 트래픽  (0) 2025.01.16
전통적 네트워크 설계의 관행  (0) 2025.01.16
Binding 이란?  (0) 2025.01.15
TIME_WAIT 상태  (0) 2025.01.14
DMZ 란?  (0) 2025.01.14