
VM 인스턴스 가상 머신을 생성하여 다양한 사람들의 동시 접속을 가능하게 한다.
Colab도 VM 인스턴스의 하나다. VM 인스턴스를 사용하여 코렙을 사용할 수 있게 한다.
마이크로에서부터 vCPU 160개 또는 3.75TB 메모리를 제공하는 인스턴스까지, 사전에 정의된 다양한 사양의 인스턴스 제공
큰 메모리는 생성 시간이 오래 걸린다.
임의로 인스턴스의 시스템 구성을 설정할 수 있는 custom 머신 유형도 제공하기 때문에 자신의 요구사항에 맞춘, 나만의 머신 유형을 설정하여 저렴하게 이용
최대 64TB의 영구 디스크 Repository를 HDD 또는 SSD 형태로 제공하기 때문에 목적에 맞는 영구 디스크 Repository를 선택하여 이용할 수 있으며, 다양한 OS 이미지 제공
vCPU는 클라우드 환경에서 물리적인 CPU 코어를 논리적으로 나누어 가상 머신이나 컨테이너에 할당된 컴퓨팅 리소스이다.
온-프레미스는 하드웨어 구성을 해야 하며, 하드웨어 구매로 부터 시간이 걸린다.
하지만, 클라우드는 가상환경에다가 소프트웨어적으로 서버를 구성하는 형태이기 때문에 즉각적인 생성이 된다.
인스턴스를 생성하여 온-프레미스 상 서버처럼 운영할 수 있다.
단, 사용 즉시 과금이 이루어지며, VM 인스턴스 구성 시 월 단위 예상 비용이 보여진다.
GCP에서 사전에 구성해둔 인스턴스를 사용하거나 원하는 형태의 하드웨어 구성으로 직접 생성이 가능하다.
운영체제(OS)는 하드웨어를 제어하는 중요한 시스템 소프트웨어이다.
하드웨어가 결정되면, 그 하드웨어를 효과적으로 관리하고 제어하기 위해 OS가 필요하다.
OS는 컴퓨터 시스템의 하드웨어 자원을 관리하고, 다른 소프트웨어가 하드웨어를 사용할 수 있도록 중개 역할을 한다. 이 때문에 OS는 시스템의 핵심적인 요소로 매우 중요하다.
이미지는 인스턴스가 실행 중인 상태에서는 생성할 수 없으며, 중지되어 있는 상태에서 인스턴스를 그대로 복사한다.
Linux Kernel 의미
오피스 프로그램, 시스템 제어 프로그램 등 각종 응용프로그램을 설치할 수 있게 묶어 둔 것이 배포판이다.
커널 + 프로그램 + 프로그램 설치를 묶어놨다고 보면 된다.
Ubuntu, SUSE, Red Hat = 리눅스 서버
Windows Server = 윈도우 서버(윈도우와 다름)
Red Hat이든 Debian든 리눅스 커널은 하나이기 때문에 커널,
즉, 기본 리눅스 명령은 동일한데 세부적인 것이 다르다.
Red Hat은 네트워크 기반 환경에서 많이 사용되며,
Debian든은 윈도우즈 처럼 편의성 기준으로 구성이 된다.
세계적으로 두 개의 계열을 많이 사용한다.
GCP에서는 Debian든 계열의 리눅스와 Red Hat 계열의 리눅스를 제공한다.
앤드 유저 보다는 서비스 제공을 목적으로 한다.
GCP에서는 제공하는 OS 이미지 유형은 리눅스, 윈도우 2개가 있으며(맥 OS 미제공),
맥 OS는 AWS에서 이원화하여 제공한다.
GCP에서 생성된 VM을 운영하다가 변경할 필요가 생기면, 존(zone) 이나 리전(region) 을 이동하는 것은 불가능하다.
현재 생성된 VM 자체를 직접적으로 다른 존이나 리전으로 이전할 수는 없지만, 다른 네트워크로 이동하는 방법은 가능하다.
GCP는 라이브 마이그레이션 기능을 제공하여, VM이 운영 중인 상태에서도 물리적인 서버 간에 VM을 이전할 수 있다. 그러나 이 기능은 동일한 존 내에서만 가능하며, 존이나 리전 간 VM 이전은 지원되지 않는다. 대신, 새로운 리전이나 존에 VM을 다시 생성한 후 데이터를 마이그레이션하는 방법을 사용할 수 있다.
GCP에서 인스턴스를 생성하면 서버 하나를 할당받아 가상 환경에서 운영하게 된다. 이때, 기본 가격이 책정되어 과금이 발생한다. 하지만 일시적인 개발 환경이나 테스트 용도로만 VM이 필요한 경우, 일반적인 VM보다 저렴하게 사용할 수 있는 선점형 VM(Preemptible VM)을 제공받을 수 있다.
선점형 VM은 일반 VM보다 매우 저렴하지만, 사용 기간에 제한이 있다.
GCP 입장에서는 미리 선투자한 하드웨어 자원을 활용하는 것이므로, 남는 자원을 저렴하게 제공하여 사용자들이 이를 활용하도록 하고, 자원 활용률을 높인다.
사용자들은 저렴한 가격으로 VM을 사용할 수 있고, GCP는 미리 투자한 자원에 대한 회수율을 높일 수 있다.
단점은, 선점형 VM은 최대 24시간까지만 사용할 수 있으며, 그 이후에는 강제로 종료된다. 따라서 장기적인 운영 환경보다는 일시적인 테스트나 개발 용도로 적합하다.
GCP에서는 약정을 통해 비용을 절감할 수 있으며, 변경에 대한 제한 없이 일정한 금액을 약정하여 구독 서비스처럼 운영할 수 있다.
VM은 생성되는 순간부터 과금이 시작되며, 초 단위로 과금되어 시간이 지남에 따라 비용이 발생한다.
이와 함께, 저장공간(스토리지) 에 대한 비용도 발생한다.
예를 들어, 10TB의 스토리지를 예약했더라도 실제로 사용한 만큼만 비용이 청구된다.
즉, 100GB를 사용했다면 100GB에 해당하는 저장 비용만 발생하는데, 이러한 방식은 종량제 개념으로, 사용한 리소스에 대해서만 비용을 지불하는 방식이다..
인스턴스 생성 시 금액을 고려해야 한다.
VM 인스턴스가 생성되면 VPC에 연결되어 있어야 내부 및 외부 접속 여부가 결정되며, 같은 네트워크 안에서는 연결이 가능하다.
클라우드에서 VM 인스턴스를 생성할 때 이를 컨테이너로 만들 수 있고 나중에 템플릿을 생성할 때도 도커 이미지로 생성하는 것이 가능하다.
메모리, vCPU, 디스크등을 포함하여 인스턴스에 제공할 수 있는 가상화된 H/W 리소스 모음 지정
· 머신 유형의 조합을 통해서 사용자에게 맞는 최적 머신을 만들 수 있다.
사전 정의된 머신 유형
· Compute Engine에서는 사전에 정의함 머신 유형이 있다.
자신의 목적에 맞는 머신 유형을 선택하면 되고, 생성된 이후에도 언제든 머신 유형은 변경할 수 있다.
커스텀 머신 유형

