🧠 Cloud Functions란 ?

  • Cloud Functions는 구글 클라우드에서 제공하는 서버리스 컴퓨팅 서비스

 

 

※ 서버리스란 ?

  • 사용자가 직접 서버를 관리하지 않아도 되는 환경
  • 코드를 작성해서 업로드만 하면 구글이 알아서 실행할 때 필요한 서버를 띄워주고 일 끝나면 없애버림

 


💡기본 작동 원리

  • 함수 : Cloud Functions는 “작은 프로그램” 즉, 함수 단위로 코드를 올림
  • 이벤트 기반  
    • 특정 이벤트가 발생할 때 함수가 실행
      HTTP 요청이 오거나 파일이 저장되거나 데이터베이스에 변화가 생기는 경우 등
  • 자동 실행 및 확장
    • 이벤트가 발생하면 구글이 함수 실행 환경을 만들어서 코드를 실행함
    • 요청이 많아지면 자동으로 여러 개의 함수 인스턴스를 띄워서 처리함
  • 자동 종료
    • 요청이 없으면 인스턴스는 자동으로 종료되어 비용이 발생하지 않음

 

→ HTTP 요청 받으면 "Hello World" 응답하는 코드 작성

exports.helloWorld = (req, res) => {
  res.send('Hello, World!');
};

 

gcloud 명령어로 함수 배포

gcloud functions deploy helloWorld --runtime nodejs18 --trigger-http --allow-unauthenticated

# --runtime은 언어 버전,
# --trigger-http는 HTTP 요청이 이벤트라는 뜻,
# --allow-unauthenticated는 인증 없이 호출 허용 옵션.

 

→  트리거 이벤트 설정

HTTP 요청 (웹 서비스, API)
Cloud Pub/Sub 메시지 (메시지 큐)
Cloud Storage 파일 업로드
Firebase 이벤트 등 다양하게 설정 가능

 

→ 함수 실행

벤트 발생 → 함수가 컨테이너(임시 서버)에서 실행 → 결과 반환
요청이 많으면 여러 컨테이너 만들어 병렬 실행 → 요청 적으면 컨테이너 종료

 

 


📍특징


서버리스 서버 관리 필요 없음
이벤트 기반 실행 다양한 이벤트 트리거 지원
자동 확장 트래픽에 따라 자동으로 인스턴스 늘림/줄임
무제한 확장성 매우 많은 요청도 처리 가능
빠른 배포 코드만 작성하면 바로 업로드 후 실행 가능
종량제 비용 사용한 만큼만 비용 지불, 유휴 시 비용 0

 

'Cloud > GCP' 카테고리의 다른 글

BigQuery 란 ?  (1) 2025.06.24
GCP 기본 구조  (1) 2025.06.24
Google Cloud Platform 서비스#2  (2) 2025.06.24
GKS(Google Kubernetes Engine) 란 ?  (1) 2025.06.18
Google Cloud Platform 서비스#1  (0) 2025.06.18

 

BigQuery = 구글에서 만든 완전 관리형 데이터 웨어하우스

 

👉 엄청 큰 데이터(테라~페타급)를 빠르게 SQL로 분석할 수 있게 만든 서비스

 

  • 빅데이터 분석 전용 (SQL로 쿼리 가능)
  • 저장소 + 분석 엔진이 결합된 구조
  • 대량 데이터 읽기, 필터링, 그룹핑 등을 초고속으로 처리
  • 인프라 설정 필요 없음 → 자동으로 확장
  • 거의 실시간에 가까운 쿼리 처리

BigQuery 기본 사용법

 

📌 BigQuery의 핵심 구조

프로젝트(Project)
  └─ 데이터셋(Dataset)
        └─ 테이블(Table)
 
  • 프로젝트: GCP에서 과금 단위 + 리소스 묶음 단위
  • 데이터셋: 테이블들을 그룹핑하는 폴더 같은 역할
  • 테이블: 실제 데이터가 저장되는 곳
  • 뷰(View): SELECT 쿼리를 저장해 둔 가상 테이블

 


📌 기본 흐름

 

1️⃣ 데이터셋 생성

  • 콘솔에서 Dataset 생성 버튼 클릭
  • 이름만 정하면 됨

 

2️⃣ 데이터 테이블 로드

  • CSV, JSON, Parquet, Avro 등 다양한 포맷 지원
  • Load Table 선택 → Cloud Storage에 업로드된 파일 선택
  • 스키마 자동 감지 or 직접 정의 가능

 

3️⃣ SQL 쿼리 실행

  • BigQuery 콘솔 상단에서 New Query 클릭
  • SQL 작성 후 Run
SELECT name, age
FROM `my_project.my_dataset.my_table`
WHERE age > 30;

 

 


✅  Cloud SQL과 BigQuery의 차이

 

특징 Cloud SQL BigQuery
목적 OLTP (온라인 트랜잭션 처리, 앱 DB) OLAP (대용량 분석)
규모 GB ~ TB급 TB ~ PB급
쿼리 언어 SQL SQL
사용 사례 사용자 로그인, 주문 기록 비즈니스 리포트, 데이터 탐색
속도 실시간 응답, 작은 쿼리 적합 대규모 데이터 빠른 집계 적합
 

👉 Cloud SQL은 앱/웹의 작은 데이터 저장 & 트랜잭션에 좋고
      BigQuery는 분석 전용으로 큰 데이터 통계/집계에 최적화되어 있음

 

 


마이그레이션 절차

 

STEP 1 : 원본 데이터 추출

  • 기존 DB, 파일 시스템 등에서 CSV/JSON/Parquet 등으로 export
  • 예 : MySQL dump, 데이터 웨어하우스 export 등

 

STEP 2 : Cloud Storage에 업로드

  • 대용량 파일은 직접 BigQuery로 올리면 속도/오류 문제 발생
  • GCS(Google Cloud Storage)에 먼저 업로드 후 BigQuery로 불러오는 게 안정적

 

