⚡️ 전공수업/클라우드시스템

클라우드 시스템 가상화 기술

aaahyunseo 2025. 4. 30. 17:59

✅ 가상화(Virtualization)

: 물리적인 자원과 사용자가 사용하는 논리적인 자원을 분리하는 것.

 

 

💡 가상화의 핵심 키워드

✅ 추상화(Abstraction)

✅ 다중화(Multiple Instance)

✅ 고립(Isolation)

✅ 통합(Consolidation)

 

📍 가상화가 제공하는 장점

통합(Consolidation)

  • 다양한 응용들과 시스템 소프트웨어들을 하나의 시스템에서 통합 운영할 수 있어 서버의 이용률을 높이고 관리 부하를 줄일 수 있다.

고립(Isolation)

  • 각 사용자의 수행 환경을 다른 환경들로부터 고립 시킬 수 있다.

집계(Aggregation)

  • 여러 물리 자원들을 단일한 가상 자원으로 집계할 수 있다.

이동(Mobility)

  • 어플리케이션, OS는 가상화 층이 제공한 가상 자원을 이용하기 때문에 동일한 가상 자원을 이용한다면 실제 물리적인 자원의 종류와 무관하게 이주가 가능하다.
  • 결함 감내(fault tolerance), 가용성, 부하 균등, 확장성, 신속한 중단/재개(rapid suspend/resume) 등의 특성으로 활용.

모의실험(Emulation)

  • 새로운 시스템이나 아직 개발되지 않은 하드웨어를 모의실험 하는 기능을 제공한다.

 

💡 클라우드 컴퓨팅의 특성과 가상화 기능 간 관계

  • Dynamic VM creation (가상머신 동적 관리)
  • VM migration (가상머신 이주)
  • VM cloning (가상머신 복제)
  • Server consolidation (서버 통합)
  • Virtual network support (가상의 네트워크 지원)
  • VMM layer monitoring (가상머신모니터)

 

💡 가상화가 클라우드 컴퓨팅에 적합한 이유

  • 가상 머신 동적 관리 (VM Dynamic Management)
  • 하드웨어 독립성 (HW Independence)
  • 서버 통합 (Server Consolidation)
  • 경제성 (Economics)

✅ 가상화 분류

1. 가상화 소프트웨어 구현 층에 따른 분류

(a) Hardware 기반 가상화

  • 물리적 자원들을 Hypervisor 가 이미 각 VM에 할당량을 분배함.
  • 각각의 VM에 Guest OS 가 존재함.
  • 장점 : 메모리 사용량이 적고, 가상화에 따른 부하가 적음
  • 단점 : 지원하는 장치가 OS 기반 가상화에 비해 적고, 호환성 이슈가 있음

(b) OS 기반 가상화

  • Guest OS 가 Host OS 에 종속됨. → 연동 제약 조건이 (a)보다 더 많음.
  • 장점 : Host OS 가 이미 지원하는 장치를 모두 활용할 수 있음
  • 단점 : 가상화 층의 도입에 따른 성능 저하 발생 가능성이 있음. → OS 간 연계 과정에서 성능 저하.

(c) Middleware 기반 가상화

Middleware 기반 가상화

 

2. 가상화 소프트웨어 구현 방법에 따른 분류

가상화 소프트웨어에서 물리 자원을 가상 자원으로 추상화할 때 두 가지 요구 조건이 발생한다.

두 요구 조건은 Trade-Off 관계에 있다.

설계 시 어디에 비중을 둘지에 따라서 가상화 소프트웨어의 특성이 달라진다.

 

요구 조건 1 ) 동일한 방식으로 접근하고자 함.

guest OS 는 물리 자원에 접근할 때와 동일한 방식으로 가상 자원에 접근할 수 있어야 함.

 

요구 조건 2 ) 가상화 소프트웨어에 대한 통제 필요성

가상화 소프트웨어는 guest OS 의 동작을 제어할 수 있어야 하고, 필요할 경우에 guest OS 의 자원 접근을 통제할 수 있어야 한다.

 

가상화 소프트웨어 구현 방법에 다른 분류

 

