이 페이지는 Cloud SQL 할당량 및 한도에 관한 정보를 제공합니다. 할당량은 프로젝트 단위로 적용됩니다. 한도는 그 유형에 따라 인스턴스 또는 프로젝트에 적용됩니다.
할당량
할당량은 Google Cloud 프로젝트에서 사용할 수 있는 Google Cloud 리소스의 양을 제한합니다. Cloud SQL이 이러한 유형의 리소스 예시입니다.
Cloud SQL에서 할당량은 다음을 수행하는 시스템의 일부입니다.
- Cloud SQL 인스턴스 사용 또는 소비를 모니터링합니다.
- 공정성 보장 및 사용량 급증 방지 등 여러 이유로 인스턴스 소비를 제한합니다.
- 사전 정의된 제한사항을 자동으로 적용하는 구성을 유지합니다.
- 할당량을 변경하거나 변경을 요청할 수 있는 수단을 제공합니다.
할당량이 초과되면 대부분의 경우 시스템에서 관련 인스턴스에 대한 액세스를 즉시 차단하고 수행하려는 작업이 실패합니다. 할당량은 각각의 Google Cloud 프로젝트에 적용되고 같은 프로젝트를 사용하는 모든 인스턴스 전반에 공유됩니다.
할당량을 확인 및 상향 조정할 수 있는 권한
할당량을 확인하고 상향 조정하려면 다음 권한이 필요합니다.
serviceusage.quotas.get:
내 할당량 확인serviceusage.quotas.update:
할당량 상향 조정
기본적으로 이러한 권한은 편집자 및 소유자의 기본 IAM 역할과 사전 정의된 할당량 관리자 역할에 포함되어 있습니다. 추가 권한이 필요하면 할당량 관리자에게 문의하세요.
내 할당량 확인
프로젝트에서 리소스의 현재 할당량을 확인하려면 Google Cloud 콘솔에서 할당량 페이지로 이동하고 Cloud SQL Admin API를 필터링합니다. 이러한 할당량은 API 호출에만 적용되고 데이터베이스 쿼리를 포함하지 않습니다.
할당량 상향 조정
Google Cloud 사용량이 점차 늘어나면 할당량도 이에 따라 늘릴 수 있습니다. 앞으로 사용량이 현저하게 늘어날 것으로 예상되는 경우 할당량을 이에 맞춰 조정하기 위해서는 며칠 전에 미리 요청하시기 바랍니다.
할당량 상향 요청에는 요금이 부과되지 않습니다. 리소스를 더 사용한 경우에만 요금이 증가합니다.
할당량을 상향 조정하려면 다음 단계를 따르세요.
Google Cloud 콘솔에서 할당량 페이지로 이동합니다.
Cloud SQL Admin API 서비스를 필터링합니다.
이 서비스가 표시되지 않으면 Cloud SQL Admin API를 사용 설정합니다.
변경할 할당량 옆에 있는 체크박스를 선택한 다음 할당량 수정을 클릭합니다.
선택한 각 할당량에 대해 새 한도 필드에 원하는 한도 값을 입력합니다.
이유 설명 필드에 할당량 상향 요청의 이유를 입력하고 완료를 클릭합니다.
다음을 클릭합니다.
이름, 이메일, 전화번호를 입력하고 요청 제출을 클릭합니다.
할당량을 늘리는 데 문제가 있으면 지원 케이스를 제출하세요.
리소스 할당량 보충 방법
일일 할당량은 매일 자정(태평양 표준시 기준)에 보충됩니다.
할당량 및 리소스 가용성
리소스 할당량이란 사용 가능할 때 이 리소스 유형으로 만들 수 있는 리소스의 최대 양입니다. 할당량이 있다고 해서 이러한 리소스가 항상 제공되는 것은 아닙니다. 리소스를 해당 리전에서 물리적으로 사용할 수 없는 경우 프로젝트에 할당량이 남아 있어도 이 유형의 리소스를 새로 만들 수 없습니다.
비율 할당량
Cloud SQL은 비율 제한 또는 API 할당량이라고도 하는 비율 할당량을 지원합니다. 비율 할당량은 Cloud SQL Admin API에 보낼 수 있는 요청 수를 정의합니다.
각 비율 할당량은 하나 이상의 Cloud SQL Admin API 메서드 카테고리에 대한 모든 요청에 해당합니다. Cloud SQL에 해당하는 시간 간격(예: 분당 API 요청 수)이 지나면 비율 할당량이 재설정됩니다.
gcloud CLI 또는 Google Cloud 콘솔을 사용하면 Cloud SQL Admin API에 요청이 전송되고 비율 할당량에 해당 요청이 반영됩니다. 서비스 계정을 사용하여 API에 액세스할 경우 해당 요청도 비율 할당량에 반영됩니다.
Cloud SQL은 60초 간격으로 비율 할당량을 자동으로 적용하고 다시 채웁니다. 프로젝트가 60초 내에 언제든지 비율 할당량 한도에 도달하면 할당량이 다시 채워질 때까지 기다려야 해당 카테고리에서 요청을 추가로 수행할 수 있습니다. 프로젝트가 이 한도를 초과하면 rateLimitExceeded
라는 이유로 HTTP 429
상태 코드가 수신됩니다.
Cloud SQL Admin API는 다음 카테고리로 분류됩니다.
- 연결: Cloud SQL 데이터베이스에 연결하는 데 필요한 값을 조회합니다.
- 가져오기: 리소스(예: 인스턴스, 작업, 백업)에 대한 정보를 검색합니다.
- 나열: 리소스를 나열합니다.
- 변경: 리소스를 만들고, 수정하고, 삭제합니다.
- 리전별 기본값: 연결, 검색, 나열, 변경 없이 Cloud SQL 인스턴스와 상호작용합니다.
- 기본값: Cloud SQL 인스턴스의 데이터베이스 플래그 및 머신 유형(등급)을 나열합니다. 이 카테고리의 API는 전역입니다.
Cloud SQL은 각 카테고리에 분당, 사용자별, 리전별 비율 할당량을 적용합니다. 이러한 속성의 고유한 조합마다 Cloud SQL에서 별도의 비율 제한을 적용합니다.
Cloud SQL Admin API는 API 사용량을 추적하고, Cloud SQL 인스턴스와 API의 성능을 모니터링하고, 인스턴스와 API 사이의 문제를 파악하는 데 도움이 되는 상세 측정항목을 생성합니다. 자세한 내용은 Monitoring API 사용량을 참조하세요.
다음 표에서는 각 카테고리의 측정항목, API, 기본 한도를 보여줍니다.
한도
주기적으로 보충되지 않는 일부 Cloud SQL 리소스에는 한도가 존재하며 Google Cloud 콘솔의 할당량 페이지에 표시되지 않습니다. 늘릴 수 있는 한도도 있지만, 한도를 늘릴 수 없는 경우도 있습니다.
구성 가능한 한도
프로젝트당 인스턴스
기본적으로 100개 한도가 있는 경우를 제외하고 프로젝트당 인스턴스를 최대 1,000개까지 사용할 수 있습니다. 상향을 요청하려면 지원 케이스를 접수하세요. 읽기 복제본은 인스턴스로 계산됩니다.
할당량 증가 요청에 대한 의존도를 줄이려면 인스턴스 수를 여러 프로젝트에 분산하는 것이 좋습니다. 그러면 잠재적 차단 문제를 방지할 수 있습니다.
최대 동시 연결 수
max_connections
플래그를 사용해 연결 한도를 구성할 수 있습니다.
MySQL은 최대 32,000개의 연결을 허용합니다. 데이터베이스에 연결하고 SHOW VARIABLES LIKE "max_connections";
명령어를 실행하면 인스턴스의 연결 한도를 확인할 수 있습니다.
주의사항
Cloud SQL 커넥터의 할당량 사용
Cloud SQL 인증 프록시 및 기타 Cloud SQL 커넥터는 Cloud SQL Admin API의 할당량을 사용합니다. Cloud SQL 커넥터는 약 1시간마다 새로고침 작업을 실행하여 작동합니다. 이 새로고침 작업은 두 번의 API 호출을 수행합니다. 한 번은 인스턴스 메타데이터를 검색하고 다른 한 번은 임시 인증서를 검색합니다.
할당량 사용량은 다음과 같이 계산됩니다.
Quota usage = connector processes running * instances * 2 API calls per hour
예를 들어 커넥터를 실행하는 프로세스가 3개 있으면 커넥터는 2개의 Cloud SQL 인스턴스에 연결하도록 구성되고, 1시간 동안 두 번의 API 호출이 수행되면 할당량 소비는 12(프로세스 3개 * 인스턴스 2개 * API 호출 2개)가 됩니다.
Cloud SQL을 시작하는 경우 위의 수식을 기록하면 다음 사항에 유의해야 합니다.
새 DB 클라이언트 확장 속도
인스턴스 추가 속도
애플리케이션마다 다른 서비스 계정 사용
Cloud SQL IAM 데이터베이스 인증
각 인스턴스의 분 단위 로그인 할당량은 성공한 로그인과 실패한 로그인 정보를 모두 포함합니다. 할당량을 초과하면 일시적으로 로그인을 사용할 수 없습니다. 자주 로그인하지 말고 승인된 네트워크를 사용하여 로그인을 제한하는 것이 좋습니다. 로그인 승인 할당량은 인스턴스별로 분당 12,000입니다.
전달 규칙 할당량
각 Cloud SQL 인스턴스는 전달 규칙과 부하 분산기로 구성됩니다. 전달 규칙에는 전달 대상이 되는 부하 분산기의 종류에 따라 할당량 한도가 있습니다. 각 전달 규칙 종류에는 프로젝트별, 네트워크별, 피어링 그룹별로 여러 할당량이 있습니다. Cloud SQL에는 네트워크별 할당량 및 피어링 그룹별 할당량에 대한 재정의 규칙도 있습니다. 즉, 생산자 네트워크에 대한 네트워크별 할당량을 늘릴 때 피어링 그룹당 할당량도 동일한 값으로 늘어납니다.
Cloud SQL 생산자 VPC는 고객의 VPC와 피어링되므로 Cloud SQL 생산자 네트워크의 네트워크 할당량과 고객 VPC의 피어링 그룹별 할당량에 도달하는 경우가 많습니다.
할당량에 도달하면 다음과 같은 특정 작업이 실패할 수 있습니다.
작업 만들기: 새 인스턴스를 만들 때 새 전달 규칙이 필요합니다.
업데이트 작업: 고객이 인스턴스의 네트워크를 전환할 수 있으므로 새 네트워크에 새 전달 규칙이 필요합니다.
유지보수 작업: 전달 규칙이 다시 생성됩니다.
문제를 방지하려면 네트워크당 총 인스턴스 수를 500개 미만으로 제한하는 것이 좋습니다.
이러한 문제가 발생한 경우 지원 케이스를 제출하면 관련 할당량이 상향됩니다.
고정 한도
IOPS
IOPS는 디스크에서 초당 처리할 수 있는 입력/출력(또는 읽기/쓰기) 작업 수입니다.
Cloud SQL에서는 영구 스토리지 디스크가 있는 Compute Engine 가상 머신(VM)을 사용합니다. 특정 VM 성능 특성에 대한 자세한 내용은 영구 디스크 성능 페이지의 최대 지속 IOPS 표를 참조하세요.
테이블 한도
MySQL용 Cloud SQL의 인스턴스당 테이블 수 한도는 기본적으로 50,000개이며, 코어 32개 이상 및 메모리 200G 이상이라는 최소 하드웨어 요구사항을 충족한다면 500,000개입니다. 최적의 성능을 위해 단일 데이터베이스의 테이블 수가 50,000개를 초과하지 않는 것이 좋습니다.
이러한 한도를 초과하는 인스턴스에는 SLA가 적용되지 않습니다. 테이블 크기가 Linux 파티션 최대 크기인 16TB에 도달하면 데이터를 더 이상 추가할 수 없습니다.
인스턴스에 필요한 메모리는 다양한 요소에 따라 달라집니다. MySQL용 Cloud SQL의 메모리 사용 방식에 대한 자세한 내용은 MySQL의 메모리 사용 방식을 참조하세요.
활성 테이블 수가 Cloud SQL 기본값보다 크거나 전체 캐시 크기가 상당히 큰 경우 인스턴스를 조정해야 합니다. 최적의 성능을 유지하기 위해 다음과 같은 방법을 사용할 수 있습니다.
- Cloud SQL Enterprise Plus 버전으로 업그레이드하여 더 많은 메모리 옵션을 사용합니다.
- Cloud SQL 머신을 업그레이드하여 인스턴스에 메모리를 추가합니다.
innodb_buffer_pool_size
데이터베이스 플래그의 값을 낮춥니다.
table_open_cache
및 table_definition_cache
플래그를 사용해 MySQL용 Cloud SQL 테이블 캐시를 수정할 수 있습니다.
성능 스키마를 사용하여 인스턴스의 테이블 캐시 크기를 예상할 수 있습니다.
활성 테이블 수가 Cloud SQL 테이블 기본값과 MySQL의 열린 테이블 권장사항보다 훨씬 큰 경우 Cloud SQL은 table_open_cache
및 table_definition_cache
데이터베이스 플래그를 인스턴스의 활성 테이블 수로 구성하도록 권장합니다.
자세한 내용은 MySQL에서 테이블을 열고 닫는 방법을 참조하세요.
작업 한도
마이크로 및 소형 머신 유형은 동시 실행 작업 수를 제한합니다.
이 한도를 초과하면 Too many operations
오류가 발생합니다.
db-custom-1-3840(단일 CPU) 머신 유형 한도는 동시 실행 작업 50개입니다.
f1-micro(공유 코어 CPU) 머신 유형 한도는 20개의 동시 실행 작업입니다.Cloud SQL 스토리지 한도
- 전용 코어: 최대 64TB입니다.
자세한 내용은 CPU 및 메모리 가격 책정을 참조하세요.
- 공유 코어: 최대 3TB입니다.
자세한 내용은 인스턴스 가격 책정을 참조하세요.
Cloud SQL 스토리지 옵션
최상의 성능을 위한 스토리지 옵션을 구성하려면 워크로드에 대해 이해하고 적절한 디스크 유형 및 크기를 선택해야 합니다. Cloud SQL에서 사용할 수 있는 옵션에 대한 자세한 내용은 인스턴스 설정을 참조하세요.App Engine 한도
표준 환경에서 실행되는 각 App Engine 인스턴스에서 하나의 인스턴스로의 동시 연결은 최대 100개까지 가능합니다. PHP 5.5 앱의 경우 동시 연결 한도는 60개입니다.
App Engine 애플리케이션에는 사용량과 환경에 따른 요청 시간 제한이 적용됩니다. 자세한 내용은 App Engine 표준 환경 표준 환경 및 가변 환경의 인스턴스 관리 방법을 참조하세요.
또한 App Engine 애플리케이션에는 App Engine 할당량 페이지에서 살펴본 바와 같이 추가 App Engine 할당량 및 한도가 적용됩니다.
Cloud Run 한도
Cloud Run에서 기본 제공되는 Cloud SQL 연결을 사용하면 Cloud Run 컨테이너 인스턴스가 Cloud SQL 데이터베이스당 100개의 연결로 제한됩니다.
Cloud Run 서비스 또는 작업의 각 인스턴스는 100개의 데이터베이스 연결을 가질 수 있으며, 이 서비스 또는 작업이 확장됨에 따라 배포당 총 연결 수가 늘어날 수 있습니다.
사이드카의 Cloud SQL 인증 프록시, Cloud SQL 언어 커넥터와 같은 다른 연결 방법을 사용하거나 Cloud SQL 인스턴스의 IP 주소에 직접 연결하는 경우에는 이 한도가 적용되지 않습니다.
Cloud Run 함수 한도
Cloud Run 함수(1세대)는 동시 실행 수를 인스턴스당 1개로 제한합니다. 단일 1세대 함수 인스턴스가 동시에 요청 두 개를 처리하는 경우는 없습니다. 대부분의 경우 단일 데이터베이스 연결만 필요합니다.
Cloud Run 함수(2세대)는 Cloud Run을 기반으로 하며 데이터베이스 연결 수는 인스턴스당 100개로 제한됩니다.