STEP 3 : BigQuery로 로드

  • 콘솔에서 Load Table 실행 → Cloud Storage 선택 → 포맷, 스키마 설정 → 로드 실행
  • CLI도 가능
bq load --source_format=CSV my_dataset.my_table gs://my_bucket/myfile.csv

 

 

STEP 4 : 쿼리 테스트

  • 테이블 정상 로드되면 SELECT 쿼리로 샘플 데이터 확인
  • 데이터 품질 검수

 

STEP 5 : 자동화

  • 데이터가 매일 바뀌면 Cloud Storage 업로드 + BigQuery Load를 자동화 → Dataflow, Cloud Composer, Scheduler로 스케줄링

 

 

'Cloud > GCP' 카테고리의 다른 글

Cloud Functions란 ?  (2) 2025.07.21
GCP 기본 구조  (1) 2025.06.24
Google Cloud Platform 서비스#2  (2) 2025.06.24
GKS(Google Kubernetes Engine) 란 ?  (1) 2025.06.18
Google Cloud Platform 서비스#1  (0) 2025.06.18

 1) GCP의 기본 구조

 

 

📍 Region (리전)

 

리전은 물리적으로 한 지역에 위치한 데이터센터의 집합

  • asia-northeast3 → 한국 리전 (서울)
  • asia-northeast1 → 일본 도쿄 리전
  • 하나의 리전에는 여러 개의 Zone이 포함

 


📍 Zone (존)

 

  • Zone은 하나의 데이터센터 또는 하나의 데이터센터 그룹
  • GCP에서는 일반적으로 한 리전에 최소 3개 이상의 Zone이 존재
    • 일반적으로 A, B, C로 부름
  • Zone끼리는 서로 물리적으로 분리되어 있어 같은 리전 내에서도 장애가 Zone 단위로 나눠짐
    • ex) asia-northeast3-a, asia-northeast3-b, asia-northeast3-c

 


📍 Region > Zone

 

  • 구조
[멀티 리전] > 여러 Region > 각 Region은 여러 Zone

 

멀티 리전 (Asia)
  ├─ Region: 한국 (서울) ├─ Zone A, B, C
  ├─ Region: 일본 (도쿄) ├─ Zone A, B, C
  ├─ Region: 일본 (오사카) ├─ Zone A, B, C
 

 

2) 멀티 리전(Multi-Region)

 

  • 멀티 리전은 여러 리전을 묶은 더 큰 단위
    • ex) asia → 아시아 멀티 리전 = 도쿄, 오사카, 서울 포함 가능
  • GCP의 일부 서비스(BigQuery, Cloud Storage Multi-Regional Bucket 등)는 멀티 리전으로 데이터 중복 저장 가능
  • 목적 : 리전 단위로 장애가 나도 다른 리전이 서비스 유지

 


3) 고가용성(HA) 설계 : 싱글 인스턴스 vs 멀티 존 vs 멀티 리전

 

▶️ 싱글 인스턴스 (=단일 서버)

  • 가장 저렴
  • 단일 Zone, 단일 VM
  • Zone 장애만 나도 서비스 중단
  • 다운타임 감수 가능 + 비용 절감 원할 때 사용

 

▶️ 멀티 AZ (=이중화 서버)

  • 같은 리전 내 여러 Zone에 인스턴스를 복제
  • Zone 장애가 발생해도 다른 Zone 인스턴스가 takeover (스페어 서버 역할)
  • Managed Instance Group (MIG) → 자동으로 인스턴스 분산 배치

 

▶️ 멀티 리전

  • 리전 자체가 완전 불능이 되어도 다른 리전이 서비스 takeover
  • ex : 서울 리전 장애 → 도쿄 리전이 대신 서비스
  • 비용이 가장 높지만 가용성이 최고

 


4) Takeover, Spare 서버 

 

✔️ Spare Server

  • 장애 시 트래픽을 takeover 할 예비 서버
  • ex : 같은 리전 내 Zone B가 죽으면 Zone C의 예비 서버가 takeover

 

✔️ Takeover

  • 장애 시 예비 인스턴스/리전이 자동으로 트래픽을 가져와 서비스 지속

 

더보기

Multi-Region > Region > Zone 

# Multi-Region  
- 여러 리전에 걸쳐서 제공되는 서비스
- 하나의 리전에 장애가 발생해도 서비스에 영향이 없음

# Regional Servion
- 단일 리전 내에 여러개의 존에 걸쳐서 제공되는 서비스
- 하나의 존에 장애가 발생해도 서비스 영향 없음

# Zone Service 
- 특정 존내에서 제공되는 서비스
- 존 장애 발생 시 서비스 영향 존재

 


🗂️ 정리 요약


Zone 데이터센터 (A, B, C)
Region 여러 Zone 포함
Multi-Region 여러 Region 묶음
Spare Server 장애 시 takeover 역할
Takeover 예비 리소스가 장애 리소스를 대체
 

 

'Cloud > GCP' 카테고리의 다른 글

Cloud Functions란 ?  (2) 2025.07.21
BigQuery 란 ?  (1) 2025.06.24
Google Cloud Platform 서비스#2  (2) 2025.06.24
GKS(Google Kubernetes Engine) 란 ?  (1) 2025.06.18
Google Cloud Platform 서비스#1  (0) 2025.06.18

 



 

 

 


Compute  = 서버를 의미

 

⭐️ Compute Engine (=VM)

  • GCP의 IaaS (Infrastructure as a Service) 서비스
  • 물리 서버 대신 가상 머신(VM)을 원하는 스펙으로 만들어 사용 가능
  • 자동 스케일링, 로드밸런싱, 사전예약(VM Preemptible) 등으로 비용 절감
  • PCA 시험에서는 VM 배포, 고가용성(HA) 아키텍처, 디스크 종류(Persistent Disk, Local SSD) 선택, 자동복구 설정 등을 자주 물어봄

 

