GCP(Google Cloud Platform)

1. GCP(Google Cloud Platform) 개요

1.1 GCP란?

  • Google이 제공하는확장성이 뛰어나고 안전하며 혁신적인 클라우드 컴퓨팅 서비스 플랫폼
  • 강력한 인프라, 혁신적인 기술, 다양한 서비스 포트폴리오를 바탕으로 모든 규모의 기업과 개발자에게 최적의 클라우드 환경을 제공함
  • Google의 글로벌 인프라를 기반으로 구축됨
  • 컴퓨팅, 스토리지, 네트워킹, 빅데이터, 머신러닝, IoT 등 다양한 클라우드 서비스 제공
    • 특히 데이터 분석, 머신러닝, 컨테이너 기술 분야에서 강력한 경쟁력을 가지고 있음
  • 전 세계의 기업과 개발자들이 혁신적인 솔루션을 구축하고 운영할 수 있도록 지원함
  • 기업의 디지털 전환과 혁신을 위한 핵심적인 플랫폼 역할을 수행함
  • 사용자는 인터넷을 통해 Google의 인프라, 머신러닝, 빅데이터, 네트워크, 저장소, 보안 등 서비스를 이용할 수 있음

1.2 기본 개념 및 주요 특징

  • 글로벌 인프라
    • GCP는 전 세계 여러 지역(Region)과 가용 영역(Zone)으로 구성된 강력한 글로벌 네트워크를 기반으로 함
    • 각 리전은 독립적인 지리적 위치
      • 전 세계에 위치한 데이터 센터를 기반으로 안정성(높은 가용성)과 빠른 응답성(낮은 지연 시간) 제공
      • 여러 개의 가용 영역으로 이루어져 높은 가용성과 재해 복구 능력을 제공함
    • Google의 강력한 인프라를 기반으로 애플리케이션을 쉽게 확장하고 안정적인 성능을 유지할 수 있음
  • 강력한 보안
    • Google의 보안 인프라와 지속적인 업데이트 제공
    • Google이 사용하는 것과 동일한 보안 기술을 적용하여 데이터와 애플리케이션을 안전하게 보호
  • 프로젝트
    • GCP의 모든 리소스는 프로젝트라는 논리적인 컨테이너 내에서 관리됨
    • 프로젝트는 과금, 권한 관리, 리소스 격리 등의 기본 단위를 제공함
  • 서비스
    • 100개 이상의 다양한 클라우드 서비스 제공
    • 서비스는 필요에 따라 조합, 확장 및 축소하여 사용할 수 있음
    • 웹사이트, 애플리케이션, 데이터 분석 시스템 등 다양한 솔루션의 구축에 활용됨
  • 오픈소스 및 사용자 친화적
    • Kubernetes, TensorFlow 등 오픈소스 기술에 기반하며
    • 주요 오픈소스 프로젝트를 적극적으로 지원하고 통합하여 개발 편의성을 높임
    • 웹 기반 콘솔, CLI, API 등 다양한 관리 도구를 제공하여 리소스 관리 및 자동화를 용이하게 함
  • 강력한 데이터 분석 및 AI/ML 기능
    • 대규모 데이터 처리 및 분석을 위한 강력한 도구와 머신러닝 모델 개발 및 배포를 위한 포괄적인 플랫폼 제공
    • 머신러닝 (Vertex AI, TensorFlow), 빅데이터 분석 (BigQuery, Dataflow), 컨테이너 기술 (Google Kubernetes Engine - GKE) 등 Google의 첨단 기술을 활용할 수 있음
  • 사용한 만큼 지불 (Pay-as-you-go)
    • 사용한 컴퓨팅 파워, 스토리지 용량, 네트워크 트래픽 등에 따라 비용을 지불하는 종량제 방식 중심 채택
      • 잘 운영할 경우, 비용 효율성 향상 가능
    • 일부 서비스는 무료 제공(월간 제한 있음)
    • 할인제도 지원
      • 지속 사용 할인(Committed Use Discounts)
      • 자동 할인(Sustained Use Discounts)
    • 종량제, 지속 사용 할인, 약정 할인 등 다양한 가격 옵션을 제공하여 비용 효율적인 클라우드 환경을 구축할 수 있음

