가상화

2023. 6. 5. 14:36DevOps/AWS 기초

✅ 아래 내용들에 대해서 알아보자

- 가상화
- 가상화 역사
- AWS와 가상화

 

 

가상화

 가상화는 하나의 물리적 리소스(ex. 단일 컴퓨터의 하드웨어) 요소를 가상 머신(VM)이라고 하는 다수의 가상 환경으로 분할할 수 있도록 해주는 기술이다. 가상화의 특징은 아래와 같다.

 

  1. 호스트 시스템(Host System): 가상화를 지원하는 물리적 컴퓨터 또는 서버를 호스트 시스템이라고 한다. 호스트 시스템은 하이퍼 바이저라는 소프트웨어를 실행하여 가상 환경을 생성하고 관리한다.
  2. 게스트 시스템(Guest System): 호스트 시스템에서 생성된 가상 환경으로, 가상 머신 또는 컨테이너 형태로 존재함. 각각의 게스트 시스템은 독립적으로 운영체제와 응용 프로그램을 실행할 수 있다.
  3. 하이퍼바이저(Hypervisor): 호스트 시스템에서 가상 환경을 관리하는 소프트웨어 계층이다. 하이퍼바이저는 호스트 리소스를 게스트 시스템에 할당하고, 게스트 시스템 간의 격리를 제공한다
  4. 가상 머신(VM): 하이퍼바이저 위에서 실행되는 독립적인 OS와 응용 프로그램으로 구성된 가상 환경, 가상 머신은 호스트 시스템의 H/W 리소스를 사용하며, 호스트 시스템과 다른 OS 실행 가능함(ex. Vmware)
  5. 컨테이너(Container): 운영체제 수준의 가상화 기술로, 호스트 시스템과 컨테이너 간에 OS를 공유한다. 컨테이너는 가볍고 빠르게 생성되며, 애플리케이션을 격리된 환경에서 실행할 수 있다.(ex. Docker) 

 

 

가상화가 나타나기 전까지는 하나의 하드웨어 시스템은 하나의 OS만 실행이 가능했음

 -> 일반적인 컴퓨터처럼 직접 OS가 하드웨어에 설치된 상태(Bare-Metal)로만 운영 가능했었다.(아래 그림 참고)

 

Bare Metal 구조

 

각 세대별 가상화 역사 및 구조에 대해서 알아보자.

 

가상화 역사

1세대 : 완전 가상화(Fully Emulated)

  • 1960~1970년도에 개발됨(ex. IBM CP-40, CP-67 등..)
  • 모든 시스템 요소가 에뮬레이터 안에서 돌아감
  • 즉 CPU, 하드 디스크, 마더보드 등 모든 요소를 에뮬레이터로 구현하여 OS와 연동
  • 엄청나게 느리다는 단점이 있음

 

1세대 가상화 구조

 

 

2세대 : 반 가상화(Paravirtualization)

  • 1990년~2000 초반까지 발전(ex. Vmware의 workstation)
  • Guest OS는 하이퍼바이저와 통신(아래 그림의 노란색 박스에 있는 OS를 의미함)
  • 하이퍼바이저: OS와 하드웨어 사이에 존재하는 일종의 가상화 매니저
  • 1세대 비해 속도 향상
  • 몇몇 요소의 경우 여전히 에뮬레이터가 필요함(-> 느림)

 

2세대 가상화 구조

 

 

3세대 : 하드웨어 가상 머신(Hardware Virtual Machine, HVM)

  • 2000년대 중반 ~현재(ex. Vmware의 ESX 서버, ms의 Hyper-V)
  • 하드웨어에서 직접 가상화를 지원함(주로 서버 가상화 기술 발전)
  • 직접 Guest-OS가 하드웨어 와 통신 = 빠른 속도(near bare-metal
  • 하이퍼바이저를 이용하여 여러 개의 가상 머신을 단일 서버에서 실행할 수 있게 됨

 

3세대 가상화 구조

 

 

4세대 : 컨테이너 가상화(Container Virtualization) 

  • Docker: 컨테이너 가상화 기술인 Docker는 애플리케이션과 필요한 종속성을 컨테이너 이미지를 사용하여 애플리케이션을 격리된 환경에서 실행할 수 있게 해 준다
  • Kubernetes(k8s): 컨테이너 오케스트레이션 플랫폼인 Kubernetes는 컨테이너의 배포, 관리, 확장을 자동화하는 역할을 수행한다.

 

 

AWS와 가상화

 AWS는 가상화를 통해 클라우드 환경에서 리소스를 작은 단위로 빠르게 구성할 수 있게 해주는 것이다!

 

즉, AWS에서 사용자마다 컴퓨터를 할당해 주는 것이 아닌 이미 구축된 가상화 가능한 서버의 한 부분을 할당해 주는 것이다!!  (그리고 클라우드 환경과 가상화는 떼려야 뗄 수 없는 필수조건 관계이다!)

 

아래 그림처럼 AWS는 서버에 가상화를 구성해 놔서 사용자가 EC2 생성 시 일부분을 제공해 주는 것이다.(IaaS)

 

AWS 가상화 구조

 

 

 

가상화에 대해서 정리해 보았습니다.  감사합니다 😀😀


이 글은 유튜브 AWS 강의실님 내용을 참고하여 작성한 글입니다.

반응형

'DevOps > AWS 기초' 카테고리의 다른 글

AWS EC2 2편  (0) 2023.06.06
AWS EC2 1편  (0) 2023.06.05
IAM에 대해서 알아보자  (0) 2023.06.05
AWS 계정 만들기  (0) 2023.06.04
AWS 구조  (0) 2023.06.04