할당량

이 문서에서는 Google Cloud Functions의 할당량 한도를 설명합니다.

Google Cloud Functions의 할당량에는 3가지가 있습니다.

  • 리소스 한도

    함수에서 사용할 수 있는 총 리소스 양에 영향을 줍니다.

  • 시간 제한

    실행할 수 있는 시간에 영향을 줍니다.

  • 비율 한도

    Cloud Functions API를 호출하여 함수를 관리할 수 있는 비율에 영향을 줍니다.

아래에서 다양한 한도 유형에 대해 자세히 설명합니다. 해당하는 경우 Cloud Functions(1세대)와 Cloud Functions(2세대)의 한도 차이를 설명합니다.

리소스 한도

리소스 한도는 함수에서 사용할 수 있는 총 리소스 양에 영향을 줍니다. 리전 범위는 프로젝트별로 적용되며 프로젝트마다 고유한 한도가 유지됩니다.

할당량 설명 한도(1세대) 한도(2세대) 상향 가능성 범위
함수 수 리전당 배포 가능한 함수의 총 개수 1,000 1,000에서 배포된 Cloud Run 서비스 수를 뺀 개수 아니요 리전별
최대 배포 크기 단일 함수 배포의 최대 크기 소스의 경우 100MB(압축)
소스 및 모듈의 경우 500MB(비압축)
해당 사항 없음 아니요 함수당
최대 비압축 HTTP 요청 크기 HTTP 요청에서 HTTP 함수로 전송되는 데이터 10MB 32MB 아니요 호출당
최대 비압축 HTTP 응답 크기 HTTP 응답의 HTTP 함수에서 전송되는 데이터 10MB 스트리밍 응답의 경우 10MB
비 스트리밍 응답의 경우 32MB
아니요 호출당
이벤트 기반 함수의 최대 이벤트 크기 이벤트에서 백그라운드 함수로 전송되는 데이터 10MB Eventarc 이벤트의 경우 512KB
기존 이벤트의 경우 10MB
아니요 이벤트당
최대 함수 메모리 각 함수 인스턴스에서 사용할 수 있는 메모리 양 8GiB 32GiB 아니요 함수당
최대 프로젝트 메모리 프로젝트에서 사용할 수 있는 메모리 양(By)입니다. 1분 동안 함수 인스턴스에서 사용자가 요청한 메모리의 총 합계로 측정됩니다. 선택한 리전에 따라 다릅니다. 이 한도는 대용량 리전에서 더 높을 수 있으며 최근에 열린 리전의 경우 더 낮을 수 있습니다. 해당 사항 없음 프로젝트 및 리전별
최대 프로젝트 CPU 프로젝트에서 사용할 수 있는 CPU 양(밀리 vCPU)입니다. 1분 동안 함수 인스턴스에서 사용자가 요청한 CPU의 총 합계로 측정됩니다. 선택한 리전에 따라 다릅니다. 이 한도는 대용량 리전에서 더 높을 수 있으며 최근에 열린 리전의 경우 더 낮을 수 있습니다. 해당 사항 없음 프로젝트 및 리전별

시간 제한

할당량 설명 한도(1세대) 한도(2세대) 상향 가능성 범위
최대 함수 실행 기간 강제 종료되기 전에 함수를 실행할 수 있는 최대 시간 540초 HTTP 함수의 경우 60분
이벤트 기반 함수의 경우 9분
아니요 호출당

비율 한도

할당량 설명 한도(1세대) 한도(2세대) 상향 가능성 범위
API 호출(READ) Cloud Functions API를 통해 함수를 설명하거나 나열하는 호출 100초당 5,000 60초당 1,200 1세대 전용 프로젝트당(1세대)
리전당(2세대)
API 호출(WRITE) Cloud Functions API를 통해 함수를 배포하거나 삭제하는 호출 100초당 80 60초당 60 없음 1 프로젝트당(1세대)
리전당(2세대)
API 호출(CALL) '호출' API에 대한 호출 100초당 16 해당 사항 없음 없음 2 프로젝트당

