Notice
Recent Posts
Recent Comments
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

SYDev

[GCP Study] Chapter 5. Compute Engine 본문

GDGoC KHU 1th/Backend

[GCP Study] Chapter 5. Compute Engine

시데브 2025. 1. 6. 19:12

 

5.1. Compute Engine

  • Compute Engine: GCP에서 제공하는 가상 머신 서비스로, AWS의 EC2에 해당하는 서비스
  • 네트워크에 연결된 가상 서버를 제공
  • 전 세계에 위치한 데이터 센터들이 광섬유 네트워크로 연결
    • 단일 인스턴스에서 글로벌 부하 분산 클라우드 컴퓨팅으로 확장 가능
  • OS 이미지: Debian, CentOS, Ubuntu, SUSSE, Red Hat, Windows Server 등 지원
  • 라이브 이전 기능 제공

 

5.2. VM Instance

  • Linux, Windows 서버용 공개 이미지뿐만 아니라, 사용자가 만들거나 사용자의 기존 시스템에서 가져올 수 있는 비공개 커스텀 이미지도 실행 가능
  • 프로젝트에는 최대 5개의 VPC 네트워크를 가질 수 있음
  • 동일 네트워크에 위치한 인스턴스들은 local area network protocol로 서로 통신 가능
  • VM 또는 인스턴스 템플릿을 만들 때 Docker image로 시작할 수 있음

 

5.3. Machine 유형

  • 머신 유형은 메모리, vCPU, 디스크 등을 포함하여 인스턴스에 제공할 수 있는 가상화된 hardware resource 모음을 지정

5.3.1. 사전 정의된 머신 유형

 

5.3.2. 커스텀 머신 유형

  • vCPU 수와, 메모리 용량 등 머신 유형 설정 가능
  • 사전 정의된 머신 유형보다 비용이 약간 추가

 

5.4. 실시간 이전(Live Migration)

  • compute engine은 SW/HW update와 같은 호스트 시스템 이벤트가 발생하더라도, 인스턴스를 종료 및 재부팅할 필요 없이 계속 실행시키는 실시간 이전 기능을 제공
  • VM을 재부팅할 필요 없이 동일 영역에서 실행 중인 인스턴스를 또 다른 호스트로 라이브 이전
  • HW가 완전히 고장나거나 하는 이유로 실시간 이전이 불가능한 경우 -> VM 다운된 후 자동 재부팅(hostError로 로깅)
  • VM 자체의 어떠한 속성도 변경 X 
    • 내부 및 외부 IP wnth
    • 인스턴스 메타 데이터
    • 블록 Repository 데이터 및 볼륨
    • OS 및 application 상태
    • 네트워크 설정 및 연결

 

5.5. 선점형 VM 인스턴스(Preemptible VM Instances)

  • GCP 내에서 아무도 사용하고 있지 않은 resource를 사용함으로써, 일반 인스턴스보다 훨씬 저렴한 가격으로 생성
  • 제약 사항 존재
    • Compute Engine은 시스템 이벤트가 발생하면 언제든 선점형 인스턴스 종료 가능
    • 24시간 동안 실행한 후 종료
    • 한정된 Compute Engine은 resource이므로 사용하지 못할 수도 있음
    • 유지관리 이벤트 발생 시 Live Migration 지원 X
    • Google Compute Engine SLA에서 제외

 

5.6. 인스턴스 템플릿

  • 머신 유형, 부팅 디스크 이미지 또는 컨테이너 이미지, 영역, 라벨, 그 외의 속성 등을 이용하여 템플릿을 만들고, 이를 통해서 관리형 인스턴스 그룹이나 개별 VM 인스턴스 생성 가능
  • 기존 인스턴스 템플릿 변경 불가 -> 변경하려면 새로 만들어야 함
  • 영역, 지역에 영향 받지 않는 Global Resource -> but, 옵션 중 '영역 리소스'를 지정한다면 해당 리소스가 있는 영역으로 템플릿 사용 제한 가능

 

5.7. 인스턴스 그룹

5.7.1. 관리형 인스턴스 그룹

  • 별다른 설정 없이 오토 스케일링 지원
  • application 기반의 상태 확인을 이용하는 자동 복구 정책 설정 가능
    • application이 관리형 인스턴스 그룹에 제대로 응답하는지 주기적으로 확인
    • 문제 발생 시 -> 인스턴스 자동 재생성
  • 관리형 인스턴스 그룹 사용 시, 부하 분산 서비스인 Load Balancer를 붙여서 트래픽 분산
  • Rolling updateCanary update와 같은 유연한 롤아웃 시나리오 지원
  • 2가지 유형
    • 영역 관리형 인스턴스 그룹: 단일 영역에 인스턴스 배포
    • 리전 관리형 인스턴스 그룹: 동일 리전 내 여러 영역에 배포
      • application 부하를 여러 영역에 분산시켜 보다 높은 가용성 제공
      • 자연 재해 등의 문제로 특정 영역에 문제가 발생하더라도 높은 가용성 유지

5.7.2. 비관리형 인스턴스 그룹

  • 임의로 다른 구성을 가진 인스턴스를 추가하거나 제거 가능
  • 대신 오토스케일링, 자동 복구, 롤링 업데이트 지원, 인스턴스 템플릿 사용 제공 X

 

5.8. 전역(Global), 영역(Region)과 지역(Zone)

5.8.1. Global resources

  • 동일한 프로젝트 내의 모든 영역에 있는 모든 리소스가 접근 가능
  • Address: 전역 정적 외부 IP 주소 -> HTTP(S), SSL Proxy, TCP Proxy와 같은 전역 부하 분산 장치에 사용 가능
  • Images
  • Snapshots
  • Instance templates
  • VPC network
  • Firewalls
  • Routes: 특정 ip 범위로 향하는 트래픽 경로를 지정 가능
  • Global operations: 전역 리소스에서 작업을 이행하는 경우 전역 작업으로 간주

5.8.2. Region resources

  • 동일 지역 내의 모든 리소스가 접근 가능
  • Addresses: 지역 고정 외부 IP 주소
  • Subnets
  • Regional managed instance groups(지역 관리형 인스턴스 그룹)
  • Regional persistent disks(지역 영구 디스크)
  • Regional operations(지역 작업)

5.8.3. Zone resources

  • 영역에서 호스팅 되는 리소스
  • Instances
  • Persistent disks
  • Machine types
  • Zonal managed instance groups
  • Per-zone operations

 


참고자료

  • 구글 클라우드 플랫폼 뽀개기, 박정운 저, BJ 퍼블릭, 2019년 07월 31일