3. 가상화 목표에 따른 분류

  • 서버 가상화
    시스템 상 존재하는 HW 를 여러 개의 가상 자원들로 추상화하고 각 가상 자원에 서로 다른 OS 들을 동시에 수행.
  • 스토리지 가상화
    여러 개의 물리 스토리지 공간을 단일 가상 스토리지 공간으로 집계.
  • 네트워크 가상화
    가상화 층을 이용해 네트워크를 독립된 가상 사설 네트워크 파티션으로 나눔.
  • 임베디드 가상화
    내장형 장치 가상화로 표준화된 인터페이스로 접근하여 이동성, 상호 호환성 향상.

✅ 가상화 핵심 기술

 

1. CPU 가상화

: 물리적 CPU 들을 논리적 CPU 들로 추상화. 추상화된 논리 CPU 를 공평성/효율성에 맞게 각 VM 에게 할당하는 행위이다.

 

  • 직접 수행(Direct execution) : VM 을 실제 머신 상에서 직접 수행할 수 있으며, 동시에 CPU 에 대한 제어는 전적으로 VMM 이 담당함.
    • VMM 의 수행 특권과 VM 상에서 수행되는 Guest OS 및 응용의 수행 특권 구분이 기반 되어야 실현 가능함.
  • 스케쥴링
    • BVT(Borrowed Virtual Time) 스케쥴링 : 공정 공유(fair share) 원칙에 따라 CPU 를 각 VM 에 할당하며, 동시에 가상 시간 워프(Virtual Time Warp)를 도입하여 오랫동안 대기한 VM이 이벤트를 받으면 빠르게 CPU 를 할당.
    • 로터리(Lottery) 스케쥴링 : 공정성 보장을 위해 난수 기반의 가중 랜덤 선택 방식을 사용하는 스케쥴링 알고리즘.
      → 프로세스마다 티켓을 할당하고, 매 스케쥴링 사이클마다 난수를 이용하여 하나의 티켓을 선택하여 해당 프로세스가 CPU 를 점유.

 

2. 메모리 가상화

: 물리 메모리를 Guest OS 가 이용하기 쉬운 형태의 가상 메모리로 추상화시켜 지원함과 동시에 각 VM 이 낭비 없이 효과적으로 동작할 수 있도록 각 VM 의 요구에 맞게 메모리를 동적으로 할당함.

 

  • 주소 변화 단계의 증가
    • 기존 시스템 메모리 구분 : 물리 메모리 & 가상 메모리
    • 가상화 시스템 메모리 구분 : 물리 메모리 & 가상 메모리 & 머신 메모리
    • 머신 메모리 : 실질적으로 VMM 이 여러 VM 에게 할당하는 메모리.
    → 할당된 메모리가 각 VM 에서 물리 메모리로 작용. 할당된 메모리(VM 의 물리 메모리)에서 VMM 이 여러 가상 메모리를 만들어 프로세스에게 제공.

 

  • 가상화 시스템 메모리 기본 주소 변환 단계
    → 각 VM 의 메모리 공간을 보호하고 기존 OS 와 호환성이 유지되지만, 두 번의 주소 변환이 필요하여 성능 저하의 원인이 되기도 함.
    단계 1) 프로세스의 가상 주소 요청
    단계 2) Guest OS 의 페이지 테이블(Guest Page Table)을 이용해 물리 주소로 변환
    단계 3) VMM 의 페이지 테이블(VMM Page Table)을 이용해 머신 주소로 변환

 

  • 그림자 페이지 테이블(Shadow Page Table) 활용
    • VMM 에서 관리하고 VM 페이지 테이블 내용을 동일하게 담음
    • VMM 이 모든 물리 메모리에 대한 제어를 할 수 있도록 함
    • 위 기본 주소 변환 단계의 단계 2와 단계 3을 통합하여 처리함

 

  • 벌룬 프로세스(Balloon Process) - 메모리 동적 회수 및 할당 기술
    • Guest OS 상에서 동작함
    • VMM 이 VM 의 메모리 사용량을 동적으로 조정하기 위해 사용하는 메모리 압축 기법
    • 벌룬 드라이버가 메모리를 점유/반환하여 활용 메모리를 확보

 

  • 내용 기반 페이지 공유 기법 - 메모리 동적 회수 및 할당 기술
    • 내용 기반 페이지 공유(Contents-based Page Sharing) 기법
    • 동일한 페이지를 찾기 위해 ‘해시 기법’ 활용

 

3. 입출력 가상화

