가상 머신이란?

가상 머신(VM)은 가상화라는 프로세스를 사용하여 다른 컴퓨터 내부에서 실행되는 컴퓨터입니다.

학습 목표

이 글을 읽은 후에 다음을 할 수 있습니다:

  • 가상 머신의 정의
  • 가상화 및 가상 하드웨어 작동 방식 이해하기
  • 가상 머신의 몇 가지 사용 사례 개요

관련 콘텐츠


계속 알아보시겠어요?

인터넷에서 가장 인기 있는 인사이트를 한 달에 한 번 정리하는 Cloudflare의 월간 요약본 theNET를 구독하세요!

Cloudflare가 개인 데이터를 수집하고 처리하는 방법은 Cloudflare의 개인정보 취급방침을 참조하세요.

글 링크 복사

가상 머신이란?

가상 머신(VM)은 다른 컴퓨터의 운영 체제 내에 존재하는 소프트웨어 기반 컴퓨터로, 종종 테스트, 데이터 백업, SaaS 애플리케이션 실행을 위해 사용됩니다. VM이 작동하는 방식을 파악하려면 먼저 컴퓨터 소프트웨어와 하드웨어가 일반적으로 운영 체제에 통합되는 방식을 이해하는 것이 중요합니다.

운영 체제란?

기존 컴퓨터는 하드 디스크 드라이브, 프로세서 칩, RAM 등을 포함한 물리적 하드웨어로 제작됩니다. 이 하드웨어를 활용하기 위해 컴퓨터는 운영 체제(OS)로 알려진 소프트웨어 유형에 의존합니다. OS의 일반적인 예로는 Mac OSX, Microsoft Windows, Linux, Android가 있습니다.

OS는 사용자에게 유용한 방식으로 컴퓨터의 하드웨어를 관리하는 것입니다. 예를 들어 사용자가 인터넷에 액세스하려는 경우 OS는 네트워크 인터페이스 카드에 연결하도록 지시합니다. 사용자가 파일을 다운로드하려는 경우 OS는 해당 파일을 위해 하드 드라이브 공간을 분할합니다. OS는 또한 다른 소프트웨어를 실행하고 관리합니다. 예를 들어 웹 브라우저를 실행하고 브라우저에 원활하게 작동할 수 있는 충분한 랜덤 액세스 메모리(RAM)를 제공할 수 있습니다.

일반적으로 운영 체제는 물리적 컴퓨터 내에 일대일 비율로 존재합니다. 각 시스템에는 물리적 리소스를 관리하는 단일 OS가 있습니다.

한 컴퓨터에 두 개 이상의 운영 체제를 사용할 수 있을까요?

하나의 컴퓨터에서 여러 운영 체제를 실행할 수 있습니다. 이것은 가상화라는 프로세스를 통해 이루어집니다. 가상화에서 소프트웨어는 마치 독립된 컴퓨터처럼 작동합니다. 이 소프트웨어는 '게스트' 컴퓨터라고도 하는 가상 머신이라고 합니다. (VM이 실행되는 컴퓨터를 '호스트'라고 합니다.) 게스트에는 자체 가상 하드웨어뿐만 아니라 OS도 있습니다.

'가상 하드웨어'는 모순처럼 들릴 수 있습니다. 실제로 VM의 '하드 드라이브'는 호스트 컴퓨터의 하드 드라이브에 있는 파일일 뿐입니다. 그러나 가상 하드 드라이브는 물리적 하드 드라이브와 동일한 기능을 수행합니다.

하나의 호스트에서 실행할 수 있는 VM의 수는 호스트의 사용 가능한 리소스에 의해서만 제한됩니다. 사용자는 다른 프로그램과 마찬가지로 창에서 VM의 OS를 실행하거나 실제 호스트 OS처럼 보이도록 전체 화면에서 실행할 수 있습니다.

가상 머신은 무엇에 사용될까요?

