본문 바로가기
Deployment/Cloud Computing

클라우드 컴퓨팅 기술

by curious week 2025. 10. 14.

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의 가상화 지원으로 전가상화의 오버헤드를 크게 완화. 오늘날 사실상 표준.

추가 용어: 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 이미지이므로 문제없이 사용합니다. 런타임은 보통 containerdCRI-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) 흔한 오해

  1. “컨테이너 = 더 가벼운 VM”
    → 컨테이너는 프로세스 격리(커널 공유)이고, VM은 커널까지 포함한 하드 격리. 보안 경계·커널 커스터마이징 요구사항에 따라 선택이 달라집니다.
  2. “Kubernetes가 Docker를 지원 중단했다?”
    dockershim 제거(쿠버 v1.24) = 런타임 연동 방식 변경.
    Docker로 만든 이미지(OCI)는 그대로 사용합니다. 실제 실행은 containerd/CRI-O가 담당.
  3. “전가상화는 항상 느리다?”
    → 현대 CPU의 가상화 지원(VT-x/AMD-V)과 IOMMU/SR-IOV, para-virt 드라이버(virtio)대부분의 워크로드는 충분히 빠름. I/O 민감 워크로드는 직접 패스스루(SR-IOV, PCIe Passthrough)로 개선 가능.
  4. “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