1.3 주요 서비스 모델

  • 다양한 서비스 모델 제공 → 사용자의 요구 사항에 맞는 유연한 선택 가능

  • 서비스 모델

    • IaaS (Infrastructure as a Service)
      • 컴퓨팅 인스턴스(Compute Engine), 스토리지(Cloud Storage, Persistent Disk), 네트워킹(Virtual Private Cloud) 등 기본적인 IT 인프라를 클라우드 환경에서 제공
      • 사용자는 운영체제, 미들웨어, 애플리케이션 등을 직접 관리
    • PaaS (Platform as a Service)
      • 애플리케이션 개발, 실행 및 관리를 위한 플랫폼 제공
        • App Engine, Cloud Functions, Cloud Run
      • 개발자는 인프라 관리에 대한 부담 없이 애플리케이션 개발에 집중할 수 있음
    • SaaS (Software as a Service)
      • 클라우드 기반으로 제공되는 소프트웨어 애플리케이션을 구독 형태로 이용
        • Google Workspace 등
      • 사용자는 소프트웨어 설치, 업데이트, 인프라 관리 없이 애플리케이션을 사용할 수 있음

1.4 다양한 활용 사례

  • 웹/모바일 앱 호스팅
  • 데이터 분석 및 머신러닝
  • IoT 시스템 구축
  • 비디오 스트리밍 서비스
  • 게임 서버 운영

2. 주요 서비스 분야

2.1 컴퓨팅

  • 가상머신
    • Compute Engine: 가상 머신(VM) 인스턴스를 제공하는 IaaS 서비스
  • 컨테이너 관리
    • Kubernetes Engine(GKE): Kubernetes 클러스터 관리 서비스
  • 서버리스 컴퓨팅
    • Cloud Functions
    • Cloud Run: 컨테이너 기반의 서버리스 애플리케이션 실행
  • 애플리케이션
    • App Engine: 애플리케이션을 코드만으로 배포할 수 있는 PaaS 서비스

2.2 스토리지

  • 객체 스토리지
    • Cloud Storage: 객체 저장소 (대용량 파일, 이미지 등 저장용)
  • 블록 스토리지
    • Persistent Disk
  • 파일 스토리지
    • Filestore

2.3 데이터베이스

  • 관계형 데이터베이스
    • Cloud SQL: 관리형 관계형 데이터베이스 (MySQL, PostgreSQL 등)
    • Cloud Spanner
  • NoSQL 데이터베이스
    • Cloud Firestore / Datastore: 서버리스 NoSQL 데이터베이스
    • Cloud Bigtable: NoSQL 데이터베이스, 대규모 분석/IoT용

2.4 네트워킹

  • 가상 사설망
    • Virtual Private Cloud(VPC): 가상 네트워크 설정
  • 로드 밸런싱
    • Cloud Load Balancing: 글로벌 트래픽 부하 분산
  • 콘텐츠 전송 네트워크
    • Cloud CDN: 콘텐츠를 빠르게 전송하는 캐시 서비스

2.5 AI & 머신러닝

  • AI 플랫폼
    • Vertex AI: ML 모델 구축, 학습, 배포를 위한 통합 플랫폼
  • 자연어 처리
    • Natural Language API: 사전 훈련된 자연어 처리 API
  • 이미지/영상 분석
    • Vision AI: 사전 훈련된 이미지/영상 분석 API
  • 음성 인식
    • Speech-to-Text: 사전 훈련된 음성인식 API

2.6 빅데이터 및 분석

  • 데이터 웨어하우스
    • BigQuery: 초고속 SQL 기반 데이터 웨어하우스
  • 데이터 처리
    • Dataflow: 스트리밍 및 배치 데이터 처리
    • Pub/Sub: 메시지 큐 / 이벤트 처리 시스템
  • 데이터 통합
    • Cloud Data Fusion

2.7 IoT (Internet of Things)

  • IoT 플랫폼
    • Cloud IoT Core

2.8 개발자 도구

  • API 관리

  • CI/CD
    • Cloud Build
  • 소스 코드 관리
    • Cloud Source Repositories

2.9 관리 및 운영

  • 모니터링
    • Cloud Monitoring
  • 로깅
    • Cloud Logging
  • 구성 관리
    • Cloud Deployment Manager

2.10 보안 및 규정 준수

  • Identity and Access Management (IAM)

  • Cloud Security Command Center

  • 데이터 암호화

3. 비용 문제

  • GCP 사용 여부를 결정하는데 참고하기 위한 간략한 비용 정보

3.1 기본 원칙: 종량제

  • GCP는 대부분의 서비스에 대해 사용한 만큼만 비용을 지불하는 종량제 방식을 채택하고 있음(타 서비스도 거의 동일함)
  • 초기 투자 비용 없이 필요에 따라 서비스를 이용하고, 사용량을 줄이면 비용을 절감할 수 있음
  • 별도의 계약이나 해지 수수료가 없어 유연하게 사용할 수 있음