⭐️ Google Kubernetes Engine (GKE)

  • GCP의 Kubernetes 클러스터 관리 서비스
  • 컨테이너화된 앱을 자동으로 배포, 스케일링, 관리할 수 있음
  • GKE의 Node Pool, Pod Autoscaling, LoadBalancer 연계, RBAC 보안 설정 등 실무 시나리오로 출제
  • PCA에서는 GKE vs Compute Engine 선택 이유, 워크로드 이관, CI/CD 파이프라인 연계 등이 잘 나옴

 


Serverless 

 

⭐️ Cloud Functions (=함수를 실행)

  • 단일 목적 함수 실행에 최적화된 Event-driven 서버리스 컴퓨팅
  • Pub/Sub, Storage, Firestore 등에서 이벤트가 발생하면 자동으로 함수가 실행
  • 인프라 관리 필요 없음, 짧은 코드로 빠르게 배포 가능
  • 시험에서는 Functions의 트리거 설정, 보안(Identity), 로깅 처리, 비용 최적화 등을 물어봄

 

⭐️ Cloud Run (=이미지를 실행)

  • Docker 컨테이너를 서버리스 방식으로 실행하는 서비스
  • Cloud Functions와 달리 REST API 서버, HTTP 서버 등 컨테이너 기반 앱을 자유롭게 배포 가능
  • 자동 스케일링, Zero to N 인스턴스 처리
  • 시험에서는 Cloud Run vs App Engine 비교, 무중단 배포, 인증 설정(IAM) 등을 물어봄

 

⭐️ App Engine

  • 완전 관리형 PaaS
  • 코드만 올리면 빌드/배포/스케일링 자동 처리
  • Standard / Flexible 환경 선택 가능
  • 시험에서는 App Engine의 Autoscaling, Traffic Splitting, 버전 관리, VPC 연결 설정 등을 잘 물어봄

 


Analytics 

 

⭐️ BigQuery

  • GCP의 대표적인 서버리스 데이터 웨어하우스
  • 대용량 데이터에 대해 SQL 쿼리로 분석 가능
  • Pay-per-query(스캔한 데이터 만큼 비용 청구)
  • Partitioning, Clustering, Materialized View, BI Engine 등 고급 기능 출제 많음
  • Dataflow, Dataproc, Pub/Sub와의 연계 흐름도 자주 나옴.

 

⭐️ Cloud Composer

  • Managed Apache Airflow
  • 데이터 파이프라인 워크플로우를 작성하고 스케줄링
  • 시험에서는 ETL 파이프라인, Cross-Region 실행, GCS/BigQuery 연계 등이 잘 나옴
  • Data Pipeline Orchestration 문제에서 출제됨

 

⭐️ Pub/Sub

  • GCP의 대표적인 메시징 큐 서비스
  • Publisher → Topic → Subscriber 모델
  • 실시간 스트리밍 데이터 처리, IoT 데이터 수집, 이벤트 기반 아키텍처 설계에서 자주 사용
  • 시험에서는 메시지 순서보장, 중복 방지, Dead Letter, Pull vs Push 등 출제

 

⭐️ Dataproc

  • Managed Hadoop, Spark, Hive 클러스터 서비스
  • 데이터 처리를 위해 배치 및 스트리밍 워크로드를 분산 처리
  • 클러스터 사이즈 조절, Preemptible VM 활용 비용 절감, Cloud Storage 연계 등 시나리오 문제로 자주 등장

 


 

 

 


Networking (네트워킹)

 

⭐️ Cloud Armor

  • GCP의 웹 애플리케이션 방화벽(WAF)
  • DDoS 방어, IP 차단/허용, OWASP 룰셋 제공
  • 시험에서는 Armor 정책 설정, 특정 리전/국가 차단, Load Balancer와 연계 시나리오가 자주 나옴

 

⭐️ Cloud CDN

  • GCP의 콘텐츠 전송 네트워크(CDN)
  • Static 콘텐츠 캐싱으로 latency 감소
  • Backend 서비스와 결합, SSL, Cache Key 설정
  • 시험에선 비용 최적화, TTL, Cache Invalidation 잘 나옴

 

⭐️ Cloud DNS

  • 관리형 도메인 이름 해석 서비스
  • 높은 가용성, Anycast IP 제공
  • 레코드 타입 설정, Routing Policy, Private DNS Zone 출제

 

⭐️ Cloud Interconnect 

  • 온프레미스 ↔ GCP 연결 전용선 (클라우드)
  • Dedicated vs Partner Interconnect 차이 중요
  • 대역폭, SLA, HA 구성 시험 단골

 

⭐️ Cloud Load Balancing (고가용성 = L4스위치 역할)

  • 글로벌 Load Balancer
  • L7 (HTTP(S)) / L4 (TCP/UDP) 지원
  • Autoscaling, SSL Proxy, Backend Health Check 출제

 

⭐️ Cloud Routes

  • VPC 내부 트래픽 경로 설정
  • Default Route, Custom Route, Priority, Next Hop 설정 문제

 

⭐️ Cloud Router

  • BGP를 통해 온프레미스와 동적 라우팅
  • Interconnect/VPN과 함께 사용
  • Dynamic Routing Mode (Regional vs Global) 시험 빈출

 

⭐️ Cloud VPN

  • 온프레미스 ↔ VPC 간 암호화 터널
  • Site-to-Site IPsec VPN
  • High Availability VPN, Dynamic Routing과 연계

 

⭐️ Partner Interconnect

  • 타사 파트너 제공 전용선
  • Dedicated Interconnect보다 저비용, 설치 용이
  • SLA 차이와 요금 계산 문제

 

⭐️ Virtual Private Cloud (VPC)

  • GCP 네트워크 기본 단위
  • Subnet, Firewall, Peering, Shared VPC 중요
  • Custom Mode vs Auto Mode, Private Google Access 출제

 

 


Databases (데이터베이스)

 