종류

  • OS 기반 I/O 가상화 : I/O 링(Ring) 구조 가상화
  • 하드웨어 수준 I/O 가상화 : SR-IOV(Single Root IO Virtualization)

✅ 가상화 관련 고려 사항

📍 가상 머신 이주

: 고장 복구, 성능 향상, 소프트웨어 갱신 . 등 다양한 목적으로 활용 되어 클라우드 시스템 활용의 장점을 유도하는 주요 기술.

 

 

💡 고려 사항

다운 타임 (Down Time) : 이주 시 발생하는 서비스 중단 기간

이주 비용 (Migration Cost)

이주 대상 : CPU, 메모리, I/O except 데이터 (데이터는 크기가 너무 크므로 일반적으로 이주 대상으로 고려 X)

 

 

💡 이주 기법

중단 복사 (Stop-and-copy) : 다운 타임이 길어질 수 있는 단점이 있음.

라이브 이주 (Live migration)

  • 선 복사 기법 (Pre-copy) - 동작하며 동시에 모든 메모리를 이주할 Host 로 복사
  • 후 복사 기법 (Post-copy) - 이주할 Host 에서 VM 을 우선 수행시키고, 수행 도중에 필요한 메모리를 필요 시 이주 </aside>

 

📍 컨테이너 기반 가상화

 

💡 컨테이너(Container)

: 어플리케이션과 그 실행에 필요한 모든 라이브러리, 의존성, 설정 파일 등을 포함하는 가상화된 패키지

→ Host OS 에서 직접 실행 되며 가볍고 빠른 배포가 가능함.

 

 

💡 컨테이너 특징

✅ 경량성

✅ 빠른 실행

✅ 일관성

✅ 격리

 

 

🪄 컨테이너 vs. VM

  컨테이너 VM
부팅 속도 매우 빠름 (초 단위) 느림 (분 단위)
성능 OS 커널 공유로 높은 성능 하이퍼바이저 오버헤드 존재
리소스 효율성 가벼움 무거움 (OS 포함)
보안성 낮음(OS 공유) 높음 (완전한 격리)
운영 환경 클라우드 네이티브, DevOps 다양한 OS 가 필요한 환경

 

 

💡 도커(Docker)

: 컨테이너 가상화 기술. 복잡한 응용을 컨테이너로 통합할 수 있고, 개발, 테스트, 서비스 환경을 하나로 구축할 수 있게 함.

→ 실제 독립된 공간은 리눅스 커널의 cgroups & namespace 기법을 이용해 구현함.


✅ 클라우드 서비스 및 네트워크

웹 기술

  • 웹 고객(Web Client)과 웹 서버(Web Server)가 존재하는 요청-응답 구조
  • 기본 구성 → URL, HTTP, Markup Language

서비스 기술

  • 서비스 지원을 위한 대표적 기술 → SOAP(Simple Object Access Protocol), REST(Representational State Transfer)

 

📍 클라우드 관련 인터넷 기술 이슈

  1. 연결성 (Connectivity)
  2. 지연 및 대역폭 (Latency and Bandwidth)
  3. 클라우드 공급자 선택
  4. 서비스-구동 네트워크 (Service-driven network)

 

📍 가상 네트워크 외벽 기술

근거

  • 악의적 사용자의 목표에서 벗어나 자신을 보호할 수 있는 환경 구축이 필요

가상 네트워크 외벽 (Virtual Network Perimeter)

  • 공용망과 개인이 사용하는 네트워크 간 경계를 의미

VPN

  • 인터넷과 같은 고용 네트워크에서 보호되는 네트워크를 구성하는 기술
  • 기밀성, 인증, 일관성 등을 요구
  • 활용 프로토콜 : Secure Shell, IPSec, TLS

✅ 데이터 센터

  • ISO/IEC 30134-1
    • 데이터 스토리지, 처리(서버), 전송(네트워크) 서비스를 함께 제공하는 정보 기술과 네트워크 통신 장비와 중앙화 된 수용, 상호 연결과 운영에 특화된 구조 또는 구조의 그룹
    • 요구되는 서비스 가용성을 제공하는 데 필요한 수준의 탄력성과 보안 및 전력 분배와 환경 제어(냉방)를 제공하기 위한 모든 시설과 인프라 구조를 가짐
  • PUE
    • 전력 사용 효율 (Power Usage Effectiveness) 강조
    • 데이터 센터의 에너지 효율 표현식 → “데이터 센터의 전체 소비 전력” 을 “IT 장비에 의해 소비된 전력” 으로 나눈 값.

 

