1) 가상화 기술
- 정의: 물리적 IT 자원(CPU/GPU/메모리/스토리지/네트워크)을 소프트웨어적으로 논리 분할·통합하여, 자원 활용률·가용성을 높이는 기술.
- 핵심 속성
- 파티셔닝(Partitioning): 한 대의 물리 서버를 여러 가상 머신(단위 실행환경)으로 나눔.
- 캡슐화(Encapsulation): VM을 파일/폴더 단위로 묶어 이식·백업·복구가 쉬움.
- 격리(Isolation): 한 VM의 장애/보안 이슈가 다른 VM에 파급되지 않도록 경계 제공.
- H/W 독립성(Hardware Independence): 서로 다른 OS/미들웨어를 동일 하드웨어 위에 동시에 실행.
- 장점 요약
- 자원 통합에 의한 비용 절감(서버 수 감소, 전력/공간 절감)
- 운영 민첩성(신규 환경을 분 단위로 배포, 스냅샷/복원 용이)
- 격리 보안성 및 테스트 편의성(여러 실험환경 동시 운영)
2) 서버 가상화: 방식과 트레이드오프
2.1 호스트 가상화(Type-2 Hypervisor)
- 구조: 물리 H/W → 호스트 OS → 가상화 SW(하이퍼바이저) → 게스트 OS
- 예시: VMware Workstation, Oracle VirtualBox, Parallels 등
- 장점
- 데스크탑·노트북에서 손쉬운 실습/개발/테스트에 적합
- 호스트 OS 위에서 돌아가므로 초기 진입장벽 낮음
- 단점
- 호스트 OS와 게스트 OS가 공존 → 오버헤드 증가(CPU/메모리/디스크 I/O)
- 대규모 프로덕션 워크로드에는 부적합
용어: 하이퍼바이저(Hypervisor) = VMM(Virtual Machine Monitor), 가상 머신을 관리·스케줄링하는 소프트웨어 계층.
2.2 하이퍼바이저 가상화(Type-1 Hypervisor)
- 구조: 물리 H/W → 하이퍼바이저(직접 설치) → 게스트 OS들
- 예시: VMware ESXi, Microsoft Hyper-V(베어메탈), Citrix XenServer(XCP-ng)
- 장점
- H/W 직접 제어로 낮은 오버헤드, 안정적인 성능
- 멀티 테넌시(여러 팀/서비스 공존)·라이브 마이그레이션(vMotion 등) 등 엔터프라이즈 기능
- 단점
- 초기 구축과 라이선스(상용의 경우)·운영 난이도 ↑
- 가상화 방식 분류
- 전가상화(Full Virtualization): 하드웨어를 완전 가상화. 수정 없는 게스트 OS 실행 가능.
단, I/O 경로 번역 등으로 병목이 생길 수 있어 성능 저하가 발생. - 반가상화(Para-virtualization): 게스트 OS 커널을 수정해 하이퍼바이저에 직접 하이퍼콜(Hypercall).
I/O 성능이 좋아질 수 있지만 커널 수정이 전제되어 범용성 제한. - 하드웨어 지원 가상화(Intel VT-x/AMD-V): CPU의 가상화 지원으로 전가상화의 오버헤드를 크게 완화. 오늘날 사실상 표준.
- 전가상화(Full Virtualization): 하드웨어를 완전 가상화. 수정 없는 게스트 OS 실행 가능.
추가 용어: VT-x(Intel Virtualization Technology), AMD-V(AMD Virtualization) — CPU가 가상화 모드를 하드웨어로 지원.
2.3 컨테이너(Container) 방식
- 개념: 애플리케이션과 그 런타임·라이브러리를 이미지로 패키징하여 호스트 OS 커널을 공유하면서 프로세스 격리로 실행.
- 예시: Docker(도커), containerd, CRI-O(런타임) / Podman(도구) 등
- 장점
- 게스트 OS 부팅이 없음 → 경량·고속(시작 몇 초 이내)
- 환경 격리·재현성 우수(“Works on my machine” 문제 완화)
- 마이크로서비스·CI/CD와 궁합이 좋음
- 주의점
- VM만큼 커널 격리가 강하지 않음(동일 커널 공유) → 보안 경계 설계에 유의
- 시스템 수준(커널 모듈/커스텀 커널 등)이 필요한 워크로드는 VM이 더 적합
정확한 정정: Kubernetes는 v1.24(2022-05)에서 dockershim 제거로 “Docker 엔진 직접 사용”을 중단했지만, Docker로 빌드한 이미지 자체는 여전히 표준 OCI 이미지이므로 문제없이 사용합니다. 런타임은 보통 containerd나 CRI-O를 사용합니다.
Kubernetes(쿠버네티스) = 컨테이너 오케스트레이션(배치·스케일링·자원/상태 관리) 플랫폼.
3) VM vs 컨테이너: 언제 무엇을 쓰나?
- 완전한 커널 격리/보안 경계가 필요 → VM(하이퍼바이저)
- 빠른 배포·스케일, 마이크로서비스, CI/CD → 컨테이너
- 이기종 OS 동시 운영(예: Windows+Linux) → VM 필요
- GPU 워크로드: 둘 다 가능. 컨테이너는 NVIDIA Container Toolkit 등으로 패스스루 설정.
- 레거시 모놀리식 서버를 “그대로” 옮겨야 함 → VM이 편함(컨테이너로 리팩토링 비용 큼)
- 비용·밀도 관점: 동일 하드웨어에서 컨테이너가 보통 더 높은 집적도 가능
4) 네트워크 가상화: 핵심 개념과 기술
4.1 개념·효과
- 정의: 단일 물리 네트워크를 논리적으로 분할·오버레이하여 여러 독립 네트워크처럼 동작시키는 기술.
- 효과
- 보안 분리: 테넌트/환경별 트래픽 경계 형성
- 비용 절감: L2/L3 장비 추가 없이 논리 구획으로 목적 달성
- 운영 편의: 정책 기반으로 빠르게 구성/변경(자동화 친화적)
4.2 주요 기술
(1) VLAN(Virtual LAN)
- 역할: L2 스위치에서 포트/트렁크에 VLAN ID(802.1Q 태그)를 붙여 브로드캐스트 도메인을 분리.
- 언제 쓰나: 온프레미스에서 팀/환경(DEV/QA/PROD) 분리, 단일 스위치/캠퍼스 네트워크 분할.
- 주의: L2 범위를 넘는 통신은 라우팅(게이트웨이) 필요.
용어: 802.1Q — 이더넷 프레임에 VLAN 태그를 삽입하는 표준.
(2) VPN(Virtual Private Network)
- 역할: 공용 인터넷 위에 암호화된 터널을 만들어 사설 네트워크처럼 연결.
- 프로토콜: IPsec(L3), WireGuard(L3), OpenVPN(L3), SSL-VPN(L4/7), PPTP(구식·권장X)
- 언제 쓰나: 지사-본사, 재택-사내망, 클라우드-온프레미스 사이트 간/원격 접속.
용어: IPsec(Internet Protocol Security), SSL(Secure Sockets Layer)/TLS(Transport Layer Security).
(3) NFV(Network Functions Virtualization)
- 역할: 방화벽/로드밸런서/IDS·IPS 등 네트워크 기능을 소프트웨어로 가상화하여 범용 서버에서 실행.
- 효과: 장비 의존↓, 배포 자동화↑, 스케일링 유연성↑.
- 예시: 가상 방화벽(VFW), 가상 로드밸런서(VLB), 가상 라우터(VR).
(4) SDN(Software-Defined Networking)
- 역할: 제어Plane(경로 결정)을 중앙화·소프트웨어화하여 정책 기반 트래픽 제어(프로그램으로 네트워크를 운영).
- 구성: 컨트롤러(중앙 두뇌) + 스위치/라우터(데이터Plane)
- 효과: 대규모 자동화, 세분화된 정책(마이크로세그멘테이션), 클라우드와 높은 궁합.
- 연관: 오버레이(예: VXLAN: L2를 L3 위에서 캡슐화)로 대규모 멀티테넌시 구현.
용어: VXLAN(Virtual eXtensible LAN), SDN 컨트롤러(예: OpenDaylight, ONOS, 상용 컨트롤러 등).
5) 흔한 오해
- “컨테이너 = 더 가벼운 VM”
→ 컨테이너는 프로세스 격리(커널 공유)이고, VM은 커널까지 포함한 하드 격리. 보안 경계·커널 커스터마이징 요구사항에 따라 선택이 달라집니다. - “Kubernetes가 Docker를 지원 중단했다?”
→ dockershim 제거(쿠버 v1.24) = 런타임 연동 방식 변경.
Docker로 만든 이미지(OCI)는 그대로 사용합니다. 실제 실행은 containerd/CRI-O가 담당. - “전가상화는 항상 느리다?”
→ 현대 CPU의 가상화 지원(VT-x/AMD-V)과 IOMMU/SR-IOV, para-virt 드라이버(virtio)로 대부분의 워크로드는 충분히 빠름. I/O 민감 워크로드는 직접 패스스루(SR-IOV, PCIe Passthrough)로 개선 가능. - “VLAN만 잘 쓰면 보안 완벽?”
→ VLAN은 L2 분리 도구일 뿐. L3/방화벽 정책, ACL, 마이크로세그멘테이션과 함께 설계해야 함.
6) 실무 선택 가이드(간단 로드맵)
- 새로운 서비스 빠른 배포·확장: 컨테이너 + Kubernetes/오케스트레이터
- 레거시 시스템 Lift-and-Shift: 하이퍼바이저 VM
- 강력한 보안 경계/커널 커스텀: 하이퍼바이저 VM
- 동일 H/W에 다수 워크로드 고밀도 배치: 컨테이너(노드 자원 관리 전제)
- 온프레 네트워크 분리: VLAN(기본) + L3/방화벽 정책
- 지사/재택/멀티클라우드 연결: VPN(IPsec/WireGuard)
- 정교한 정책·대규모 자동화: SDN(+VXLAN 오버레이), NFV로 기능 가상화
7) 용어 확장
- VM: Virtual Machine(가상 머신) — OS 포함한 독립 실행환경
- VMM/하이퍼바이저: Virtual Machine Monitor — VM을 스케줄/격리하는 계층
- VT-x/AMD-V: CPU 가상화 지원(인텔/AMD)
- IOMMU: I/O Memory Management Unit — 디바이스의 메모리 접근 가상화
- SR-IOV: Single Root I/O Virtualization — NIC 등 장치를 가상 기능(VF)으로 쪼개 VM/컨테이너에 직접 할당
- OCI: Open Container Initiative — 컨테이너 이미지/런타임 표준
- VLAN: Virtual LAN — L2 브로드캐스트 도메인 분리(802.1Q)
- VPN: Virtual Private Network — 공용망 위 사설망(암호화 터널)
- NFV: Network Functions Virtualization — 네트워크 기능의 가상화
- SDN: Software-Defined Networking — 중앙 제어·정책 기반 네트워크
- VXLAN: Virtual eXtensible LAN — L2를 L3 위로 캡슐화(대규모 오버레이)
'Deployment > Cloud Computing' 카테고리의 다른 글
| AWS Cloud Practitioner Essentials (Introduction) (0) | 2026.02.02 |
|---|---|
| Azure 사용 방법 (0) | 2025.10.14 |
| 클라우드 컴퓨팅의 특징 (0) | 2025.10.14 |
| 온프레미스와 클라우드 (0) | 2025.10.14 |
| 클라우드 컴퓨팅의 이해 (0) | 2025.10.12 |