본문 바로가기

Cloud-computing/GCP

[GCP]GCP Product cheat sheets - Compute, Storage

Compute

Compute Engine

  • VM instance 아래 gcloud option으로 스케줄링 가능
[--vm-start-schedule='START-OPERATION_SCHEDULE'] \\
[--vm-stop-schedule='STOP-OPERATION_SCHEDULE'] \\
  • snapshot
    • 삭제하는 snapshot에 dependent가 있는 경우
      • 다른 스냅샷을 복원하는 데 필요한 모든 데이터는 다음 스냅샷으로 이동되어 다음 스냅샷의 크기가 커진다
      • 다른 스냅샷을 복원하는데 필요하지 않는 데이터는 모두 삭제. 해당하는 데이터가 삭제되어 모든 스냅샷의 총 크기가 줄어듬
      • 다음 스냅샷은 삭제 표시된 스냅샷을 참조하지 않고 그 이전의 스냅샷을 참조
  • preemptible VM - 선점형 VM
    • lower cost than statndard vm (60~91%)
    • 24시간 뒤 자동 삭제
    • batch process 등 단시간에 실행되는 VM에 적합

Managed Instance Group (MIG)

  • update type
    • PROACTIVE
      • 모든 인스턴스 또는 일부 인스턴스에 새 구성을 자동으로 원격 설치
    • OPPORTUNISTIC
      • 자동 업데이트가 너무 중단되거나 업데이트를 더 구체적으로 제어하기 위함
      • 특정 인스턴스를 선택적으로 업데이트 가능
      • 긴급하지 않고 필요에 따라 적용할 수 있는 중요하지 않은 업데이트가 있는 경우
      • only new VM instances has updated application running inside them.
  • The way to create
    1. Create a disk snapshot of running VM instance
    2. Create an Image from this snapshot
    3. Create an instance template which use this new image
    4. Create a Managed Instance group that use this new instance template
    5. Configure autoscaling in Managed Instance Group

Unmanged Instance Group (UIG)

  • 이종 인스턴스 그룹에 부하 분산을 적용하는 경우
  • 인스턴스를 직접 관리해야 하는 경우

Shielded VMs

Sole-Tenant-Node

  • 한 프로젝트의 VM만 물리적 Compute Engine 서버인 단독 테넌트 노드에 독점적으로 액세스할 수 있다.
  • 물리적 분할

Kubernetes Engine (GKE)

  • 기존 클러스터에 대한 모니터링 및 로깅 구성 가능
  • Binary Authorization
    • 신뢰할 수 있는 컨테이너 이미지만 Google Kubernetes Engine(GKE) 또는 Cloud Run에 배포되도록 하는 배포 시간 보안 제어
  • GKE service is PCI DSS compliant.
  • Public endpoint access enabled, authorized networks enabled: creates a private cluster with limited access to the public endpoint.
  • GKE cluster supports horizontal autoscaling both in terms of node and pods.
  • Command
    • 클러스터 크기 조절: gcloud container clusters resize CLUSTER_NAME --node-pool POOL_NAME --num-nodes NUM_NODES

App Engine

  • type
    • Standard
      • Can’t use Cloud VPN to connect to an on-premises network unless we also set up serverless VPC access connectors
      • Scale-to-zero (O)
    • Flexible
      • Scale-to-zero (X, It needs at least 1 instance)
      • Compute Engine 네트워크에 있는 Google Cloud 프로젝트의 리소스 또는 서비스에 액세스합니다.
      • 서버리스 VPC 액세스 지원 하지 않음
      • 커스텀 런타임 또는 기타 프로그래밍 언어로 작성된 소스 코드가 포함된 Docker 컨테이너에서 실행되는 경우
  • Less operation overhaed as compare to any other option
  • It can scale down to zero instance in case of no activity
  • It can scale up in seconds to meet application traffic demand.
  • Serverless
  • App Based
  • ensure availability as well
  • Not support C++
  • 트래픽 분할 가능(traffic splitting feature)
    • 서비스 내 두 개 이상에 트래픽 분산 비율을 지정할 수 있다.
    • 버전 간 A/B 테스트를 할 수 있으며, 기능을 배포할 때 속도를 제어할 수 있다.
    • 특정 버전을 명시적으로 대상으로 하지 않는 URL에 적용된다.