클라우드 데이터 센터(Cloud Data Center, CDC)

: 다수의 동종 서버를 클라우드 OS 를 이용하여 하나의 컴퓨팅 시스템으로 묶어 다양한 사용자에게 클라우드 서비스를 제공한다.

 

💡 주요 특징적 기술

  • 컴퓨터 노드 : Manycore 구성
  • 저장 공간 : DAS, NAS, SAN 등 다양한 구조
  • 네트워크 장비 : LAN, 라우터, 방화벽, VPN
  • 기타 설비
  • 가상화
  • 자동화
  • 표준 및 모듈화
  • 보안 및 고가용성 확보를 위한 기술 도입 

✅ 클라우드 보안 기술

📍 보안 요구사항 (CIAA)

Confidentiality (기밀성) - 권한이 있는 사람 또는 조직만 해당 자원에 접근 가능하게 함.

Integrity (무결성) - 정보가 변경되지 않음을 보장함.

Availability (가용성) - 자원 사용이 가능한지 보장함.

Authenticity (진정성) - 제공된 데이터가 믿을 만한 사람 또는 조직에서 왔는지를 보장함.

📍 보안 관련 용어

보안 관련 용어

 

  1. 위협(Threat)
    • 개인 정보 침해나 시스템 불능화 등과 같은 잠재적인 보안 위협
    • 위협은 공격으로 현실화 됨
  2. 공격(Attacks)
    • 실제 시스템 또는 소프트웨어에 대한 보안 공격
    • 공격의 종류
      • 악의적인 내부자 공격(Malicious insider attack)
      • 공유 위치 공격(Co-location attack)
      • 메타데이터 스푸핑 공격(Metadata spoofing attack)
      • 중간자 공격(Man-in-the-Middle attack)
      • 범람 공격(Flooding attack)
  3. 취약성(Vulnerabilities)
    • 공격에 활용되는 시스템 또는 소프트웨어의 결함
    • 취약성 예시
      • 구성 실수
      • 보안 정책 오류
      • 사용자 실수
      • 하드웨어/펌웨어 결함
      • 소프트웨어 버그
  4. 위험(Risks)
    • 공격에 의해 손실을 입을 확률
    • 취약성 표면의 크기, 위협 수준, 시스템/SW의 보안 수준에 의해 영향을 받음.
  5. 보안 대응 기법(Countermeasures)
    • 위험을 줄이고 위협을 예방할 수 있는 보안 기법들을 말함.
    • 보안 정책이 이 기법들의 구현 방향을 결정함.
  6. 자산(Assests)
    • 위협 요인들이 침입하려는 데이터 또는 컴퓨팅 자원
    • 보안 정책의 보호 대상

 

📍 위협원(Threat agent)

  • 악의적인 내부자(Malicious insider) : 클라우드 내부에 있는 공격자
  • 악의적인 임차인(Malicious tenant) : 다른 임차인의 자원에 불법으로 접근하려 하는 임차인
  • 외부 공격자(Anonymous attacker) : 클라우드 고객이 아닌 외부에 있으면서, 클라우드 시스템에 위협을 가하려는 공격자 </aside>

 

클라우드 보안 요구 사항

클라우드 보안 요구 사항

  • 무결성은 대부분의 클라우드 서비스에서 필수적으로 요구함
  • 전반적으로 SaaS 는 좀 더 많은 보안 요구사항을 필요로 함
  • 프라이빗 클라우드는 다른 전개 모델에 비해 좀 더 많은 요구사항을 필요로 함

 

🌟🌟🌟 보안 대응 전략

💡 암호화(Cryptography) for Ensuring Confidentiality

: 트래픽 도청, 악의적 중간자, 불충분한 인증, 중첩된 신뢰경계 등의 공격을 방어

  • 대칭 키 암호화 : 암호화/복호화에 같은 키를 사용함.
  • 비대칭 키 암호화 : 각 단계에서 다른 키를 사용함.

 

💡 해싱(Hashing) for Ensuring Integrity

