이 페이지에서는 Cloud SQL 인스턴스로 작업할 때 가장 자주 발생하는 문제의 목록과 해결 방법을 설명합니다. 알려진 문제, 문제 해결, 지원 페이지도 검토하세요.
로그 보기
최근 작업 정보를 확인하려면 Cloud SQL 인스턴스 작업 로그 또는 PostgreSQL 오류 로그를 확인하면 됩니다.
연결 문제
연결 문제에 대한 도움말은 연결 문제 디버깅 페이지 또는 문제 해결 페이지의 연결 섹션을 참조하세요.
인스턴스 문제
백업
백업의 성능을 최적화하려면 테이블 수를 적정 수로 유지합니다.
다른 백업 문제는 문제 해결 페이지의 백업 섹션을 참조하세요.
가져오기 및 내보내기
Cloud SQL로 가져오고 Cloud SQL에서 내보내는 작업은 처리 중인 데이터의 크기에 따라 완료하는 데 많은 시간이 걸릴 수 있습니다. 이에 따른 영향은 다음과 같습니다.
- 장기 실행 Cloud SQL 인스턴스 작업을 중지할 수 없습니다.
- 각 인스턴스에 대해 한 번에 하나씩만 가져오기 또는 내보내기 작업을 수행할 수 있고 가져오기 또는 내보내기를 장기간 실행하면 일일 자동 백업과 같은 다른 작업이 차단됩니다. 서버리스 내보내기를 사용하면 인스턴스 수정, 가져오기, 장애 조치, 일일 자동 백업 차단 해제를 비롯한 다른 작업을 실행할 수 있습니다.
더 작은 데이터 배치로 Cloud SQL 가져오기 또는 내보내기 기능을 사용하여 각 작업을 완료하는 데 걸리는 시간을 단축시킬 수 있습니다.
내보내기의 경우 읽기 복제본에서 내보내기를 수행하거나 서버리스 내보내기를 사용하여 내보내기가 실행되는 동안 데이터베이스 성능에 미치는 영향을 최소화하고 인스턴스에서 다른 작업이 실행되도록 허용할 수 있습니다.
다른 가져오기 및 내보내기 문제는 문제 해결 페이지의 가져오기 및 내보내기 섹션을 참조하세요.
디스크 공간
인스턴스가 최대 허용 저장용량에 도달하면 데이터베이스 쓰기가 실패합니다. 예를 들어 테이블을 제거하여 데이터를 삭제하면 저장 공간이 확보되지만 인스턴스의 사용된 스토리지 보고에는 반영되지 않습니다.VACUUM FULL
명령어를 실행하여 사용되지 않은 공간을 회수할 수 있습니다. vacuum 명령어가 실행되는 동안에는 쓰기 작업이 차단됩니다. 자세히 알아보기
정지 상태
Cloud SQL에서 인스턴스를 정지할 수 있는 이유는 다음을 포함하여 다양합니다.
결제 문제
예를 들어 프로젝트 결제 계정의 신용카드가 만료되면 인스턴스가 정지될 수 있습니다. Google Cloud Console의 결제 페이지에서 프로젝트를 선택하고 프로젝트에 사용된 결제 계정 정보를 조회하여 프로젝트 결제 정보를 확인할 수 있습니다. 결제 문제를 해결하면 인스턴스가 몇 시간 내에 실행 가능한 상태로 돌아갑니다.
KMS 주요 문제
예를 들어 Cloud SQL 인스턴스에서 사용자 데이터를 암호화하는 데 사용된 KMS 키 버전이 없거나 중지 또는 삭제된 경우입니다. 고객 관리 암호화 키(CMEK) 사용을 참조하세요.
법적 문제
예를 들어 Google Cloud 서비스이용 정책을 위반하면 인스턴스가 정지될 수 있습니다. 자세한 내용은 Google Cloud 서비스 약관의 '정지 및 삭제'를 참조하세요.
운영 문제
예를 들어 인스턴스가 장애 루프에서 중단된 경우(시작 중 또는 시작 직후에 인스턴스가 비정상 종료된 경우) Cloud SQL에서 인스턴스를 정지할 수 있습니다.
결제 문제가 정지를 트리거한 경우 인스턴스가 정지된 상태에서 인스턴스 관련 정보를 확인하거나 인스턴스를 삭제할 수 있습니다.
플래티넘, 골드, 실버 지원 패키지가 있는 Cloud SQL 사용자는 정지된 인스턴스에 대해 지원팀에 직접 문의할 수 있습니다. 모든 사용자는 google-cloud-sql 포럼과 함께 이전 안내를 사용할 수 있습니다.
성능
개요
Cloud SQL은 I/O 추가 비용 없이 최대 60,000 IOPS의 성능 집약적인 워크로드를 지원합니다. 영구 디스크의 IOPS 및 처리량 성능은 여러 요인 중에서도 디스크 크기, 인스턴스 vCPU 수, I/O 블록 크기에 따라 달라집니다.
인스턴스의 성능도 스토리지 유형 선택과 워크로드에 따라 달라집니다.
다음에 대해 자세히 알아보기
적절한 수의 데이터베이스 표 유지
데이터베이스 표는 시스템 리소스를 사용합니다. 테이블 수가 많으면 인스턴스 성능과 가용성이 영향을 받을 수 있으며 인스턴스에 SLA가 적용되지 않을 수 있습니다. 자세히 알아보기
쿼리 로그 사용 설정
log_min_duration_statement 플래그를 설정하여 PostgreSQL용 Cloud SQL의 느린 쿼리를 로깅할 수 있습니다. 최소한 지정된 시간 동안 실행된 쿼리가 로깅됩니다. 이 값이 단위 없이 지정되면 밀리초가 적용됩니다. 작업 로깅으로 이동하여 로그를 확인합니다.
일반 성능 팁
인스턴스가 메모리 또는 CPU에 제한되지 않도록 해야 합니다. 성능 집약적인 워크로드의 경우 인스턴스에는 메모리가 최소 60GB 이상 있는지 확인합니다. 데이터베이스 삽입, 업데이트, 삭제가 느린 경우 작성자와 데이터베이스의 위치를 확인합니다. 장거리로 데이터를 보내면 지연 시간이 발생합니다.쿼리 통계를 사용하여 쿼리 성능을 개선합니다.
느린 데이터베이스 선택의 경우 다음을 고려하세요.
- 캐싱은 읽기 성능에 중요합니다. PostgreSQL 통계 수집기에서 다양한
blks_hit / (blks_hit + blks_read)
비율을 확인합니다. 이상적인 비율은 99%보다 높은 비율입니다. 그렇지 않으면 인스턴스의 RAM 크기를 늘리는 것이 좋습니다. - 워크로드가 CPU 집약적인 쿼리(정렬, 정규 표현식, 기타 복잡한 함수)로 구성된 경우 인스턴스가 제한될 수 있습니다. vCPU를 추가하세요.
- 리더 및 데이터베이스의 위치를 확인합니다. 지연 시간은 쓰기 성능보다 읽기 성능에 더 많은 영향을 미칩니다.
- 적절한 색인 생성, 검색 데이터 축소, 추가 왕복 방지와 같이 Cloud SQL과 관련 없는 성능 개선 사항을 조사합니다.
EXPLAIN
을 사용하여 색인을 추가할 테이블 위치를 식별합니다. 예를 들어 JOIN 키로 사용하는 모든 필드에 두 표의 색인이 있는지 확인합니다.
문제 해결
다른 Cloud SQL 문제에 대해서는 문제 해결 페이지를 참조하세요.
오류 메시지
특정 API 오류 메시지는 오류 메시지 참조 페이지를 참조하세요.
고객 관리 암호화 키(CMEK) 문제 해결
Cloud KMS 오류, 역할 또는 권한 누락으로 인해 생성, 클론, 업데이트와 같은 Cloud SQL 관리자 작업이 실패할 수 있습니다. Cloud KMS 키 버전이 누락되거나, Cloud KMS 키 버전이 중지 또는 삭제되거나, Cloud KMS 키 버전에 액세스할 수 있는 IAM 권한이 없거나, Cloud KMS 키 버전이 Cloud SQL 인스턴스와 다른 리전에 있는 경우 등에는 일반적으로 작업이 실패하게 됩니다. 일반적인 문제를 진단하고 해결하려면 다음 문제 해결 표를 사용하세요.
고객 관리 암호화 키 문제 해결 표
발생 오류 | 문제 원인 | 해결 방법 |
---|---|---|
제품별, 프로젝트별 서비스 계정을 찾을 수 없음 | 서비스 계정 이름이 잘못되었습니다. | 올바른 사용자 프로젝트의 서비스 계정을 만들었는지 확인합니다.
|
서비스 계정에 액세스 권한을 부여할 수 없음 | 사용자 계정에 이 키 버전에 대한 액세스 권한을 부여할 수 있는 권한이 없습니다. | 조직 관리자 역할을 사용자나 서비스 계정에 추가합니다.
|
Cloud KMS 키 버전이 삭제됨 | 키 버전이 삭제되었습니다. | 키 버전이 삭제되면 데이터를 암호화하거나 복호화하는 데 사용할 수 없습니다. |
Cloud KMS 키 버전이 사용 중지됨 | 키 버전이 사용 중지되었습니다. | Cloud KMS 키 버전을 다시 사용 설정합니다.
|
Cloud KMS 키를 사용할 수 있는 권한이 없음 | Cloud SQL 인스턴스에서 작업을 실행하는 데 사용하는 사용자 또는 서비스 계정에 cloudkms.cryptoKeyEncrypterDecrypter 역할이 없거나 Cloud KMS 키 버전이 없습니다. |
키를 호스팅하는 Google Cloud 프로젝트에서 cloudkms.cryptoKeyEncrypterDecrypter 역할을 사용자나 서비스 계정에 추가합니다.
이 역할이 계정에 이미 부여되었으면 키 만들기를 참조하여 새 키 버전을 만드는 방법을 알아보세요. 참고를 참조하세요. |
Cloud KMS 키를 찾을 수 없음 | 키 버전이 존재하지 않습니다. | 새 키 버전을 만듭니다. 키 만들기를 참조하세요. 참고를 참조하세요. |
Cloud SQL 인스턴스와 Cloud KMS 키 버전이 서로 다른 리전에 있음 | Cloud KMS 키 버전과 Cloud SQL 인스턴스는 같은 리전에 있어야 합니다. Cloud KMS 키 버전이 전역 리전 또는 멀티 리전에 있는 경우에는 작동하지 않습니다. | 인스턴스를 만들려는 리전에 키 버전을 만듭니다. 키 만들기를 참조하세요. 참고를 참조하세요. |
Cloud KMS 키 버전이 복원되었지만 인스턴스가 계속 정지됨 | 키 버전이 중지되었거나 적절한 권한을 부여하지 않습니다. | 키 버전을 다시 사용 설정하고 키를 호스팅하는 Google Cloud 프로젝트의 사용자나 서비스 계정에 cloudkms.cryptoKeyEncrypterDecrypter 역할을 부여합니다. |
다시 암호화 문제 해결 표
발생 오류 | 문제 원인 | 해결 방법 |
---|---|---|
Cloud KMS 키에 액세스할 수 없으므로 CMEK 리소스 다시 암호화가 실패했습니다. 기본 키 버전이 사용 설정되어 있고 권한이 올바르게 부여되었는지 확인하세요. | 키 버전이 중지되었거나 적절한 권한을 부여하지 않습니다. | Cloud KMS 키 버전을 다시 사용 설정합니다. 키를 호스팅하는 Google Cloud 프로젝트에서 |
내부 서버 오류로 인해 CMEK 리소스 다시 암호화가 실패했습니다. 나중에 다시 시도해 주세요. | 내부 서버 오류가 발생했습니다. | 다시 암호화를 재시도합니다. 자세한 내용은 기존 CMEK가 사용 설정된 인스턴스 또는 복제본 다시 암호화를 참조하세요. |