단일 컴퓨터의 가상 머신에 대한 일반적인 사용 사례는 다음과 같습니다.

  • 테스트 - 소프트웨어 개발자는 다른 환경에서 애플리케이션을 테스트하기를 원하는 경우가 많습니다.개발자는 가상 머신을 사용하여 한 컴퓨터의 다양한 OS에서 애플리케이션을 실행할 수 있습니다.이것은 여러 물리적 시스템에서 테스트하는 것보다 더 간단하고 비용 효율적입니다.
  • 다른 OS용으로 설계된 소프트웨어 실행 - 특정 소프트웨어 애플리케이션은 단일 플랫폼에서만 사용할 수 있지만 VM은 다른 OS용으로 설계된 소프트웨어를 실행할 수 있습니다.예를 들어 Windows용으로 설계된 소프트웨어를 실행하려는 Mac 사용자는 Mac 호스트에서 Windows VM을 실행할 수 있습니다.
  • 오래된 소프트웨어 실행 - 일부 오래된 소프트웨어는 최신 OS에서 실행할 수 없습니다.이러한 애플리케이션을 실행하려는 사용자는 가상 머신에서 오래된 OS를 실행할 수 있습니다.
  • 브라우저 격리 - 브라우저 격리는 맬웨어가 컴퓨터의 다른 파일 및 프로그램에 영향을 미치지 않도록 하기 위해 컴퓨터 운영 체제의 나머지 부분으로부터 웹 브라우저 활동을 '격리'하는 방법입니다. 일부 브라우저 격리 도구는 VM을 사용하여 이러한 격리를 설정하지만, 이 접근 방식 때문에 검색 활동이 느려질 수 있습니다.

클라우드 컴퓨팅에서는 가상 머신을 어떻게 사용할까요?

여러 클라우드 공급자가 고객에게 가상 머신을 제공합니다. 이러한 가상 머신은 일반적으로 여러 VM에 대한 호스트 역할을 할 수 있는 강력한 서버에 있으며 로컬에서 호스팅되는 VM에서는 실용적이지 않을 다양한 이유로 사용할 수 있습니다. 여기에는 다음이 포함됩니다.

  • SaaS 애플리케이션 실행 - 서비스형 소프트웨어 또는 줄여서 SaaS는 사용자에게 소프트웨어를 제공하는 클라우드 기반 방법으로, 애플리케이션이 컴퓨터에서 실행되지 않고 인터넷을 통해 사용자에게 제공됩니다.클라우드의 가상 머신이 SaaS 애플리케이션에 대한 계산을 수행하고 이를 사용자에게 제공하는 경우가 많습니다.클라우드 공급자에게 지리적으로 분산된 네트워크 에지가 있는 경우 애플리케이션이 사용자와 더 가깝게 실행되어 성능이 더 빨라집니다.
  • 데이터 백업 - 클라우드 기반 VM 서비스는 어디서나 데이터에 액세스할 수 있기 때문에 데이터 백업에 널리 사용됩니다.또한 클라우드 VM은 중복성이 더 뛰어나고 유지 관리가 덜 필요하며 일반적으로 물리적 데이터 센터보다 확장성이 뛰어납니다.(예를 들어, 클라우드 VM 공급자로부터 추가 기가바이트의 저장 공간을 구입하는 것은 비교적 쉽지만, 추가 기가바이트의 데이터를 위한 새로운 로컬 데이터 서버를 구축하는 것은 훨씬 더 어렵습니다.)
  • 이메일 및 액세스 관리와 같은 호스팅 서비스 - 클라우드 VM에서 이러한 서비스를 호스팅하면 일반적으로 더 빠르고 비용 효율적이며 유지 관리가 최소화되고 보안 문제도 줄어듭니다.
  • 브라우저 격리 - 일부 브라우저 격리 도구는 클라우드 VM을 사용하여 웹 브라우징 활동을 실행하고 안전한 인터넷 연결을 통해 사용자에게 안전한 콘텐츠를 제공합니다

Cloudflare 및 가상 머신

Cloudflare는 클라우드 VM을 포함하여 모든 유형의 클라우드 배포를 보호하고 관리하는 데 도움이 됩니다. SaaS 공급자는 SaaS용 Cloudflare를 사용하여 애플리케이션의 성능을 개선하고 최종 사용자를 위한 사용자 지정 도메인을 보호하는 등의 작업을 수행할 수 있습니다.

또한 가상 머신의 간접 비용 없이 에지에서 코드를 실행하는 기능을 원하는 사용자를 위해, 서버리스 플랫폼인 Cloudflare Workers는 완전히 확장 가능한 방식으로 고객에게 에지 계산을 제공하므로, 개발자가 인프라를 구성하거나 유지 관리하지 많고 기존 애플리케이션을 보강하거나 완전히 새로운 애플리케이션을 만들 수 있습니다.