Tan Kim

GCP (Google Cloud Platform)

Google의 클라우드 플랫폼. Kubernetes, 빅데이터, AI/ML에 강점.

핵심 서비스

컴퓨팅

서비스 AWS 대응 설명
Compute Engine EC2 가상 머신
Cloud Run Fargate 서버리스 컨테이너
Cloud Functions Lambda 서버리스 함수
GKE EKS 관리형 Kubernetes
App Engine Elastic Beanstalk PaaS

스토리지 & DB

서비스 AWS 대응 설명
Cloud Storage S3 오브젝트 스토리지
Cloud SQL RDS 관리형 MySQL/PostgreSQL
Firestore DynamoDB 서버리스 NoSQL
Bigtable 대규모 NoSQL
BigQuery Redshift 서버리스 데이터 웨어하우스
Memorystore ElastiCache 관리형 Redis

네트워크 & 기타

서비스 AWS 대응 설명
Cloud DNS Route 53 DNS
Cloud CDN CloudFront CDN
Cloud Load Balancing ALB 로드 밸런서
Pub/Sub SQS+SNS 메시지 스트리밍
Cloud Logging CloudWatch 로그
Secret Manager Secrets Manager 시크릿 관리
Artifact Registry ECR 컨테이너 이미지 레지스트리

Cloud Run

컨테이너를 서버리스로 실행. 트래픽 없으면 0으로 스케일 다운.

# 배포
gcloud run deploy my-service \
  --image gcr.io/my-project/my-image \
  --platform managed \
  --region asia-northeast3 \
  --allow-unauthenticated \
  --port 8080 \
  --memory 512Mi \
  --cpu 1 \
  --max-instances 10
 
# 환경 변수
gcloud run deploy my-service \
  --set-env-vars NODE_ENV=production,DB_HOST=... \
  --set-secrets DB_PASS=my-secret:latest

Cloud Storage

# gsutil
gsutil ls                           # 버킷 목록
gsutil ls gs://my-bucket
gsutil cp file.txt gs://my-bucket/
gsutil cp gs://my-bucket/file.txt ./
gsutil rsync -r ./dist gs://my-bucket
gsutil rm gs://my-bucket/file.txt
 
# 정적 웹 호스팅
gsutil web set -m index.html -e 404.html gs://my-bucket
gsutil iam ch allUsers:objectViewer gs://my-bucket

IAM

Project
├── Owner       — 모든 권한
├── Editor      — 읽기 + 수정
├── Viewer      — 읽기 전용
└── 커스텀 Role  — 세분화된 권한

Service Account — 서비스/앱에 부여하는 계정
# 서비스 계정 생성 및 키 발급
gcloud iam service-accounts create my-sa \
  --display-name "My Service Account"
 
gcloud projects add-iam-policy-binding my-project \
  --member serviceAccount:my-sa@my-project.iam.gserviceaccount.com \
  --role roles/storage.objectViewer
 
gcloud iam service-accounts keys create key.json \
  --iam-account my-sa@my-project.iam.gserviceaccount.com

gcloud CLI

# 인증
gcloud auth login
gcloud auth application-default login
 
# 프로젝트 설정
gcloud config set project my-project
gcloud config get-value project
 
# 컨텍스트
gcloud container clusters get-credentials my-cluster \
  --region asia-northeast3
 
# 주요 명령어
gcloud compute instances list
gcloud run services list
gcloud sql instances list

BigQuery

-- 대규모 데이터 분석 (페타바이트 규모)
SELECT
  DATE(created_at) AS date,
  COUNT(*) AS orders,
  SUM(total) AS revenue
FROM `my-project.dataset.orders`
WHERE created_at >= '2026-01-01'
GROUP BY 1
ORDER BY 1 DESC
LIMIT 30;
bq query --use_legacy_sql=false \
  'SELECT COUNT(*) FROM `my-project.dataset.table`'

메모

이 글에 대해 물어보기