개요
본 포스팅은 그림으로 이해하는 가상화와 컨테이너 책을 읽고 정리한 내용입니다.
https://product.kyobobook.co.kr/detail/S000200276975
그림으로 이해하는 가상화와 컨테이너 | 이가라시 타카유키 - 교보문고
그림으로 이해하는 가상화와 컨테이너 | 쉽고 재미있게 시작하는 가상화와 컨테이너!가상화는 규모가 큰 시스템이나 서비스를 구성하는 데 없어서는 안 될 중요한 기술이다. 특히 가상화의 한
product.kyobobook.co.kr
가상화 기술에 대해 알아봅시다.
가상화란?
가상화란 실체가 없는 것을 마치 존재하는 것처럼 보이게 하는 기술을 말합니다.
가상화 기술을 적용하면 하나의 물리 서버에서 여러 대의 가상 서버를 만들 수도 있고 여러 대의 물리 서버에서 하나의 가상 서버를 만들 수도 있습니다.
가상화의 장점은 다음과 같은 것들이 있습니다.
- 유연성: 물리 서버를 새로 구입하지 않아도 가상으로 새로운 서버를 생성할 수 있다.
- 가용성: 가상 서버에 장애가 발생하더라도 이전에 백업해 둔 캡슐화 된 파일을 통해 가상 환경을 바로 실행할 수 있다. (물론 가상 서버를 실행 중인 물리 서버가 장애나면 불가능)
가상화의 단점은 다음과 같은 것들이 있습니다.
- 전문 지식: 서버/네트워크 관리 외 전문 지식 필요하다.
- 물리 서버 장애: 물리 서버에 장애가 발생하면 해당 서버 위 모든 가상 서버에 영향을 준다.
가상화의 종류는 다음과 같은 것들이 있습니다.
- 서버 가상화: 물리 서버를 가상화하여 호스트 OS와 다른 OS를 가진 가상 서버 여러 대를 동시에 실행할 수 있다.
- 네트워크 가상화: 물리적인 네트워크 구성을 가상화하여 한 네트워크를 여러 가상 네트워크로 분할 할 수 있고 여러 네트워크를 하나의 가상 네트워크로 만들 수도 있다. 네트워크 설정을 소프트웨어로 수행한다.
- 스토리지 가상화: 물리적인 HDD나 SSD 같은 스토리지를 가상화한다. 역시 한 스토리지를 여러 스토리지로 분할하거나 여러 스토리지를 하나의 스토리지로 만들 수 있다.
서버 가상화란?
서버 가상화는 가상화 기술의 대표적인 예시로 세 종류가 존재한다.

1. 호스트 OS형 가상화
물리 서버에 OS가 설치되어 가상 서버를 실행합니다.
예를 들어 Host OS가 Windows인 물리 서버에서 가상화 소프트웨어를 통해 Linux OS를 게스트 OS로 실행할 수 있습니다.
호스트 OS형 가상화를 구현하는 소프트웨어에는 Hyper-V, VMware Workstation Player, Virtual Box 등이 있습니다.
가상화 소프트웨어를 유형 2 - hosted hypervisor라고도 합니다.
2. 하이퍼바이저형
물리 서버에 호스트 OS가 존재하지 않고 하이버파이저라는 가상 환경을 관리하는 소프트웨어를 설치합니다.
호스트 OS 없이 게스트 OS를 직접 제어하기 때문에 컴퓨터의 리소스를 활용하기 쉽습니다.
보통 규모가 큰 가상 환경을 구축할 때 사용합니다.
가상 환경을 관리하기 위해 사용하는 하이퍼바이저를 유형 1 - Bare Metal hypervisor라고도 합니다.
3. 컨테이너형 가상화
OS 단위가 아닌 애플리케이션 단위로 가상화하는 기술입니다.
게스트 OS가 아닌 container를 띄우고 애플리케이션을 도입하기 때문에 성능이 좋고 유연성이 높습니다.
특히 게스트 OS가 필요없기 때문에 컨테이너를 만드는 비용이 매우 저렴하고 굳이 하나의 컨테이너에 여러 애플리케이션을 띄울 필요없이 하나의 컨테이너에 하나의 애플리케이션만 띄우고 컨테이너를 결합할 수 있습니다.
네트워크 가상화란?
네트워크 가상화란 논리적인 네트워크 구성을 나타내는 기술입니다.
물리적으로 라우팅을 변경하지 않아도 소프트웨어 구성으로 구축할 수 있습니다.
1. VLAN
물리적 네트워크인 LAN을 분할해서 여러 논리 네트워크를 구축합니다.
실제로 같은 스위치에 연결되어 있더라도 포트마다 번호를 부여하여 그룹화합니다.

2. tag VLAN
tag VLAN은 여러 스위치 간에 VLAN을 구현하기 위한 기술이빈다.
데이터에 태그라는 식별자를 지정해 그룹을 나눕니다.
스위치 간 케이블 1개만 연결하면 됩니다.

3. overlay network
overlay network는 VLAN의 약점을 보완한 가상 네트워크로 물리적 네트워크 위에 가상 스위치를 설치합니다.
가상 스위치 간 통신을 할 때는 터널링이라는 기술을 사용합니다.

패킷을 다른 패킷으로 덧씌워서 전송하여 물리적 네트워크 영향을 받지 않고 가상 네트워크에 데이터를 전달할 수 있습니다.

4. VPN
VPN은 가상 사설망을 구축하는 기술이며 Overlay Network의 한 종류이다.
IPSec와 같은 기술로 데이터를 암호화하고 터널링 기술을 사용하여 멀리 떨어진 라우터간 통신을 할 수 있습니다.
기존에는 멀리 떨어진 거점 간 데이터 교환을 위해 전용선을 설치해야 했지만 VPN을 사용하면 전용선 없이 데이터를 교환할 수 있습니다.