⭐️ Cloud Bigtable

  • 대규모 NoSQL Column Family DB
  • IoT, 시계열 데이터 저장에 적합
  • HBase API 호환, 고속 쓰기
  • Read/Write Throughput tuning 문제 자주 나옴

 

⭐️ Cloud Spanner

전세계에 똑같은 DB 생성, 어디서 접속하든 레이턴시 일관되게 유지

  • 분산 SQL DB, 글로벌 ACID 트랜잭션 지원
  • Horizontal Scaling
  • Multi-region Instance, Strong vs Bounded Staleness Consistency 자주 출제

 

⭐️ Cloud SQL

  • 관리형 RDB (MySQL, PostgreSQL, SQL Server)
  • 자동 백업, High Availability, Read Replica
  • Failover 설정, 연결 보안 시험에 자주 등장

 

⭐️ Datastore

  • NoSQL Document DB
  • 강력한 트랜잭션, 유연한 스키마
  • Firestore in Datastore Mode와 차이 중요

 

⭐️ Memorystore

  • Redis, Memcached 인메모리 캐시
  • 세션 관리, 캐싱, 빠른 응답
  • High Availability, Persistence 설정 시험 단골

 


 

※ CI/CD 는 DEV 자격증에서 출시 되는 부분임으로 참고

 


Operations (운영)

 

⭐️ Cloud Logging

클라우드의 모든 로그 확인 가능한 서비스

  • GCP 리소스 및 애플리케이션 로그 수집/검색/저장
  • Stackdriver Logging의 진화 버전
  • Audit Log, User Log, System Log로 구분됨
  • PCA에서는 로깅 보존 기간, Sink를 통해 BigQuery로 내보내기, 경고(Alerting) 연결 문제 자주 나옴

 

⭐️ Cloud Monitoring

  • 리소스 상태, 메트릭 모니터링 대시보드 제공
  • Custom Metric, Uptime Check, Alert Policy 설정
  • Logging과 함께 연계해 알림 규칙 생성
  • 시험에서는 SLA 모니터링, Notification Channel 설정, SLO(Service Level Objective) 관리 출제

 

 


Integration Services (통합 서비스)

구글 클라우드를 자동화 시키고 편리하게 하기 위한 기능

⭐️ Cloud Scheduler

  • 크론 잡(Cron Job) 같은 역할
  • 정해진 시간에 Pub/Sub, HTTP Endpoint, App Engine Task Queue 호출 가능
  • Serverless 환경에서 반복 작업 예약
  • 시험에서는 주기적 ETL 파이프라인 트리거, Functions/Run 호출 자동화 시나리오로 출제

 


 

 


Storage (스토리지)

 

⭐️ Cloud Storage (=오브젝트 스토리지)

  • GCP의 대표적인 객체 스토리지 (Amazon S3와 유사)
  • Standard / Nearline / Coldline / Archive 클래스로 비용 최적화 가능
  • 버킷 정책(IAM/ACL), Lifecycle Policy, 버전 관리, MFA Delete, Object Lifecycle Rules 출제
  • 시험에서는 데이터 백업, DR 설계, 지역간 복제(Multi-Regional) 시나리오 자주 나옴

 

 


Hybrid and Multicloud

 

⭐️ Anthos

  • 멀티클라우드/하이브리드 Kubernetes 관리 플랫폼
  • 온프레미스, AWS, Azure, GCP 클러스터를 하나의 콘솔로 운영 가능
  • Service Mesh, Config Management, 정책 통합
  • 시험에서는 On-prem ↔ GCP 클러스터 연동, GKE와 비교, 보안 정책 관리 등 시나리오 출제

 

 


Security (보안)

 

⭐️ Identity & Access Management (IAM)

  • GCP 보안의 핵심 : 누가 어떤 리소스에 어떤 역할(Role)을 가지고 있는지 관리
  • 기본 역할(Owner, Editor, Viewer), 사전 정의 역할, 커스텀 역할
  • Service Account 권한 부여, Least Privilege 원칙 준수 문제 단골
  • 시험에서는 리소스 계층(조직, 폴더, 프로젝트)별 역할 상속, Audit Log 연계, Principal of Least Privilege 시나리오 출제

 


 

 

 


Migration (마이그레이션)

온프레미스에서 사용하던 시스템을 클라우드로 이관해서 사용

 

⭐️ Storage Transfer Service

  • 클라우드 간 데이터 이동 자동화 도구
    • On-premise ↔ GCS, AWS S3 ↔ GCS 등 다양한 경로 지원
  • 주기적 전송(스케줄링), 증분 복사, 파일 필터링 가능
  • 시험에서는 데이터 레이크 이전, 대용량 데이터 마이그레이션, 스케줄링 백업 시나리오로 출제

 


2) AI and Machine Learning (AI & ML)

 

⭐️ Vertex AI (원툴이라고 생각하면 됨)

GCP의 통합 머신러닝 플랫폼

  • AutoML + 커스텀 모델 훈련/배포/모니터링까지 한 콘솔에서 제공
  • 데이터 준비 → 모델 빌드 → 모델 배포 → 예측까지 End-to-End 관리
  • 시험에서는 AutoML vs Custom Training, Feature Store, Pipelines, 모델 모니터링 시나리오 자주 출제 PCA에서는 Vertex AI의 통합 관리 흐름, AutoML과의 관계, 비용 최적화가 중요

'Cloud > GCP' 카테고리의 다른 글

