1.  개요

이 문서는 GCP의 Cloud SQL 서비스를 소개한다.


2. 지원 DBMS

  • MySQL 
  • PostgreSQL
  • SQL Server

3. MySQL

3.1. 주요 기능

  • Community Edition
  • (2020년 7월 기준) 5,6, 5.7 버전 지원
  • 외부 연결은 Cloud SQL 프록시 또는 SSL/TLS를 통한 연결

3.2. 연결

  • mysql 커맨드를 통해 연결
  • SQL Workbench나 Toad for MySQL을 통해 연결
  • App Engine 애플리케이션에서 연결
  • Cloud Functions 에서 연결
  • Cloud Run에서 연결

3.3. 제약

  • InnoDB memcached 플러그인을 지원하지 않음 : PK를 통한 검색 같은 단순 쿼리의 반복 수행은 분석/최적화 부하가 상대적으로 크다. Memcached 플러그인은 직접 InnoDB 스토리지 엔진을 호출한다.
  • Federated Engine 지원하지 않음 : DB Link 기능이다. mysql> show engines; 하면 엔진 설치 여부를 알 수 있다. SQL문에서는 connection= 옵션을 사용하게 된다.
  • Memory Storage Engine을 지원하지 않음 : 

3.4. 생성

 


4. PostgreSQL

  • (2020년 7월 기준) 9.6, 10, 11, 12 버전 선택 가능
  • 외부 연결은 Cloud SQL 프록시 또는 SSL/TLS를 통한 연결
  • 특정 시점 복구(PITR)은 아직 지원되지 않음
  • PostgreSQL 12의 하위 수준 가상 머신(LLVM), 적시(JIT) 컴파일은 아직 지원되지 않음

5. SQL Server

5.1. 주요 기능

  • (2020년 7월 기준) 2017 버전 선택 가능
  • 외부 연결은 Cloud SQL 프록시 또는 SSL/TLS를 통한 연결
  • 기본 BAK 및 SQL 파일을 사용하여 데이터베이스 가져오기 가능
  • 기본 BAK 파일을 사용하여 데이터베이스 내보내기 가능

5.2. 연결


6. 주의사항

  • 이름은 삭제 후 약 일주일간 재사용이 불가하다.
  • Private으로 Cloud SQL을 생성한 경우 ACL 적용이 안된다. Private VPC 구간은 모든 VM에 대해 allow 된다. 따라서 VM에 3306 Egress를 deny하고, 허용할 VM만 tag 설정 후 Egress를 설정해야 한다.
  • AWS에 비해 아직 지원되는 엔진 종류가 적다. (MariaDB 등)