17.4 GCP Cloud SQL / AlloyDB
Google Cloud는 PostgreSQL 매니지드 두 개를 제공한다 — Cloud SQL for PostgreSQL(RDS 동급)과 AlloyDB(Aurora 동급, GCP 자체 분산 스토리지). 둘의 구조·차이·선택 가이드를 정리합니다.
Cloud SQL for PostgreSQL
GCP의 기본 매니지드 PostgreSQL. RDS와 매우 유사한 모델.
| 특징 | 메모 |
|---|---|
| machine type | shared-core (e2) ~ 메모리 옵션까지 |
| 스토리지 | SSD + HDD, automatic resizing |
| HA | regional (multi-zone, 동기 standby) |
| Read replica | 같은/다른 region |
| 백업 | daily + PITR (transaction log retention 7일) |
| 인증 | password / IAM database authentication |
| Private IP | VPC peering 또는 private service connect |
| 확장 | 100+ 지원 |
IAM 인증
gcloud sql users create user@example.com \
--type=cloud_iam_user \
--instance=myinstance
# 접속
PGPASSWORD=$(gcloud auth print-access-token) \
psql -h <private-ip> -U user@example.com -d app_main토큰 1시간 유효. application은 자동 갱신.
백업·PITR
gcloud sql backups list --instance=myinstance
gcloud sql backups create --instance=myinstance
# PITR
gcloud sql instances clone myinstance myinstance-pitr \
--point-in-time='2026-05-23T09:50:00Z'clone이 새 instance로 복원.
확장
SHOW cloudsql.enable_pgvector;
-- on
CREATE EXTENSION pgvector;pgvector·pg_partman·postgis·pg_stat_statements·pgaudit 등. pg_cron은 Cloud SQL은 미지원(2026 기준).
AlloyDB for PostgreSQL
Google의 AWS Aurora 대응합니다. PostgreSQL 호환 + GCP 자체 분산 스토리지·AI/ML 통합합니다.
구조
flowchart TD
W["primary instance"]
R1["read pool 1"]
R2["read pool 2"]
S["AlloyDB 분산 스토리지<br/>(zonally replicated)"]
ML["columnar engine<br/>(분석 가속)"]
W <--> S
R1 <--> S
R2 <--> S
W -.-> ML
classDef pri fill:#ede9fe,stroke:#6d28d9,color:#3b0764
classDef rd fill:#d1fae5,stroke:#047857,color:#064e3b
classDef st fill:#fed7aa,stroke:#c2410c,color:#7c2d12
classDef ml fill:#dbeafe,stroke:#1d4ed8,color:#1e3a8a
class W pri
class R1,R2 rd
class S st
class ML ml
| 기능 | 메모 |
|---|---|
| 분산 스토리지 | zonally replicated, 자동 확장 |
| Read pool | reader 그룹 — 자동 LB |
| Columnar engine | 분석 쿼리를 columnar로 가속 (자동 또는 hint) |
| pgvector + ScaNN | 벡터 검색 + Google 자체 인덱스 |
| Google Gemini 통합 | AI 추천·자연어 쿼리 |
| 무중단 minor 업그레이드 |
성능
Google 자료에 따르면 Cloud SQL 대비 4x throughput, Aurora 대비 2x analytic. 실제는 워크로드 의존.
비용
비쌉니다. Aurora와 유사하게 Cloud SQL의 1.5~2x.
Cloud SQL vs AlloyDB
| 측면 | Cloud SQL | AlloyDB |
|---|---|---|
| 호환성 | 표준 PG 100% | PG 호환 (작은 차이) |
| 스토리지 | persistent disk | 분산 자체 스토리지 |
| 가격 | 표준 | 1.5~2x |
| 분석 가속 | 없음 (read replica) | columnar engine |
| AI/ML | 별도 통합 | 통합 (gemini, vector) |
| 운영 친화 | 모두 표준 도구 | 일부 도구 차이 |
대부분 OLTP는 Cloud SQL로 충분합니다. AI/벡터·분석 결합 또는 높은 throughput이 필요하면 AlloyDB.
Cloud SQL 운영
인스턴스 생성
gcloud sql instances create app-pg \
--database-version=POSTGRES_17 \
--region=asia-northeast3 \
--cpu=4 --memory=16GB \
--availability-type=REGIONAL \
--enable-bin-log \
--backup-start-time=03:00 \
--maintenance-window-day=SUN \
--maintenance-window-hour=04모니터링
| 도구 | 메모 |
|---|---|
| Cloud Monitoring | OS·DB 메트릭 |
| Query Insights | 쿼리 분석 (RDS Performance Insights 유사) |
| Cloud Logging | PG 로그 통합 |
Query Insights는 wait events·query plan을 시각화 — 매우 유용합니다.
Private IP
gcloud compute networks create app-vpc
gcloud services vpc-peerings connect ...
gcloud sql instances patch app-pg \
--network=app-vpc \
--no-assign-ipVPC peering 또는 Private Service Connect로 public 접근 차단합니다.
AlloyDB 운영
gcloud alloydb clusters create app-cluster \
--region=asia-northeast3 \
--password=secret
gcloud alloydb instances create primary \
--cluster=app-cluster \
--region=asia-northeast3 \
--instance-type=PRIMARY \
--cpu-count=8
gcloud alloydb instances create reader-pool \
--cluster=app-cluster \
--region=asia-northeast3 \
--instance-type=READ_POOL \
--read-pool-node-count=3 \
--cpu-count=4Cloud SQL의 한계
| 한계 | 메모 |
|---|---|
| 슈퍼유저 없음 | cloudsqlsuperuser 권한 |
| OS·로그 직접 접근 X | 콘솔에서 다운로드 |
| 일부 확장 미지원 | pg_cron, pg_repack |
| Cloud SQL Auth Proxy | 외부 인증 — gcloud 통합 |
인증 — Cloud SQL Auth Proxy
cloud-sql-proxy --auto-iam-authn \
myproject:asia-northeast3:app-pglocalhost로 안전한 connection. IAM·SSL 자동입니다.
비용 비교 (대략)
| 환경 (8 vCPU·32GB) | 시간당 |
|---|---|
| Cloud SQL HA | ~$1.5 |
| AlloyDB | ~$2.5 |
| AWS RDS Multi-AZ | ~$1.4 |
| Aurora | ~$2.2 |
| Azure Flexible HA | ~$1.4 |
비슷한 수준. 데이터 전송·스토리지·IOPS가 변수.
정리
- Cloud SQL = GCP의 표준 매니지드 PG. RDS와 거의 동등
- AlloyDB = Aurora 동급. 분산 스토리지 + columnar 분석 가속 + AI 통합
- IAM 인증·Private IP·Query Insights가 운영 표준
- pg_cron 미지원 등 일부 한계
- 일반 OLTP는 Cloud SQL, 큰 분석·AI 통합은 AlloyDB
다음 절(17.5)에서는 클라우드 환경의 백업·HA 패턴을 봅니다.