BigQuery 란 ?  (1) 2025.06.24
GCP 기본 구조  (1) 2025.06.24
GKS(Google Kubernetes Engine) 란 ?  (1) 2025.06.18
Google Cloud Platform 서비스#1  (0) 2025.06.18
[GCP#4] Compute Engine Create / IAP  (0) 2025.06.15

GKE (Google Kubernetes Engine) 개요

 

GKE는 Google Cloud에서 제공하는 관리형 Kubernetes 클러스터 서비스


핵심 특징

  • 자동화: 클러스터 배포, 업그레이드, 모니터링, 스케일링 등을 Google이 관리
  • 보안성: Google의 인프라 보안 모델과 통합되어 안전한 클러스터 운영 가능
  • 유연성: 멀티 클라우드 및 하이브리드 환경 지원(GKE Autopilot, Anthos 등과 연계)
  • 효율성: 필요할 때만 노드를 스케일링하고 비용 최적화 가능

 



🗂️ 일반적인 GKE 사용

 

 

1️⃣ 클러스터 생성

  • GCP 콘솔 또는 gcloud CLI로 생성
  • Autopilot 모드와 Standard 모드 중 선택

2️⃣ 노드풀 구성

  • 워커 노드 그룹 설정 (머신 타입, 크기, Autoscaling)

3️⃣ 애플리케이션 배포

  • kubectl 사용해서 Deployment, Service, Ingress 등 Kubernetes 리소스 관리

4️⃣ 모니터링 및 로깅

  • Stackdriver Logging & Monitoring과 연계
  • Pod 상태, 리소스 사용량 모니터링

5️⃣ 보안 및 IAM

  • RBAC 설정, 네트워크 폴리시, Secret 관리

 

※ 표로 간편하게 정리

1️⃣ 클러스터 생성 GCP Console 또는 gcloud CLI 사용
2️⃣ 노드풀 구성 머신 타입, Autoscaling, Preemptible 설정
3️⃣ 애플리케이션 배포 kubectl apply 로 YAML 배포
4️⃣ 외부 노출 LoadBalancer 서비스 or Ingress Controller 설정
5️⃣ 모니터링/로깅 연동 Stackdriver Monitoring, Logging
6️⃣ 권한 관리 RBAC, IAM, Service Account 연계
 

 

핵심 요약

 

  • GKE(Google Kubernetes Engine) 는 Google Cloud에서 제공하는 관리형 Kubernetes 서비스
  • 클러스터 생성부터 노드풀 관리, Auto Scaling, 모니터링, 보안까지 Google이 관리 → 사용자는 워크로드에 집중
  • Autopilot 모드 vs Standard 모드
    • Autopilot (자동 모드) : Google이 노드를 자동으로 관리, 운영 부담 ↓
                       즉, 관리형 쿠버네티스 제품으로 클라우드에서 쉽고 간단하게 컨테이너 환경을 관리 할 수 있도록 하는 서비스
    • Standard (표준 모드) : 노드 설정과 관리까지 사용자가 직접, 더 세밀한 튜닝 가능
                       위크로드 최적화부터 노드확장까지 운영의 대부분을 추가 관리 해주는 서비스 모드

 



🔑 Autopilot 모드 특징

 

  • 장점
    • 노드 설정 필요 없음 → 운영 부담 ↓
    • 노드 장애시 자동 대체됨
    • 리소스 낭비 최소화
  • 주의점
    • 일부 고급 커스터마이징 제한
    • 노드별 다이나믹한 OS/커널 설정이 어려움

✅ 팁 
: 초기에는 Autopilot으로 시작 → 추후 필요시 Standard로 전환

 
 
 


🔹 비용 최적화

 

  • Preemptible VM 사용 → 일시적인 워크로드에 적합 (비용 최대 80% 절감)
  • Autoscaling 설정 → 트래픽에 따라 Pod와 Node 자동 증가/감소
  • Cluster Autoscaler → 유휴 노드 자동 제거

 

✅ 팁
: 고정 워크로드는 스테이블 VM, 배치/배경작업은 Preemptible로 혼합

 

 


🔹 네트워크 및 Ingress

 

  • Service 유형
    • ClusterIP (내부 통신)
    • NodePort (노드 IP + 포트)
    • LoadBalancer (Cloud LB 생성)

 

  • Ingress Controller
    • GCP 기본 Ingress or NGINX Ingress 선택 가능
    • HTTPS 인증서 자동 프로비저닝 가능 (Managed Certificate)

 

✅ 팁
: kubectl describe ingress 로 오류 상황 파악 필수 !

 


🔹 모니터링 & 로깅

 

  • Stackdriver 연동
    • 기본 모니터링 + 로깅 제공
    • Alert Rule, 대시보드 설정

 

  • Pod 로그 확인
    • kubectl logs <pod-name>
    • CrashLoopBackOff 시 이벤트 확인: kubectl describe pod

 

✅ 팁
: CrashLoopBackOff 원인 대부분 환경 변수 오타 혹은 리소스 부족 → 리소스 요청/제한 확인 !

 


🔹 Helm & Config 관리

 

  • Helm
    • K8s 패키지 매니저
    • 재배포/롤백 쉽게 가능

 

  • ConfigMap & Secret
    • 설정값 및 비밀정보 분리 관리

 

✅ 팁
: ConfigMap은 수정 즉시 Pod에 반영되지 않음 → Rolling Update 필요

 

 

 

✔️ 클러스터 이름 규칙: 프로젝트-환경-리전 (ex: shop-prod-asia-northeast3)

✔️ kubectl config use-context 로 클러스터 변경 관리

✔️ 사전 Terraform, gcloud CLI 자동화 추천 → 인프라 일관성 유지

✔️ YAML 배포는 GitOps(CI/CD)로 관리 → 수동 배포 방지

✔️ Kustomize 활용하면 환경별 오버레이 쉽게 관리

 

 


 

📌 요약


 

항목  Autopilot Standard
노드 관리 Google 자동 관리 직접 관리
비용 유휴 리소스 최소화 사용자 설정에 따라
권한/커스터마이징 제한적 자유로움
추천 상황 빠른 PoC, 비용 절감 대규모, 고급 튜닝 필요
 

HPA vs VPA 비교 


 

항목 HPA (Horizontal Pod Autoscaler) VPA (Vertical Pod Autoscaler)
개념 Pod 개수를 가로로 늘림/줄임 Pod 1개당 CPU/메모리 할당량 조정
동작 방식 현재 리소스 사용량(Metrics)을 기준으로 Pod Replica 수 조정 현재 리소스 사용량을 분석해 리소스 요청(Request)/제한(Limit)을 자동 조정
주요 활용 케이스 요청이 많아질 때 Pod 수 증가 → 처리량 확장 Pod가 항상 과소/과다 Provisioning 되어 있을 때 자동 튜닝
지원 리소스 CPU, 메모리, 사용자 정의 Metric CPU, 메모리
특징 ReplicaSet 스케일과 직접 연동됨 Pod 재생성이 발생할 수 있음 (ResourceSpec 변경 필요)
적용 범위 Deployment, ReplicaSet 등 Pod(컨테이너별 리소스)
제한 사항 과부하 시에도 Pod 내 리소스 부족은 해결 안됨 Scale-out은 못함 (Pod 수는 고정)
실무 Tip 짧은 급격한 트래픽 대응에 유리
즉, 트래픽 분산에 적합
장기적인 리소스 효율 최적화에 유리
즉, 운영 초반 최적의 CPU, Memory를 찾기 위해 사용
 

 

 



구조 다이어그램

 

🔹 HPA: 가로 확장 흐름

+-------------------+         +----------------+
|   Metrics Server  |         |  K8s API Server|
+-------------------+         +----------------+
           |                           |
           v                           |
+-------------------+                  |
|   HPA Controller  | -----------------+
+-------------------+
           |
           v
+-------------------------+
| ReplicaSet (Pod 수 조정)|
+-------------------------+
           |
           v
+---------------+
|  Pod x N 개   |
+---------------+
 

핵심

  • Metrics Server가 Pod 리소스 사용량 모니터링
  • HPA Controller가 이를 감시해 ReplicaSet의 Pod 수를 늘리거나 줄임
  • Scale Out/Scale In 담당
 

 

🔹 VPA: 세로 확장 흐름

+-------------------+         +----------------+
|   Metrics Server  |         |  K8s API Server|
+-------------------+         +----------------+
           |                           |
           v                           |
+-------------------+                  |
|   VPA Controller  | -----------------+
+-------------------+
           |
           v
+-----------------------------+
| Pod Template Resource Spec  |
| (CPU/Memory Request/Limit)  |
+-----------------------------+
           |
           v
+-------------------+
|   Pod (재생성됨)  |
+-------------------+

 

핵심

  • Metrics Server가 Pod의 실제 사용량 분석
  • VPA Controller가 적정한 CPU/Memory 요청값을 계산
  • 리소스 Spec을 바꿔야 하므로 Pod를 재시작시킴 → 새로운 리소스 요청으로 재스케줄링
 

 


CA (Cluster Autoscaler)

 

📌 정의

  • CA = Cluster Autoscaler
  • Kubernetes의 대표적인 노드 자동 스케일링 기능
  • 클러스터에 있는 노드풀(Node Pool) 단위로 동작
  • 워크로드가 부족하면 새 노드를 추가, 워크로드가 줄면 불필요한 노드를 제거

 

🔑 핵심 역할

Scale Up Pod를 배치할 곳이 없으면 기존 노드풀에 새 노드를 추가
Scale Down 오랫동안 Idle 상태인 노드를 제거 (리소스 비용 최적화)
 

⚡️ 예시

  • Pod가 Pending 상태로 스케줄링 못되고 있으면 → CA가 새 노드를 붙여줌
  • 기존 노드에 여유 자원이 많아지면 → CA가 노드를 줄여줌

 


NAP (Node Auto Provisioning)

 

📌 정의

  • NAP = Node Auto Provisioning
  • GKE에서 제공하는 고급 자동화 기능
  • Cluster Autoscaler를 확장한 개념
  • 필요하다면 기존에 없던 노드풀(Node Pool) 자체를 새로 생성

 

🔑 핵심 역할

New Node Pool 생성 기존 노드풀이 스펙이 안 맞으면 새 노드풀을 자동으로 만들고 적합한 VM 타입으로 배포
더 유연한 스케일링 머신 타입, 디스크 타입 등을 자동으로 선택해서 최적화
 

 


차이점

 

항목 Cluster Autoscaler (CA) Node Auto Provisioning (NAP)
동작 범위 기존 노드풀의 노드 수만 조절 기존 노드풀이 없으면 새 노드풀 생성까지
자동화 수준 노드 수 조절 노드풀 신규 생성 + 머신 타입 추천
실무 활용 기본 자동 스케일링 스펙이 다양한 Pod에 유연한 스케일링
 

 

'Cloud > GCP' 카테고리의 다른 글

GCP 기본 구조  (1) 2025.06.24
Google Cloud Platform 서비스#2  (2) 2025.06.24
Google Cloud Platform 서비스#1  (0) 2025.06.18
[GCP#4] Compute Engine Create / IAP  (0) 2025.06.15
[GCP#3] VPC Create / Subnet  (0) 2025.06.15

 

 

 

GCP의 주요 서비스를 9개 범주로 나누어 각 범주에 해당하는 서비스와 AWS의 유사 서비스를 비교

 

+--------------------------+------------------------------+------------------------------+
|       범주(Category)     |        GCP 서비스(GCP)        |        AWS 유사 서비스(AWS)   |
+--------------------------+------------------------------+------------------------------+
| 1. 네트워크(Network)     | - Virtual Private Cloud      | - VPC                         |
|                          | - Cloud Load Balancing       | - Elastic Load Balancer       |
|                          | - Cloud DNS                  | - Route 53                    |
|                          | - Cloud CDN                  | - CloudFront                  |
|                          | - Cloud VPN                  | - Site-to-Site VPN            |
|                          | - Cloud Interconnect         | - Direct Connect              |
+--------------------------+------------------------------+------------------------------+
| 2. 컴퓨트(Compute)       | - Compute Engine             | - EC2                         |
|                          | - Google Kubernetes Engine   | - EKS                         |
|                          | - App Engine (Standard/Flex) | - Elastic Beanstalk           |
|                          | - Cloud Functions            | - Lambda                      |
|                          | - Cloud Run                  | - Fargate                     |
+--------------------------+------------------------------+------------------------------+
| 3. 저장소(Storage)       | - Cloud Storage              | - S3                          |
|                          | - Cloud Bigtable             | - DynamoDB                    |
|                          | - Cloud Datastore            | - DynamoDB / DocumentDB       |
|                          | - Cloud SQL                  | - RDS                         |
|                          | - Cloud Spanner              | - Aurora                      |
|                          | - Cloud Firestore            | - SimpleDB / DynamoDB         |
|                          | - Cloud Memorystore          | - ElastiCache                 |
+--------------------------+------------------------------+------------------------------+
| 4. 데이터베이스(Database)| - Cloud SQL                  | - RDS                         |
|                          | - Cloud Bigtable             | - DynamoDB                    |
|                          | - Cloud Datastore            | - DynamoDB / DocumentDB       |
|                          | - Cloud Spanner              | - Aurora                      |
|                          | - Cloud Firestore            | - SimpleDB / DynamoDB         |
+--------------------------+------------------------------+------------------------------+
| 5. 애플리케이션 서비스   | - Cloud Pub/Sub              | - SNS / SQS                   |
|    (Application Services)|                              |                              |
+--------------------------+------------------------------+------------------------------+
| 6. 빅데이터 및 분석      | - Cloud Dataflow             | - Kinesis / Data Pipeline     |
|    (Big Data & Analytics)| - BigQuery                   | - Redshift                    |
|                          | - Cloud Dataproc             | - EMR                         |
+--------------------------+------------------------------+------------------------------+
| 7. 머신러닝(Machine      | - AI Platform                | - SageMaker                   |
|    Learning)             | - AutoML                     | - AutoML                      |
+--------------------------+------------------------------+------------------------------+
| 8. 관리 및 모니터링      | - Stackdriver (Monitoring,   | - CloudWatch                  |
|    서비스(Management &   |   Logging, Trace, Debug)     |                              |
|    Monitoring Services)  |                              |                              |
+--------------------------+------------------------------+------------------------------+
| 9. 마켓플레이스(Market)  | - Cloud Marketplace          | - AWS Marketplace             |
+--------------------------+------------------------------+------------------------------+

📡 1️⃣ 네트워크 (Network)

역할
클라우드 내에서 가상 네트워크를 만들고 로드 밸런싱으로 트래픽을 분산시키며 DNS 관리, VPN 연결, 데이터센터 간 전용선 연결 등을 제공


대표

  • VPC: 가상 네트워크
  • Load Balancing: 트래픽 분산
  • Cloud DNS: 도메인 네임 서비스
  • Cloud CDN: 콘텐츠 캐싱
  • VPN/Interconnect: 안전한 연결

 


🖥️ 2️⃣ 컴퓨터 (Compute)

역할
가상 머신, 컨테이너 관리, 서버리스 함수 실행 등 애플리케이션 실행 환경을 제공


대표

  • Compute Engine: VM(가상 서버)
  • Kubernetes Engine: 컨테이너 오케스트레이션
  • App Engine: 플랫폼 기반 자동 스케일링
  • Cloud Functions: 이벤트 기반 서버리스 함수
  • Cloud Run: 컨테이너 서버리스 실행

 


💾 3️⃣ 저장소 (Storage)

역할

객체 저장소, 블록 저장소, 분산 데이터베이스 등 데이터를 저장하고 관리


대표

  • Cloud Storage: 파일/객체 저장
  • Bigtable: NoSQL 빅데이터 DB
  • Datastore/Firestore: 문서형 DB
  • Cloud SQL: 관리형 RDB (MySQL, PostgreSQL 등)
  • Spanner: 글로벌 분산 RDB
  • Memorystore: 인메모리 캐시

 


🗄️ 4️⃣ 데이터베이스 (Database)

역할
다양한 유형의 구조화된 데이터베이스 서비스를 제공 (저장소와 일부 중복)


대표

  • Cloud SQL, Spanner, Bigtable, Datastore, Firestore

 


⚙️ 5️⃣ 애플리케이션 서비스 (Application Services)

역할
메시지 전달, 이벤트 처리 등 분산 애플리케이션의 연결성과 데이터 흐름을 지원


대표

  • Cloud Pub/Sub: 비동기 메시지 큐
  • Cloud Tasks, Cloud Scheduler 등 포함

📊 6️⃣ 빅데이터 및 분석 (Big Data & Analytics)

역할
대용량 데이터 처리, 분석 및 ETL(추출·변환·적재) 작업을 지원


대표

  • BigQuery: 초고속 분석 DB
  • Dataflow: 스트리밍/배치 데이터 처리
  • Dataproc: Hadoop/Spark 클러스터

 


🤖 7️⃣ 머신러닝 (Machine Learning)

역할

ML 모델 개발, 학습, 배포를 쉽게 할 수 있도록 지원하는 플랫폼


대표

  • AI Platform: ML 파이프라인 통합 관리
  • AutoML: 비전/언어/번역 등 자동 ML 모델 생성

 


🧩 8️⃣ 관리 및 모니터링 (Management & Monitoring)

역할
시스템 성능 모니터링, 로그 관리, 디버깅, 추적 등을 통합적으로 제공


대표

  • Stackdriver (지금은 Operations Suite로 통합됨) Monitoring, Logging, Trace, Debug

 


🛒 9️⃣ 마켓플레이스 (Marketplace)

역할
GCP에서 바로 배포할 수 있는 서드파티 솔루션(앱, 머신러닝 모델, 데이터셋)을 제공


대표

  • Cloud Marketplace: 손쉬운 솔루션 설치

 

'Cloud > GCP' 카테고리의 다른 글

Google Cloud Platform 서비스#2  (2) 2025.06.24
GKS(Google Kubernetes Engine) 란 ?  (1) 2025.06.18
[GCP#4] Compute Engine Create / IAP  (0) 2025.06.15
[GCP#3] VPC Create / Subnet  (0) 2025.06.15
[GCP#2] IAM / Service Account Create  (0) 2025.06.15

 

📦Compute Engine Create 

 

- 여기서 원하는 이미지로 변경하려고 하였으나 내가 원하는 운영체제 버전이 없어서 일단 보류

 

나중에 자동화 스크립트는 오토스케일링할 때 사용할 일이 생길수도있음 

 

 

 

 

 

(방화벽이 오픈되어 있지 않아서 SSH로 붙지 않는다고 한다면 방화벽을 OPEN 해줘야함)

 

 


🧱 방화벽 정책 설정

 

 

 

현재는 전체의 모든 범위로 IP를 열지만 실질적인 업무 환경에서는 이런식으로는 열면 안됨. 

(테스트 용도이므로 공개적으로 열는 것, 원래는 특정 포트와 아이피로만 열는 것이 권고사항)

 


💡 방화벽 오픈 이후 다시 시도

 

 

정상적으로 접속 가능.

 

 

 


📌 IAP 란 ?

 

 

① 방화벽 규칙 만들기 

 

(참고 : 구글클라우드플랫폼 자료)

 

 

쉽게 말하자면 구성이 User 을 통해서 IAP 를 통해서 Compute Engine 에게 접근하는 구조라고 생각하면 됨

 

 

 

 

 

② 권한 추가하기

 

 

 

 

 

* Cloud NAT 이 게이트웨이 

 

'Cloud > GCP' 카테고리의 다른 글

GKS(Google Kubernetes Engine) 란 ?  (1) 2025.06.18
Google Cloud Platform 서비스#1  (0) 2025.06.18
[GCP#3] VPC Create / Subnet  (0) 2025.06.15
[GCP#2] IAM / Service Account Create  (0) 2025.06.15
[GCP#1] New Project / 서비스 확인  (0) 2025.06.15

🛠 VPC Create 

 

기본적으로 VPC 가 생성되어 있음. 

 

 

① [VPC 네트워크 만들기] 클릭 

 

 

 

GCP는 프로젝트 다음에 지역을 나눈다는 점을 참고할 것

 

더보기

* IPv4 할당용 참고 

 

 

 

 

 

 


🔍 Subnet 추가

 

 

① 서브넷 추가

 

 

'Cloud > GCP' 카테고리의 다른 글

GKS(Google Kubernetes Engine) 란 ?  (1) 2025.06.18
Google Cloud Platform 서비스#1  (0) 2025.06.18
[GCP#4] Compute Engine Create / IAP  (0) 2025.06.15
[GCP#2] IAM / Service Account Create  (0) 2025.06.15
[GCP#1] New Project / 서비스 확인  (0) 2025.06.15

🌟 Identity amd Access Management(IAM)

- 중앙에서 클라우드 리소스를 관리하기 위한 정밀한 액세스 제어 및 가시성

 

 

 

 


 

 

 

 

주로 쓰이는 건 IAP, 감사 로그가 주로 쓰인다는 것을 참고할 것

 

 

 

 

 


☁️ Service Account Create  (=서비스 계정)

 

 

 

 

 

① [서비스 계정] 선택

 

 

 

 

 

② [서비스 계정 만들기] 선택

 

 

 

계정의 ID는 고유해야하며 변경이 되지 않는다는 점을 참고해야함. 

 

 

위와 같이 생성된 것을 확인 할 수 있음

키를 발급 받기 위해선 위에 생성된 것을 클릭하고 

 

 

 

 


🔍 Service Account Create (2) 

위와 똑같은 계정이지만 다른 방식으로도 만들 수 있음 

 

 

 

역할 중에 로그 작성자라는 역할이 있음 클라우드 로깅을 추후에 쓸 때 사용 할 수 있음

기본이라는 역할은 (뷰어(참조만), 소유자, 탐색자(리소스 탐색), 편집자)할 수 있음 

GCP IAM 의 기본 역할 중 프로젝트의 모든 리소스에 대한 가장 넓은 권한을 가지는 역할은 소유자입니다. 

 

 

'Cloud > GCP' 카테고리의 다른 글

GKS(Google Kubernetes Engine) 란 ?  (1) 2025.06.18
Google Cloud Platform 서비스#1  (0) 2025.06.18
[GCP#4] Compute Engine Create / IAP  (0) 2025.06.15
[GCP#3] VPC Create / Subnet  (0) 2025.06.15
[GCP#1] New Project / 서비스 확인  (0) 2025.06.15

 

 

(개인적인 GCP 공부하기 위해 가입 완료)

 

 

 

 


🏢 프로젝트 생성

 

① My First Project 

 

② [새 프로젝트] 클릭 

 

②-1 안에 내용 작성 후 만들기

 

 

 


⚙️ 서비스 확인

 

1. Compute Engine : AWS 로 비교하면 Ec2랑 비슷하다고 생각하면 됨. 

(해당 엔진을 사용하려면 Compute Engine API 를 다운로드해야만 사용할 수 있고 프로젝트마다 설정을 해줘야함) 

 

 

 

2. IAM : 계정에 관한 관리 및 보안을 관리

 

 

 

3. Kubernetes Engine : Computer Engine과 동일하게 API를 설치해야만 사용 가능함.

 

'Cloud > GCP' 카테고리의 다른 글

GKS(Google Kubernetes Engine) 란 ?  (1) 2025.06.18
Google Cloud Platform 서비스#1  (0) 2025.06.18
[GCP#4] Compute Engine Create / IAP  (0) 2025.06.15
[GCP#3] VPC Create / Subnet  (0) 2025.06.15
[GCP#2] IAM / Service Account Create  (0) 2025.06.15

+ Recent posts