범용(General Purpose) 인스턴스는 다양한 작업에 적합한 인스턴스 유형으로, 성능과 비용의 균형이 잘 잡혀 있다.
E2 인스턴스는 가용성이 높은 인스턴스 유형으로, 지속적으로 실행되며 중단되지 않는 안정적인 운영을 제공한다.

CPU 속도가 중요한 경우, 즉 CPU 연산이 빈번하게 발생하는 작업이 많다면, 범용 인스턴스보다는 컴퓨팅 최적화 인스턴스가 적합하다.
이는 CPU 성능이 중요한 작업에 맞춰 최적화된 인스턴스로, 더 높은 처리 성능을 제공한다.

메모리 최적화 인스턴스는 메모리 성능이 중요한 서비스를 제공할 때 적합하다.
특히 인메모리 데이터베이스(예: Redis)와 같은 경우, 데이터를 메모리에 저장하기 때문에 메모리의 성능과 용량이 매우 중요하다.
메모리 최적화 인스턴스는 이러한 상황에서 최상의 성능을 제공한다.

데이터베이스를 운영할 때, 스토리지 처리 속도는 매우 중요하다.
특히 대용량 데이터베이스에서는 빠른 읽기/쓰기 속도가 필요하기 때문에, 스토리지 성능이 좋은 인스턴스를 선택하면 데이터 처리 속도를 향상시킬 수 있다.
스토리지 처리 속도가 높으면 쿼리 성능이 좋아지고, 전체적인 시스템 응답 시간이 단축된다.
SSD나 NVMe 기반 스토리지를 사용하는 것이 이러한 상황에서 유리하다.

딥러닝 학습이나 AI 서비스 제공에서는 GPU가 매우 중요하다.
특히 이미지, 음성, 자연어 처리와 같은 작업에서 GPU는 학습 속도에 큰 영향을 미친다.
GPU를 사용하지 않으면 학습 시간이 길어지며, CPU만으로 학습하게 되면 시간이 더 오래 걸리고 비용도 증가하게 된다.
따라서 학습 시간을 단축하고 비용 효율성을 높이기 위해 GPU를 사용하는 것이 좋다.
특히 빠른 학습이 요구될 때 GPU를 활용하는 것이 효과적이다.
또한, 쿠버네티스 기반 환경에서는 컨테이너로 딥러닝 모델을 배포하거나 관리하는 것이 하나의 좋은 방법이 될 수 있다.
Compute Engine에서는 Google에서 제공하는 운영체제 Image를 사용하여 인스턴스 부팅 디스크를 만들 수 있고, 공개 이미지와 커스텀 이미지가 있다.
공개 이미지는 구글, 오픈소스 커뮤니티, 제 3자 공급업체에서 제공하고 관리한다.
기본적으로 모든 프로젝트에서 공개 이미지로 인스턴스를 만들 수 있다.
커스텀 이미지는 사용자의 프로젝트에서만 사용할 수 있는 이미지로 부팅 디스크 및 다른 이미지에서 커스텀 이미지를 생성한 다음에 해당 이미지를 이용하여 인스턴스를 만들 수 있다.
대부분 공개 이미지는 추가 비용이 없지만, 프리미엄 이미지의 경우 인스턴스에 추가 비용 발생
커스텀 이미지를 사용하는 경우 인스턴스에 추가 비용이 발생하지 않지만, 프로젝트에 커스텀 이미지를 유지하기 위한 이미지 저장 비용 발생
GCP에서 제공되는 OS 이미지를 사용하는 것은, 구글 클라우드가 제공하는 기본 이미지를 사용하는 것이다.
대부분의 공개된 이미지는 추가 비용이 없지만, Windows와 같은 유료 운영체제는 추가 비용이 발생한다.
기본적으로 리눅스 이미지는 무료로 제공되지만, 일부 PaaS(Platform as a Service) 유형의 이미지를 사용하면 비용이 발생할 수 있다.
따라서, 리눅스를 사용하면 대체로 무료이지만, 특정 상황에서는 유료가 될 수도 있다.