출처: https://meyouus.tistory.com/64 [정보 공유 - For Me For You For Us]
본문으로 바로가기

다음과 같은 Qwiklabs 과정을 거치면서 배운 내용이다:

  • A Tour of Qwiklabs and Google Cloud
  • Creating a Virtual Machine
  • Compute Engine: Qwik Start - Windows
  • Getting Started with Cloud Shell & gcloud

 

Google Cloud에서 처음 프로젝트를 시작하다 보면 Compute Engine에서 Virtual Machine (VM)을 만드려고 한다. 하지만 여기서 VM Instances를 만들때, Name, Region, Zone, Series, Machine Type, Boot disk 등등을 설정해야 되는 것을 볼 수 있다.

여기서는 Series와 Machine Type에 대해 얘기해보려고 한다.

/ VM Instance create하려고 나오는 화면 /

우리가 VM을 만들때 이 Machine Type은 중요한 역할을 한다. 간단하게 말해, 내가 일할 . Virtual Machine의 CPU를 정한다고 생각하면 된다. 만약 내가 Virtual Machine을 가지고 중요하거나 방대하고 빠른 계산이 필요한 작업들을 한다면, 더 좋은 CPU를 써야되는 것 처럼, vCPU도 그에 알맞는 Machine Type을 골라야 할 것이다.

 

우선, E2, N2, N2D, N1 각 machine type에 대한 간략한 설명을 해보겠다.

E2, N2, N2D, N1, M1, M2, C2에 대한 구글 클라우드 다큐먼트 설명

Google Cloud의 Machine Types Documents의 설명에 따르면 다음과 같다:

 

  • E2 Machine Type: 소위 말해 싼 가격을 위한 machine type. vCPU(VM에 쓰일 CPU라고 해서 virtual CPU의 약자이다) 32개까지 지원하며 최대 128GB의 메모리, vCPU당 최대 8GB의 메모리를 지원한다. Intel 또는 AMD EPYC Rome 프로세서에서 작동하게끔 미리 정해져 있다. Compute Engine 중에서 가장 낮은 가격을 지원한다.
  • N2 Machine Type: vCPU 80개까지 지원하며, vCPU당 최대 8GB의 메모리를 지원한다. Intel Cascade Lake 플랫폼에서 지원 가능하다.
  • N2D Machine Type: vCPU 224개까지 지원하며, vCPU당 최대 8GB의 메모리를 지원한다. AMD EPYC Rome 2세대 플랫폼에서 지원 가능하다.
  • N1 Machine Type: vCPU 96개까지 지원하며, vCPU당 최대 6.5GB의 메모리를 지원한다. Intel Sandy Bridge, Ivy Bridge, Haswell, Broadwell, Skylake 플랫폼에서 지원 가능하다.
  • M1, M2 Machine Type: Memory-optimized machine types로, 메모리 최적화를 위한 컴퓨팅 방식이라고 생각하면 된다. 최대 12T의 메모리를 제공하며, 다른 machine types들에 비해 한 코어당 더 많은 양의 메모리를 제공한다.
  • C2 Machine Type: Compute-optimized machine types로, 컴퓨팅 최적화를 위한 컴퓨팅 방식이다. 가장 좋은 퍼포먼스 효율을 제공하기 때문에, 고도의 컴퓨팅이 필요한 작업에 적절한 컴퓨팅 방식이다.

여기서 E2, N2, N2D Machine Type들은 second generation machine type 이지만, N1 은 first generation machine type이다 (알파벳 뒤에 붙은 1, 2가 이를 나타낸다.) 보통 second generation이 좀 더 좋은 machine type이라고 생각하지만, 크게 다른 점은 없다. 다만, N1 같은 경우는 다음과 같은 차별점을 지닌다:

 

N1 특징

오직 N1 Machine Type만이, 그것도 N1중에 N1 standard machine types만, GPU(Graphic Processing Unit - 우리가 흔히 말하는 그래픽 카드)를 달 수 있다. 다른 machine type들 (N2, N2D 등등)은 GPU를 다는 것을 불가능하다. 여기서 말하는 GPU는 특히 TPU(Tensor Processing Units)을 의미한다. TPU는 Tensorflow와 같은 머신러닝 및 인공지능 구현을 할 때 사용하는 프로세싱 유닛이다.

 

용도에 따른 Machine Type을 Google Cloud는 다음과 같은 표로 제공해주고 있다:

 

각 Machine Type에 따른 권장 사용 방법

 

E2 같은 경우, 저렴하고 싼 비용으로 웹/얍/백오피스 서비스들, 중소형 데이터베이스들, 가상데스크톱 환경 구현, 개발환경 정도로 사용하는 것을 권장하고 있다.

N2, N2D, N1의 경우는 E2와 비슷하나, 중대형 데이터베이스들, 미디어/스트리밍을 진행할 경우 이 Machine Type을 사용하는 것을 권장하고 있다.

M2, M1은 메모리 최적화 컴퓨팅 방식을 추천하므로, 확실히 데이터 분석, 대규모 데이터베이스들을 설치할 경우 추천하는 방식이다.

C2는 HPC(High Performance Computing: 고성능 컴퓨팅), 전자 설계 자동화 (EDA), 높은 수준의 게임 등을 위해 사용하는 것을 권장하고 있다.

 

또한, 각 Machine Type에 대한 Billing 방식 다 다르므로, 어떤 용도로 Google Cloud Virtual Machine이 필요한지 찾아서 적절한 Machine Type을 찾아 써야할 것이다.