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. 연결
- SSMS (SQL Server Management Studio)
- sqlcmd 유틸리티
6. 주의사항
- 이름은 삭제 후 약 일주일간 재사용이 불가하다.
- Private으로 Cloud SQL을 생성한 경우 ACL 적용이 안된다. Private VPC 구간은 모든 VM에 대해 allow 된다. 따라서 VM에 3306 Egress를 deny하고, 허용할 VM만 tag 설정 후 Egress를 설정해야 한다.
- AWS에 비해 아직 지원되는 엔진 종류가 적다. (MariaDB 등)