확장성

HTTP에서 호출된 Cloud Functions는 수신 트래픽을 처리하기 위해 빠르게 확장되는 반면 백그라운드 함수는 보다 점진적으로 확장됩니다. 함수의 확장 기능은 다음을 포함하여 몇 가지 요인으로 결정됩니다.

  • 함수 실행이 완료되는 데 걸리는 시간(단기 실행 함수는 일반적으로 더 많은 동시 요청을 처리하도록 확장 가능)
  • 콜드 스타트에서 함수를 초기화하는 데 걸리는 시간
  • 함수의 오류율
  • 리전별 부하 및 데이터 센터 용량과 같은 일시적 요인

  • 구성은 최소 인스턴스, 최대 인스턴스, 동시 실행(동시 실행은 2세대만)에 의해 정의됩니다.

백그라운드 함수에는 아래 설명처럼 추가 한도가 있습니다. 1세대 HTTP 함수에는 이 한도가 적용되지 않습니다. 2세대 HTTP 함수의 기본 최대 인스턴스 한도는 100이며 1,000까지 늘릴 수 있습니다. 1세대 HTTP 함수에는 기본 최대 인스턴스 한도가 없습니다. 1세대 HTTP 함수를 사용하여 무한한 확장 이벤트를 방지하려면 한도를 설정하는 것이 좋습니다(예: 3000).

백그라운드 함수의 추가 할당량

할당량 설명 한도 상향 가능성 범위 제품 버전
최대 동시 호출 수 단일 함수의 최대 동시 호출 수
예: 각 이벤트를 처리하는 데 100초가 걸릴 경우 호출 비율은 초당 평균 30개로 제한됩니다.
3,000 함수당 1세대만
최대 호출 비율 단일 함수로 처리되는 이벤트의 최대 비율
예: 한 이벤트를 처리하는 데 100ms가 걸릴 경우 동시에 처리되는 요청이 평균 100개여도 호출 비율은 초당 1,000개로 제한됩니다.
초당 1,000 아니요 함수당 1세대만
최대 동시 이벤트 데이터 크기 단일 함수의 동시 호출에 수신되는 이벤트의 최대 전체 크기
예: 1MB 크기의 이벤트를 처리하는 데 10초가 걸리는 경우 처음 10개의 이벤트 중 하나를 처리 완료될 때까지 11번째 이벤트는 처리되지 않으므로 평균 비율은 초당 이벤트 1개입니다.
10MB 아니요 함수당 1세대 및 2세대
수신 이벤트의 최대 처리량 단일 함수에 수신되는 이벤트의 최대 처리량
예: 이벤트 크기가 1MB인 경우 함수가 100ms 이내에 완료되더라도 호출 비율은 초당 최대 10개입니다.
초당 10MB 아니요 함수당 1세대 및 2세대

할당량 한도에 도달하는 경우

함수에서 할당된 모든 리소스를 소진하게 되면 할당량이 보충되거나 상향 조정될 때까지 리소스를 사용할 수 없게 됩니다. 즉, 할당량이 보충되거나 상향 조정되기 전에는 내 함수와 동일한 프로젝트의 다른 모든 함수가 작동하지 않을 수도 있습니다. 리소스 중 하나가 할당량을 초과하고 함수를 실행할 수 없는 경우 함수에서 HTTP 500 오류 코드를 반환합니다.

여기에 나온 기본값 이상으로 할당량을 상향 조정하려면 Cloud Functions 할당량 페이지로 이동하여 수정할 할당량을 선택하고 할당량 수정을 클릭합니다. 그런 다음 사용자 정보에 대한 메시지가 표시되면 해당 정보를 입력하고 선택한 각 할당량에 대한 새 할당량 한도를 입력합니다.