콘솔로 이동

할당량 및 한도

다른 Firebase 서비스와 마찬가지로 Firebase용 Cloud Functions는 무료 'Spark' 요금제 및 개발이나 소규모 배포에 적합한 할당량을 제공하는 고정 가격의 'Flame' 요금제를 제공합니다. Spark 및 Flame 할당량과 한도에 대한 자세한 내용은 요금제를 참조하세요. 이 페이지의 나머지 부분에서는 'Blaze' 요금제의 확장 가능한 사용량 기반의 한도를 자세히 설명합니다.

Google Cloud 함수의 할당량에는 3가지 범위가 포함됩니다.

  • 리소스 한도

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

  • 시간 제한

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

  • 비율 한도

    Cloud Functions API를 호출할 수 있는 비율이나 리소스를 사용할 수 있는 비율에 영향을 줍니다. 비율 할당량을 '시간별 리소스'라고 생각하면 됩니다.

다양한 한도 유형은 아래에 자세히 설명되어 있습니다.

리소스 한도

할당량 설명 한도 상향 가능성 범위
함수 수 프로젝트당 배포 가능한 함수의 총 개수 1,000 없음 프로젝트당
최대 배포 크기 단일 함수 배포의 최대 크기 소스의 경우 100MB(압축)
소스 및 모듈의 경우 500MB(비압축)
없음 함수당
최대 비압축 HTTP 요청 크기 HTTP 요청에서 HTTP 함수로 전송되는 데이터 10MB 없음 호출당
최대 비압축 HTTP 응답 크기 HTTP 요청에서 HTTP 함수로 전송되는 데이터 10MB 없음 호출당
백그라운드 함수의 최대 이벤트 크기 이벤트에서 백그라운드 함수로 전송되는 데이터 10MB 없음 이벤트당
최대 함수 메모리 함수에서 사용할 수 있는 메모리 양 2048MB 없음 함수당

시간 제한

할당량 설명 한도 상향 가능성 범위
최대 함수 기간 강제 종료되기 전에 함수를 실행할 수 있는 최대 시간 540초 없음 호출당
최대 빌드 시간 모든 빌드에 허용되는 최대 시간. 함수 빌드는 배포 시에 발생함 하루당 120분 있음 프로젝트당

비율 한도

할당량 설명 한도 상향 가능성 범위
초당 함수 호출 1초 동안 호출되는 함수 수. 초과할 경우 다음 할당량 기간이 될 때까지 모든 함수가 일시중지됩니다. 100초당 100,000,000 있음 지역별
GHz-초 실행되는 모든 함수에서 사용하는 GHz 초의 수. 예를 들어 400MHz CPU에 해당하는 메모리 256MB를 사용하는 함수(컴퓨팅 시간 가격 참조)를 1초 동안 실행하면 0.4GHz-초가 사용됩니다. 실행 중인 함수의 시간은 100ms의 배수로 반올림됩니다. 100초당 100,000GHz-초 있음 지역별
일일 GHz-초 실행 중인 모든 함수에서 하루 동안 사용하는 GHz 초의 수입니다. 하루당 10,000,000GHz-초 있음 프로젝트당
API 호출(읽기) Cloud Functions API를 통해 함수를 설명하거나 나열하는 호출 100초당 5,000 있음 프로젝트당
API 호출(쓰기) Cloud Functions API를 통해 함수를 배포하거나 삭제하는 호출 100초당 80 없음1 프로젝트당
API 호출(호출) '호출' API 호출 100초당 16 없음2 프로젝트당
수신 소켓 데이터 실행 중인 모든 함수로 전송되는 데이터: 예를 들어 Google Cloud Storage에서 파일을 다운로드할 때 함수에서 사용하는 데이터가 이 한도에 반영됩니다. 100초당 10GB 있음 지역별
발신 소켓 데이터 HTTP 응답 데이터를 제외한 실행 중인 모든 함수에서 전송되는 데이터 100초당 10GB 있음 지역별
소켓 연결 새 발신 소켓 연결을 설정하려는 시도 100초당 1,000,000 있음 지역별
DNS 해석 DNS에서 도메인 이름을 해석하려는 시도, 캐시 처리된 결과는 이 할당량에 포함되지 않습니다. 100초당 40,000 있음 프로젝트당

확장성

HTTP에서 호출된 Cloud Functions는 원하는 호출 비율로 빠르게 확장되는 반면 백그라운드 함수는 보다 점진적으로 확장됩니다. 후자의 경우 확장성은 함수의 기간에 따라 달라지며 함수 기간이 길수록 확장 속도가 느려집니다.

모든 함수 유형의 최대 확장성은 위에 나온 비율 한도로 제한됩니다. 개별 함수에 적용되며 여러 함수를 배포해 우회할 수 있는 한도가 있는 반면 전체 프로젝트에 적용되는 한도도 있습니다.

백그라운드 함수에는 아래에 설명된 것과 같은 추가 한도가 있습니다. HTTP 함수에는 다음 한도가 적용되지 않습니다.

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

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

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

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

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

Firebase CLI 배포의 할당량 한도

Firebase CLI가 배포하는 각 함수에 대해 다음과 같은 유형의 속도 및 시간 제한이 영향을 받습니다.

  • API 호출(읽기) - 함수 개수에 관계없이 배포당 1번 호출
    • 제한: 100초당 5,000
  • API 호출(쓰기) - 함수당 1번 호출
    • 제한: 100초당 80
  • 최대 빌드 시간 - 크기에 따라 함수당 몇 분
    • 제한: 하루당 120분

Firebase CLI 참조도 확인하세요.