Cloud Functions

  • Serverless
  • Function Based
  • Event driven
  • Not support C++

Cloud Run

  • Container
  • Reduce runtime
    • Use a slimmed-down base image like Alpine Linux
    • Copy the source after he package dependencies (python and pip) are installed

Firebase

  • Highly managed
  • Mobile
  • HTML5

Storage

Local SSD disk

  • Very fast in terms of IO
  • persistent disk or GCS fuse is slow as compare to local disk

Cloud Storage

  • Backup
    • Write a lifecycle management rule in JSON and push it to the bucket with gsutil
  • It is Object database so it can be used to all backup like boot volume, data volume, pictures and application logs.
  • exponential backoff: 작업이 실패할 경우 지연 기간을 늘림
  • Good for
    • Image, Video, pictures / object and blobs / Unstructured data
  • High Availability option 있음
  • Multi-Regional
    • HA → multiple Multi-Regional Cloud Storage buckets, one bucket per multi-region
  • Regional
  • Standard - standard
    • 단기 스토리지 및 자주 액세스하는 데이터에 적합
  • Nearline - once a month
    • 백업 및 월 1회 미만 액세스하는 데이터
    • 저비용, 데이터 보관, 백업
  • Coldline - once a quarter
    • 재해 복구 및 분기당 1회 미만 액세스하는 데이터
  • Archive - once a year
    • 연 1회 미만 액세스하는 데이터의 디지털 장기 보존에 적합
  • Transfer Appliance: 대규모 데이터 전송에 사용
    • Transfer appliance can not be used to transfer files in realtime to GCP for enabling failover.
    • decrypt the data in Cloud Storage using a transfer appliance rehydrator
  • Singed urls: 제한된 시간 동안 액세스 권한을 부여하는 서명된 URL
    • It can be leaked
    • Google 계정이 있는지 여부에 관계없이 서명된 URL을 가진 사람은 누구든지 활성 URL을 사용할 수 있습니다.
    • Signed URLs contain authentication information in their query string, allowing users without credentials to perform specific actions on a resource.
  • It is slower than CDN in serving content
  • raw data in Cloud Storage bucket and then creating data processing pipeline using this raw data as input.

Persistent Disk

  • regional persistent disk, data is automatically copied in mulitiple zone
  • You can migrate petabytes of data storage from a SAN
  • --no-auto-delete flag: Will not be delete on VM termination.Dataprep
  • performance is based on the total persistent disk capacity to an instance and the number of vCPUs that the instance has
  • You can only resize a persistent disk to increase its size. You cannot reduce the size of a persistent disk.
    • command with resize2fs
  • You can resize disks at any time, whether or not the disk is attached to a running VM.

Cloud Storage for Firebase

  • Mobile SDKs
  • It is not data structured

Filestore

  • 일부 파일 시스템은 POSIX 클라이언트 사용
  • Filestore 인스턴스는 Compute Engine 가상 머신(VM) 인스턴스 또는 Google Kubernetes Engine 클러스터에서 실행되는 애플리케이션에서 사용할 수 있는 Google Cloud의 완전 관리형 NFS 파일 서버입니다.
  • 사용되지 않더라도 할당된 스토리지 용량에 대한 요금이 청구됩니다.
  • 데이터 분석
  • 렌더링 및 미디어 처리
  • 애플리케이션 마이그레이션
  • 웹 콘텐츠 관리
  • 확장/축소
    • 기본 등급 인스턴스의 크기는 생성된 후 확장만 할 수 있으며, 엔터프라이즈 및 대규모 등급 인스턴스의 크기는 확장 또는 축소할 수 있습니다
  • 등급
    • Filestore Basic(HDD 및 SSD)
      • 파일 공유, GKE, 소프트웨어 개발, 웹 호스팅
      • 1~63.9TiB(HDD)
      • 2.5~63.9TiB(SSD)
    • Filestore Enterprise
      • 중요한 애플리케이션(예: SAP), Compute Engine, GKE 워크로드
      • 1~10TiB
    • Filestore High Scale
      • 게놈 시퀀싱, 금융 서비스 거래 분석, 기타 고성능 워크로드를 포함한 고성능 컴퓨팅
      • 10~100TiB
  • 공유 VPC 네트워크에서 인스턴스를 만드는 경우 비공개 서비스 액세스 사용 설정이 필요
  • Cloud Storage와 데이터 복사 가능