Google Cloud Data & Database Engineer · 1일차
GCP 기초와
데이터 레이크 · DB 선택.
오늘의
흐름
- 01Resource Hierarchy · IAM & gcloud CLI1–2교시 · 멀티 클라우드 매핑 & Lab 1 (gcloud · IAM 권한 바인딩)
- 02Cloud Storage 데이터 레이크 · 수명주기3–4교시 · 4대 스토리지 클래스 & Lab 2 (Lifecycle JSON 자동화)
- 03멀티 클라우드 DB 매핑 · Cloud SQL & AlloyDB5–6교시 · OLTP vs OLAP · Multi-Zone HA · Read Replica · PITR
- 04Database Selection Framework & HA 실습7–8교시 · 워크로드별 DB 의사결정 매트릭스 & Lab 3 (HA · Failover)
Resource Hierarchy · IAM & gcloud CLI
1–2교시 · AWS/Azure 경력자를 위한 GCP 리소스 계층 구조와 최소 권한 모델
- Organization · Folder · Project
- AWS · Azure 1:1 매핑
- Principal · Role · Policy
- Lab 1 · gcloud CLI & IAM
리소스 계층 구조와 멀티 클라우드 1:1 매핑
- Organization도메인(Workspace / Cloud Identity) 최상위 루트 · 전사 정책 통제
- Folder부서·본부·환경(Prod/Dev) 단위 그룹화 · 다단계 중첩 지원
- Project과금·API 활성화·IAM·VPC 격리 기본 단위 (모든 리소스의 소속점)
- ResourceCloud Storage, Cloud SQL, BigQuery 등 실제 서비스 인스턴스
| 계층 역할 | AWS | Microsoft Azure | Google Cloud |
|---|---|---|---|
| 최상위 조직 루트 | AWS Organizations (Root) | Tenant Root Group | Organization |
| 부서·환경 묶음 | Organizational Unit (OU) | Management Group | Folder |
| 과금·리소스 격리 단위 | AWS Account | Subscription + Resource Group | Project (Project ID 고유 식별) |
| 표준 CLI 도구 | aws cli | az cli | gcloud / gcloud storage / bq |
IAM 권한 체계: Principal + Role = Policy
상위 계층(Organization → Folder → Project)에서 부여한 권한은 하위 리소스로 자동 상속(Allow 합집합)돼요.
Google 계정(User), Google 그룹(Group), 서버·파이프라인용 서비스 계정(Service Account), Cloud Identity 도메인
Basic(Owner·Editor·Viewer, 실무 지양), Predefined(직무·서비스별 세분화 권장), Custom(최소 권한 직접 조합)
특정 Project·Bucket·Table에 Principal과 Role을 묶은 JSON 바인딩 (명시적 Deny 정책 외에는 하위에서 상위 Allow 해제 불가)
Lab 1 · gcloud CLI & IAM 권한 바인딩 실습
# 1. 프로젝트 ID 변수 등록 및 기본 리전 설정
export PROJECT_ID=$(gcloud config get-value project)
gcloud config set compute/region us-central1
# 2. 파이프라인용 서비스 계정(SA) 생성
gcloud iam service-accounts create pipeline-sa \
--display-name="Data Pipeline SA"
# 3. Predefined Role(Object Viewer) 바인딩
SA=pipeline-sa@${PROJECT_ID}.iam.gserviceaccount.com
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:$SA" \
--role="roles/storage.objectViewer"
- Cloud Shell 기본 환경gcloud·bq·cbt CLI가 사전 설치된 5GB 영구 홈 디렉터리 제공
- add-iam-policy-binding기존 프로젝트 정책에 주체(member)와 역할(role)을 안전하게 추가
- 실습 체크포인트IAM 콘솔과 CLI 양쪽에서 역할 부여 및 권한 회수(remove) 확인
Lab 1 · A Tour of Google Cloud Hands-on Labs (skills.google)gcloud add-iam-policy-binding 레퍼런스
Cloud Storage 데이터 레이크 · 수명주기
3–4교시 · 연간 99.999999999%(11 9s) 내구성의 단일 API 객체 스토리지와 비용 자동화
- Standard · Nearline · Coldline · Archive
- AWS S3 · Azure Blob 비교
- Object Lifecycle Management
- Lab 2 · gcloud storage & Lifecycle
스토리지 클래스 선택 기준과 3사 매핑
네 클래스 모두 첫 바이트 응답 지연(밀리초)과 단일 API가 동일하며, 최소 보관 기간과 조회(Retrieval) 단가만 달라요.
| 클래스 | 권장 접근 빈도 | 최소 보관 기간 | AWS S3 대응 | Azure Blob 대응 |
|---|---|---|---|---|
| Standard | 실시간 · 자주 접근 (핫 데이터, 분석 원본) | 없음 | S3 Standard | Hot Tier |
| Nearline | 월 1회 이하 (백업, 월간 리포트 원본) | 30일 | S3 Standard-IA | Cool Tier (30일) |
| Coldline | 분기 1회 이하 (재해 복구, 분기 감사 로그) | 90일 | S3 Glacier Instant Retrieval | Cold Tier (90일) |
| Archive | 연 1회 이하 (법적 장기 보관, 규정 준수) | 365일 | S3 Glacier Deep Archive | Archive Tier (오프라인) |
객체 수명주기(Lifecycle) 자동화와 보안 통제
- 수집 직후 (0–29일)Standard 클래스 · 실시간 파이프라인 및 Lakehouse 외부 테이블 조회
- 30일 경과 (Age: 30)SetStorageClass → Nearline 자동 전환으로 저장 단가 절감
- 90일 경과 (Age: 90)SetStorageClass → Coldline / Archive 장기 아카이빙 전환
- 365일 경과 (Age: 365)Delete 액션으로 만료 로그 영구 삭제 · 개인정보/보관 규정 준수
객체별 개별 ACL을 비활성화하고 오직 IAM 정책으로만 권한을 일원화해 감사 추적과 BigQuery Lakehouse 연동을 단순화해요.
접근 주기를 예측하기 어려우면 Autoclass로 자동 티어링하고, 실수 삭제 및 덮어쓰기 방지는 Object Versioning과 Soft Delete로 보호해요.
Object Lifecycle Management 공식 문서Uniform Bucket-Level Access 가이드
Lab 2 · gcloud storage & 수명주기 규칙 실습
# 1. Uniform Access 데이터 레이크 버킷 생성
gcloud storage buckets create gs://$PROJECT_ID-lake \
--location=us-central1 --uniform-bucket-level-access
# 2. 30일 경과 → Nearline 전환(lifecycle.json)
{"rule": [{
"action": {"type": "SetStorageClass",
"storageClass": "NEARLINE"},
"condition": {"age": 30}
}]}
# 3. 수명주기 정책 적용 및 조회
gcloud storage buckets update gs://$PROJECT_ID-lake \
--lifecycle-file=lifecycle.json
- gcloud storage 표준 CLIgsutil은 2027-03 제거 예정 레거시예요. 실무는 gcloud storage를 쓰고, 랩 지문의 gsutil도 그대로 동작해요
- JSON 조건(Condition) 조합age, createdBefore, matchesPrefix, isLive 등 복수 조건 지정 시 AND 조건으로 평가
- 비동기 반영정책 적용 후 실제 클래스 변경·삭제 실행까지는 최대 24시간 소요 가능
Lab 2 · Cloud Storage Qwik Start (skills.google)gcloud storage CLI 레퍼런스
멀티 클라우드 DB 매핑 · Cloud SQL & AlloyDB
5–6교시 · OLTP와 OLAP 워크로드 분리 및 관리형 관계형 데이터베이스 고가용성 아키텍처
- AWS · Azure · GCP DB 1:1 매핑
- Cloud SQL vs AlloyDB
- Multi-Zone HA · Read Replica · PITR
AWS · Azure · Google Cloud 데이터베이스 1:1 매핑
| 워크로드 분류 | AWS | Microsoft Azure | Google Cloud | 핵심 특징 |
|---|---|---|---|---|
| 관리형 RDBMS (OLTP) | Amazon RDS | Azure SQL / Flexible Server | Cloud SQL | MySQL · PostgreSQL · SQL Server 관리형 |
| 클라우드 네이티브 PG | Aurora PostgreSQL | Azure DB for PG Hyperscale | AlloyDB for PostgreSQL | 컴퓨트·스토리지 분리 · PG 4배↑ · 컬럼형 엔진 |
| 글로벌 분산 RDBMS | Aurora Global (단일 리전 쓰기) | Cosmos DB (NoSQL 기반) | Cloud Spanner | TrueTime 외부 일관성 · 멀티 리전 동시 쓰기 SQL |
| 초저지연 Wide-Column | Keyspaces / DynamoDB | Cosmos DB (Table/Cassandra) | Cloud Bigtable | 페타바이트 시계열·IoT · 단일 Row Key 밀리초 응답 |
| 서버리스 문서형 NoSQL | DynamoDB / DocumentDB | Cosmos DB (NoSQL API) | Firestore | 모바일·웹 실시간 동기화 · 계층형 JSON 문서 |
| 서버리스 DW (OLAP) | Amazon Redshift | Fabric DW / Synapse | BigQuery | 페타바이트 컬럼형 분석 · BQML · Vector Search |
Cloud SQL vs AlloyDB for PostgreSQL
리전 퍼시스턴트 디스크 기반의 표준 관리형 DB예요. Multi-Zone HA(Primary + Standby 자동 Failover), Read Replica 읽기 분산, WAL/바이너리 로그 기반 시점 복구(PITR)를 기본 제공해요.
컴퓨트와 분산 스토리지(Colossus 기반)를 완전히 분리해 표준 PostgreSQL 대비 트랜잭션 4배, 분석 쿼리 최대 100배(인메모리 Columnar Engine) 빠른 HTAP 엔진이에요.
- 자동 백업 & PITRWAL·Binary Log 활성화로 원하는 초 단위 시점으로 새 인스턴스 복원
- Multi-Zone HARegional 구성을 통해 Primary 장애 시 Standby 존으로 자동 Failover
- Read Replica / Pool읽기 트래픽을 복제본·리드 풀 노드로 분산해 Primary 부하 격리
- Auth Proxy 보안 접속IAM 인증 및 TLS 암호화 터널로 공인 IP 노출 없이 안전 연결
Database Selection Framework & HA 실습
7–8교시 · 자격증(PDE·PCDBE) 및 실무 아키텍처 핵심 의사결정 기준과 Lab 3
- 워크로드별 DB 의사결정 매트릭스
- Lab 3 · Cloud SQL HA & PITR
- AlloyDB 프로비저닝 & 컬럼형 엔진
요구사항 한 줄로 고르는 최적의 데이터베이스
| 비즈니스 요구사항 / 시험 키워드 | 선택할 서비스 | 핵심 판단 근거 (오답 함정 피하기) |
|---|---|---|
| 리전 단위 정형 트랜잭션 (MySQL / PG / SQL Server) | Cloud SQL | 기존 오픈소스·상용 RDBMS 100% 호환 및 가장 경제적인 관리형 OLTP |
| 고성능 PostgreSQL + 실시간 운영 분석(HTAP) + AI 벡터 | AlloyDB | Columnar Engine 내장 및 pgvector 가속으로 트랜잭션·분석 동시 처리 |
| 글로벌 멀티 리전 강일관성(ACID) + 무제한 수평 확장 SQL | Cloud Spanner | Cloud SQL은 리전 단일 쓰기 한계 → 글로벌 동시 쓰기 SQL은 Spanner 필수 |
| 초당 수십만 건 IoT·시계열·금융 틱 쓰기 + 밀리초 단건 조회 | Cloud Bigtable | SQL 조인 불필요, 단일 Row Key 기반 초고속 Wide-Column NoSQL |
| 모바일·웹 앱 직접 연결 + 오프라인 동기화 + JSON 문서 | Firestore | 클라이언트 SDK 실시간 리스너 및 서버리스 자동 스케일링 |
| 대규모 이력 데이터 SQL 집계 · BI 대시보드 · 머신러닝 | BigQuery | 운영 DB(OLTP)가 아닌 컬럼형 분석 DW(OLAP) — 초 단위 대용량 스캔 |
Google Cloud Database Selection 가이드GCDE · GCDBE 전체 서비스 그룹 그래프 보기
Lab 3 · Cloud SQL 고가용성(HA) · 복제 · PITR 실습
# 1. Multi-Zone HA + PITR Cloud SQL(PG) 생성
gcloud sql instances create commerce-pg \
--database-version=POSTGRES_15 \
--tier=db-custom-2-8192 --region=us-central1 \
--availability-type=REGIONAL \
--backup-start-time=02:00 \
--enable-point-in-time-recovery
# 2. Read Replica 추가 및 Failover 테스트
gcloud sql instances create commerce-pg-read \
--master-instance-name=commerce-pg \
--tier=db-custom-2-8192 --region=us-central1
gcloud sql instances failover commerce-pg
- availability-type=REGIONALPrimary와 Standby가 서로 다른 Zone에 동기 복제되어 자동 Failover 보장
- PITR 전제 조건자동 백업(backup-start-time)과 WAL 아카이빙이 함께 켜져 있어야 시점 복원 가능
- 1일차 핵심 요약Project/IAM 최소 권한 ➔ Cloud Storage 수명주기 ➔ 워크로드 맞춤 DB 선택
Lab 3-A · Cloud SQL Replication & PITR (skills.google)Lab 3-B · AlloyDB Fundamentals (skills.google)