3.2 비용의 주요 결정 요소

  • 컴퓨팅 (Compute Engine)
    • 가상 머신 인스턴스의 종류, 사양 (CPU, 메모리), 사용 시간, 운영체제 등에 따라 시간당 또는 월별로 과금
  • 스토리지 (Cloud Storage, Persistent Disk 등)
    • 저장 용량, 데이터 저장 클래스 (Standard, Nearline, Coldline, Archive), 데이터 접근 빈도, 네트워크 트래픽 등에 따라 GB당 요금 부과
  • 네트워킹
    • 데이터 송수신량 (특히 외부로 나가는 트래픽), IP 주소 사용 등에 따라 요금이 발생
    • 내부 네트워크 트래픽은 일반적으로 무료
  • 데이터베이스 (Cloud SQL, Cloud Spanner 등)
    • 데이터베이스 인스턴스의 사양, 저장 용량, 트랜잭션 처리량 등에 따라 시간당 또는 월별로 과금
  • 데이터 분석 (BigQuery)
    • 저장된 데이터 양, 쿼리 실행량 등에 따라 비용 발생
  • 머신러닝 (Vertex AI 등)
    • 모델 학습 및 추론에 사용된 컴퓨팅 자원, 데이터 처리량 등에 따라 과금
  • 기타 서비스
    • Kubernetes Engine, Cloud Functions, Pub/Sub 등의 서비스는 각 서비스의 사용량에 따라 고유한 과금 방식을 가짐

