VPS(Virtual Private

VPS(가상 사설 서버)란 무엇입니까?

-VPS는 Virtual Private Server의 약자로 웹 호스팅의 일종입니다.
-물리적 서버를 각각 서비스를 제공하는 여러 가상 서버로 분할
– 하나의 물리적 서버에서 여러 가상 서버를 실행하는 가상화 기술 사용
– 가상화 기술로 인해 실제 서버처럼 작동하는 여러 대의 서버가 가상 머신입니다.
– 가상화 기술에는 Docker 컨테이너 방식, OpenVZ 또는 LXC 방식뿐만 아니라 KVM(완전 가상화 방식), XEN(반가상화 방식) 등이 있습니다.
– 가상화 기술을 이용하여 생성된 가상머신은 물리적 서버의 CPU, 메모리, 디스크 등의 자원을 사용하기 때문에 많은 양의 물리적 서버 자원을 필요로 합니다.


VPS의 5가지 장점
– 비용: 전용 서버나 클라우드에 비해 상대적으로 저렴합니다.
– 보안: 운영 체제(OS)가 공유되지 않기 때문에 물리적 서버를 공유하는 다른 VPS 사용자는 웹 사이트, 파일 또는 데이터에 액세스할 수 없습니다.
– 관리: VPS를 사용하면 자신만의 관리 시스템을 구축할 수 있습니다. 따라서 사용자가 관리자 권한으로 PHP 및 MySQL과 같은 애플리케이션을 직접 설치하고 구성할 수 있습니다. (단, 약간의 호스팅 지식을 권장합니다.)
– 편리성: 애플리케이션 설치를 위해 시스템을 재부팅할 때 관리자가 다른 VPS 사용자에게 영향을 주지 않고 시스템을 직접 재부팅할 수 있습니다.
– 성능: VPS는 물리적 서버를 여러 개의 가상 서버로 분할하지만 물리적 서버와 동등한 성능을 가지고 있습니다. 물리적 서버를 공유하더라도 모든 사용자는 자신의 개인 가상 서버를 갖기 때문입니다. 이 때문에 VPS는 종종 가성비 제품으로 언급됩니다.

VPS의 5가지 단점
– 확장성: 확장성이 없습니다. 이는 스토리지가 물리적 서버 제한을 ​​받기 때문입니다. VPS 용량이 가득 찬 경우 스토리지를 추가로 구매하거나 다른 옵션을 탐색해야 할 수 있습니다. 그리고 이 프로세스는 시간과 비용이 많이 소요될 수 있습니다.
– 관리 : 사용자가 직접 관리하는 것은 어느 정도 지식이 있으면 유리하지만 초심자라면 문제가 될 수 있습니다. 모든 것을 직접 관리해야 하는 번거로움과 버그로 인한 보안 문제가 발생할 수 있기 때문입니다.
– 리소스 공유: 물리적 서버는 모든 사용자와 컴퓨팅 리소스를 공유하기 때문에 다른 VPS에 과부하가 걸리면 RAM, 대역폭 및 CPU 성능에 영향을 줄 수 있습니다. 즉, 사용자가 너무 많은 리소스를 점유할 때 발생할 수 있는 문제입니다.
– 보안: 보안과 관련하여 이점과 우려가 모두 있습니다. 다른 VPS 사용자를 동시에 노리는 DDoS 공격의 영향을 받을 수 있기 때문입니다.
– 가용성: VPS는 가용성이 높은 전용 서버에 비해 상대적으로 가용성이 낮습니다.

완전한 가상화를 위한 KVM(Kernel-based Virtual Machine) 방식
– 하이퍼바이저(가상화를 구현한 제어 프로그램) 기반으로 리눅스 커널 자체를 구동하는 방식
– 하이퍼바이저 기반의 가상화이기 때문에 운영체제 뿐만 아니라 하드웨어도 에뮬레이터
– 호스트 OS와 CPU 아키텍쳐가 달라도 동작 가능.
– 다만 이 방식은 소프트웨어적으로 하드웨어를 가상화하는 방식이기 때문에 오버헤드가 필요하다. 따라서 물리적 서버와 가상 서버의 성능이 동일하더라도 성능에는 차이가 있을 수 있습니다.

XEN 반가상화

Xen의 반가상화 게스트 운영 체제는 특권 명령을 실행하기 위해 하이퍼바이저에서 서비스를 “하이퍼콜”해야 합니다. 응용 프로그램이 운영 체제에서 “시스템 호출”을 통해 커널에 서비스를 요청하는 방식과 같다고 할 수 있습니다.
실제로 하이퍼콜은 시스템 콜과 같은 방식으로 구현됩니다. 서비스 요청이 (애플리케이션 -> 커널)인지 (게스트 OS -> 하이퍼바이저)인지에 따라서만 용어가 다릅니다.
Xen에는 도메인 0이라는 특수 도메인이 있습니다. 도메인 0에는 실제 물리적 장치와 통신하고 각 도메인을 제어하는 ​​장치 드라이버가 있습니다.
도메인 0은 유형 2 하이퍼바이저의 호스트 운영 체제와 기능적으로 유사하지만 유형 2에서는 호스트 운영 체제에서 하이퍼바이저를 응용 프로그램으로 관리하고 유형 1에서는 도메인 0을 도메인으로 하이퍼바이저에서 관리하므로 의미가 완전히 다릅니다. ..
Xen 반가상화에서 장치 I/O를 예로 들면 각 도메인은 I/O 요청을 Xen 하이퍼바이저로 하이퍼콜하고 Xen 하이퍼바이저는 이를 도메인 0으로 전달하여 실제 실행 장치로 I/O를 수행합니다.

그런 다음 Xen 하이퍼바이저는 I/O를 다시 요청한 도메인에 I/O 결과로 응답하고 Xen의 반가상화 I/O에 사용되는 메커니즘에는 I/O 링 및 이벤트 채널(이벤트 채널), 프런트엔드/백이 포함됩니다. -end 드라이버, 그랜트 테이블, XenStore 등이 있지만 모두 설명하는 데 시간이 너무 오래 걸리므로 존재를 알리고 계속 진행하십시오.

컨테이너 기반 가상화(예: Docker, OpenVZ, LXC)

OS 자체 가상화

물리적 서버를 가상화하는 방식이 아니라 컨테이너 간에 운영 체제의 커널 부분을 공유해 사용하는 방식이다.

따라서 오버헤드가 적고 더 많은 컨테이너를 제공할 수 있습니다. 그러나 여러 운영 체제 배포로 제한되며 호스트 운영 체제와 동일한 운영 체제를 사용해야 합니다.