티스토리 뷰
Cloud SQL
목차 :
1. What is Cloud SQL?
2. Cloud SQL instance
3. Cloud SQL services
4. Connecting to a Cloud SQL instance
5. Choosing Cloud SQL
1. What is Cloud SQL?
- 패치와 업데이트가 자동으로 적용되지만 이러한 데이터베이스와 함께 제공되는 기본 인증 도구를 사용하여 MySQL 사용자를 관리해야 합니다.
- Cloud SQL은 Cloud Shell, App Engine, G Suite 스크립트와 같은 많은 클라이언트를 지원합니다. 또한 표준 MySQL 드라이버를 사용하는 SQL Workbench, Toad 및 기타 외부 애플리케이션과 도구도 지원합니다.
2. Cloud SQL instance
3. Cloud SQL services
- 여러 zones 간에 데이터를 복제할 수 있는 복제 서비스가 있습니다. 이는 중단이 발생하는 경우 자동 장애 조치에 유용합니다.
- Cloud SQL은 특정 시점 복구를 통해 자동화된 주문형 백업을 제공합니다.
- mysqldump를 사용하여 데이터베이스를 가져오거나 내보내거나 CSV 파일을 가져 오거나 내보낼 수 있습니다.
- Cloud SQL도 확장할 수 있으므로 머신을 다시 시작하거나 읽기 복제본(read replica)을 사용하여 확장해야 합니다. 즉, 수평 확장성이 우려되는 경우 Cloud Spanner를 고려하는 것이 좋습니다.
4. Connecting to a Cloud SQL instance
- Cloud SQL 인스턴스에 대한 연결 유형에 따라 보안, 성능 및 자동화 수준에 영향을 미칩니다.
- Cloud SQL 인스턴스와 동일한 GCP 프로젝트 내에서 호스팅 되는 애플리케이션을 연결하고 동일한 지역에 배치된 경우 비공개 IP 연결을 선택하면 비공개 연결을 사용하여 가장 성능이 좋고 안전한 연결이 제공됩니다. 즉, 트래픽은 공용 인터넷에 노출되지 않습니다.
- 애플리케이션이 다른 지역 또는 프로젝트에서 호스팅 되거나 GCP 외부에서 Cloud SQL 인스턴스에 연결하려는 경우 3 가지 옵션이 있습니다. 이 경우 인증, 암호화, 키 순환을 처리하는 Cloud SQL 프록시를 사용하는 것이 좋습니다. SSL 연결을 수동으로 제어해야 하는 경우 인증서를 직접 생성하고 주기적으로 교체할 수 있습니다. 그렇지 않으면 특정 IP 주소에 외부 IP 주소를 통해 SQL 서버에 연결할 권한을 부여하여 암호화되지 않은 연결을 사용할 수 있습니다.
5. Choosing Cloud SQL
- 30TB 이상의 저장 공간 또는 데이터베이스에 대한 동시 연결 4000 개 이상이 필요하거나 애플리케이션 설계가 글로벌 확장 시 확장, 가용성, 위치 관리를 담당하도록 하려면 Cloud Spanner를 사용하는 것이 좋습니다.
- 이러한 제약 조건에 대해 걱정하지 않는 경우 특정 OS 요구 사항, 사용자 지정 데이터베이스 구성 요구 사항 또는 특수 백업 요구 사항이 있는지 확인해보세요. 그렇다면 Compute Engine을 사용하여 VM에서 자체 데이터베이스를 호스팅 하는 것이 좋습니다. 그렇지 않으면 관계형 데이터베이스의 완전 관리형 서비스인 Cloud SQL을 사용하는 것이 좋습니다.