3.3 비용 절감 방안

  • 무료 등급 (Free Tier)
    • 신규 고객에게는 일정 기간 동안 사용 가능한 크레딧 제공 (90일간 $300)
    • 일부 서비스는 항상 무료로 제한된 사용량을 제공
    • 이를 활용하여 초기 테스트 및 개발 환경을 구축할 수 있음
    • 참고: 무료 클라우드 기능 및 체험판 제공
    • 주의사항
      • Free Tier는 제한된 무료이므로
      • 사용 규모를 신중하게 따져서 관리하지 않으면 더욱 비싼 요금이 부과될 수 있음
      • 지원 범위 내에서 잘 활용한다면 비용부담없이 서비스를 이용할 수 있음
    • Computer Engine Free Tier
      • 가장 기반이 되는 서비스(가상 머신)
      • 사용 조건
        • 매월 1개의 비선점 e2-마이크로 VM 인스턴스 사용 가능
        • 생성지역(리전)은 다음에 한함
          • 오리건주: us-west1
          • 아이오와: us-central1
          • 사우스캐롤라이나주: us-east1
        • 사용 용량: 월 30GB의 표준 영구 디스크
        • 북미에서 모든 지역(중국 및 호주 제외)으로 아웃바운드 데이터 전송 시 매월 1GB까지
      • 무료등급 e2-micro 인스턴스의 사용한계는 인스턴스가 아닌 시간 기준
        • 매월 지원되는 총 시간이내라면 모든(실제로는 1개임) e2-마이크로 인스턴스를 무료로 사용할 수 있음
        • 사용 계산은 지원되는 지역 간에 통합되어 적용됨
      • Compute Engine 무료 계층은 외부 IP 주소에 대해 요금이 부과되지 않음(그러나 외부 IP주소 호스팅 업체가 부과할 것임)
      • GPU와 TPU는 무료 티어 혜택에 포함되지 않음(AI 모듈 등을 사용하기는 어려움)
        • VM 인스턴스에 추가하는 GPU와 TPU에 대해서는 항상 요금이 청구됨(GPU/TPU는 무조건 유료라는 뜻)
  • 지속 사용 할인 (Sustained Use Discounts, SUD)
    • 별도의 약정 없이 Compute Engine 가상 머신(VM) 인스턴스를 사용한 시간에 따라 자동으로 할인을 적용해 주는 비용 절감 방식
      • GCP Compute Engine을 꾸준히 사용할수록 자동으로 비용을 절감해 주는 기능
      • 별도의 설정 없이 장기간 VM을 운영할 계획이라면 유용함
    • 핵심 내용
      • 자동 적용
        • 별도의 신청이나 계약 없이,
        • VM 인스턴스를 일정 시간 이상 사용하면 자동으로 할인 혜택이 적용됨
      • 사용 시간 기반 할인율 증가
        • 한 달을 기준으로 인스턴스 사용 시간이 늘어날수록 할인율이 점진적으로 증가함
          • 월 25% 이상 사용 시점부터 할인 시작
          • 월 50%, 75%, 100% 사용 시 할인율이 더욱 높아짐
      • 최대 30% 할인
        • 한 달 내내(100%) 인스턴스를 실행한 경우, vCPU 및 메모리 비용에 대해 최대 30%까지 할인
      • 모든 머신 유형에 적용
        • 표준, 프리미엄, 커스텀 머신 유형 등 Compute Engine의 대부분 인스턴스 유형에 적용됨
      • GPU에도 적용
        • GPU 사용 시간에도 비례하여 할인이 적용됨
      • 매월 초기화
        • 할인율은 매월 초에 사용 시간 기준으로 다시 계산
  • 약정 사용 할인 (Committed Use Discounts, CUD)
    • 사용자가 특정 기간동안 컴퓨팅 리소스 사용량을 약정하고, 그 대가로 상당한 할인 혜택을 받는 비용 절감 프로그램

    • 약정 사용 할인의 핵심 개념:
      • 약정 기간
        • 1년 또는 3년 중 선택
        • 기간이 길수록 할인율이 높아짐
      • 약정 대상
        • 주로 Compute Engine의 vCPU 및 메모리
        • 특정 머신 유형이나 패밀리를 지정하여 약정할 수 있음
      • 선결제 의무 없음
        • AWS의 예약 인스턴스(Reserved Instances)와 달리, GCP의 약정 사용 할인은 선결제 의무가 없음
        • 약정한 시간당 사용량에 대해 할인된 가격으로 매월 청구됨
      • 지역별 적용
        • 약정은 특정 GCP 리전 내에서 적용됨
        • 따라서 사용할 리전을 정확히 파악하고 약정해야 함
      • 취소 및 변경 불가
        • 한번 약정을 구매하면 기간 중에는 취소하거나 변경할 수 없음
        • 따라서 신중하게 결정해야 함
    • 약정 사용 할인의 장점:
      • significant 비용 절감
        • 온디맨드 가격 대비 1년 약정 시 최대 28%, 3년 약정 시 최대 46%까지 할인
        • 장기적으로 안정적인 워크로드를 운영하는 경우 효과적
      • 예측 가능한 비용
        • 약정 기간 동안 할인된 가격으로 컴퓨팅 자원을 사용할 수 있어 클라우드 비용 예측이 용이
      • 간편한 적용
        • 약정 구매 후에는 자동으로 할인 혜택이 적용되므로 별도의 관리가 필요 없음
    • 약정 사용 할인 유형
      • 워크로드의 특성에 따라 두 가지 유형의 약정 사용 할인을 제공

        • 표준 약정 (Standard Committed Use Discounts)
          • 특정 머신 유형(예: n2-standard-4)과 리전을 지정하여 약정
          • 워크로드 요구 사항이 명확하고 변동이 적은 경우에 적합함
        • 가변형 약정 (Flexible Committed Use Discounts)
          • 특정 리전 내에서 vCPU 및 메모리 용량만 약정
          • 약정된 용량 내에서 다양한 머신 유형 및 인스턴스 크기를 유연하게 사용할 수 있음
          • 워크로드 변동성이 있거나, 어떤 머신 유형이 최적인지 확신하기 어려울 때 유용함
    • 약정 사용 할인 구매 시 고려 사항:
      • 워크로드 분석
        • 장기적으로 안정적으로 운영될 워크로드인지,
        • 필요한 컴퓨팅 자원 규모는 어느 정도인지 정확히 분석해야 함
      • 리전 선택
        • 워크로드를 실행할 GCP 리전을 신중하게 선택해야 함
        • 약정은 특정 리전에 종속됨
      • 약정 기간 결정
        • 예상되는 사용 기간을 고려하여 1년 또는 3년 약정을 선택
      • 비용 분석
        • 약정 할인으로 인한 비용 절감 효과와
        • 약정 기간 동안의 총 비용을 비교 분석하여
        • 경제성을 평가해야 함
  • 선점형 VM (Preemptible VMs)
    • 비교적 저렴한 가격으로 사용할 수 있는 가상 머신 인스턴스이지만, GCP에서 회수할 수 있음
    • 내결함성이 있는 워크로드에 적합함
  • 자동 확장 (Autoscaling)
    • 워크로드 변화에 따라 컴퓨팅 자원을 자동으로 조절하여 불필요한 자원 낭비를 막을 수 있음
  • 리소스 최적화
    • 사용하지 않는 리소스 삭제, 적절한 인스턴스 유형 선택, 스토리지 계층 최적화 등을 통해 비용을 절감할 수 있음
  • 비용 관리 도구
    • GCP 콘솔에서 제공하는 비용 분석 도구, 예산 설정, 알림 기능 등을 활용하여 비용을 효과적으로 관리할 수 있음

3.4 비용 예측 도구

  • GCP 가격 계산기 (Pricing Calculator):