: 많은 양의 데이터를 그보다 적은 크기의 데이터로 매핑시키는 데이터 관리 기법

  • SHA-2 해시 알고리즘
  • 사용 예
    1. 고객이 문서를 다운로드 받을 때 문서와 함께 해시 값을 함께 다운로드 함
    2. 다운로드 받은 문서에서 해시 값 계산
    3. 다운로드 받은 해시 값과 비교하여 두 값이 동일한 경우 무결성 보장

 

💡 디지털 서명(Digital Signature) for Ensuring Authenticity

: 전송자가 자신에 문서에 대해 생성한 해시를 자신의 개인키로 암호화한 암호화된 해시 값

  • 디지털 서명 방법
    1. 디지털 서명을 문서에 붙여 수신자에게 송신
    2. 수신자가 받은 문서로부터 해시 값 계산
    3. 전송자가 공개 키를 활용해 디지털 서명을 복호화 함
    4. 계산된 해시 값과 복호화 한 결과 값이 같으면 일관성 및 진정성 보장

 

💡 중복(Redundancy), 모니터링(Monitoring), 자원 풀(Resource Pool) for Ensuring Availability

  • 중복 : 핵심 시스템 구성 요소를 이중화하여 장애 대비
  • 모니터링 : 시스템 상태를 실시간으로 감시하고 이상 징후를 감지하여 신속히 대응
  • 자원 풀 : 자원 공유 및 동적 할당으로 효율적 자원 활용과 장애 대응에 활용

✅ 클라우드 관리 기술

 

📍 클라우드 관리 기술

💡 관리(Administration) 기술

  • 배치 (Deployment)
  • 구성 (Configuration)
  • 모니터링 (Monitoring)
  • 생명 주기 관리 (Lifecycle management)
  • 감사 (Auditing)
  • 중개 (Broking)

 

💡 비즈니스 지원(Business support) 기술

  • 미터링 (Metering)
  • 과금 (Billing)
  • 인증 (Authentication) & 사용자 관리 (User management)

 

📍 클라우드 모니터링 기술

💡 자원 사용 모니터링

모니터링 에이전트 구현 방식

  • 수동적 방식 : 에이전트가 자원 사용 요청 흐름 경로에 위치하여 요청과 할당을 모니터링
  • 능동적 방식 : 모니터링 에이전트가 다른 자원 할당 에이전트들에게 자원 사용 상태를 보고 받음
  • 주기적 모니터링 : 주기적으로 모니터링 에이전트가 다른 자원 할당 에이전트에게 자원 사용 상태를 문의

 

💡 서비스 품질 모니터링

  • SLA 모니터 : SLA 상에 명시된 서비스 수준을 만족하는지 여부를 감시하는 모니터
  • 응답시간, 처리율, 대기시간 등 다양한 QoS 기준이 모니터링 대상

 

📍 클라우드 자원 관리 기술

💡 부하 균등(Load Balancing) 기술

  • Amazon EC2 ELB
  • 분배 (Distribution)
    • 분배 정책 → 비대칭적 분배, 워크로드 우선순위 고려 분배, 컨텐츠 인지 분배

 

💡 장애극복 (Failover)

: 특정 서비스에 문제가 발생하였을 때에도 지속적으로 그 서비스를 지원하여 신뢰성과 가용성을 높이는 기술

  • 접근 방법
    • Active-active 방법 : 중복된 자원에서 요청을 동시에 처리하고 이 중에 하나만 응답
    • Active-passive 방법 : Active-active 처럼 중복된 자원을 활용하지만, 고객의 요청을 하나의 서버에서 처리하고 다른 서버는 대기 상태로 데이터 동기화만을 수행.

 

💡 식별자 및 접근 관리 기술 (IAM)

: 적절한 인증 및 권한 부여를 위한 기술

  • IAM(Identity and Access Management)
  • IAM 구성 요소 - 인증, 권한 부여, 사용자 관리, 집중된 저장소 

 

'⚡️ 전공수업 > 클라우드시스템' 카테고리의 다른 글

AWS 네트워킹 서비스  (0) 2025.04.30
AWS 컴퓨팅 서비스  (0) 2025.04.30
클라우드 컴퓨팅 서비스  (0) 2025.04.30
클라우드 컴퓨팅 2  (0) 2025.04.30
클라우드 컴퓨팅 1  (1) 2025.04.30