이 문서에서는 Workflows에 적용되는 할당량과 한도에 대해 설명합니다.
Google Cloud는 공정성을 보장하고 리소스 사용 및 가용성의 급증을 줄이기 위해 할당량을 사용합니다. 할당량은 Google Cloud 프로젝트에서 사용할 수 있는 Google Cloud 리소스의 양을 제한합니다. 할당량은 하드웨어, 소프트웨어, 네트워크 구성요소를 포함하여 다양한 리소스 유형에 적용됩니다. 예를 들어 할당량에 따라 서비스에 대한 API 호출 수, 프로젝트에서 동시에 사용하는 부하 분산기 수, 만들 수 있는 프로젝트 수가 제한될 수 있습니다. 할당량은 서비스 과부하를 방지하여 Google Cloud 사용자 커뮤니티를 보호합니다. 할당량은 자체 Google Cloud 리소스를 관리하는 데도 도움이 됩니다.
Cloud Quotas 시스템은 다음을 수행합니다.
- Google Cloud 제품 및 서비스 소비량 모니터링
- 리소스 소비 제한
- 할당량 값 변경을 요청할 수 있는 수단 제공
대부분의 경우 할당량이 허용하는 것보다 더 많은 리소스를 사용하려고 하면 시스템에서 리소스에 대한 액세스를 차단하고 수행하려는 작업이 실패합니다.
할당량은 일반적으로 Google Cloud 프로젝트 수준에서 적용됩니다. 한 프로젝트의 리소스를 사용해도 다른 프로젝트에서 사용 가능한 할당량에는 영향을 미치지 않습니다. Google Cloud 프로젝트 내에서 할당량은 모든 애플리케이션과 IP 주소에 공유됩니다.
Workflows 리소스에도 한도가 있습니다. 이 한도는 할당량 시스템과 관련이 없습니다. 별도로 명시되지 않는 한 한도를 변경할 수 없습니다.
할당량
Workflows는 각 Google Cloud 프로젝트에 다음과 같은 할당량을 적용합니다. 할당량을 늘리거나 줄일 수 있습니다.
할당량 | 설명 | 값 |
---|---|---|
총 워크플로 수 | 프로젝트당 배포 가능한 최대 워크플로 수 | 10,000 |
동시 실행 수 | 리전별 프로젝트당 최대 활성 워크플로 실행 횟수입니다. 동시 실행은 시작되었지만 아직 완료되거나, 실패하거나, 대기 중인 실행입니다. 이 한도에 도달하면 HTTP 429 Too many requests 상태 코드와 함께 새 실행이 실패합니다. |
7,500 |
Workflow API 요청 | 프로젝트에 있는 모든 워크플로의 최대 API 요청 수(create , update , list , get , delete )(위치당 분당) |
1,200 |
Execution API 가져오기 요청 | 프로젝트의 모든 워크플로에서 get 워크플로 실행에 대한 최대 요청 수(위치당 분당) |
6,000 |
Execution API 나열 요청 | 프로젝트의 모든 워크플로에서 list 워크플로 실행에 대한 최대 요청 수(위치당 분당) |
1,200 |
Execution API 쓰기 요청 | 프로젝트의 모든 워크플로에서 create 및 cancel 워크플로 실행(Eventarc 트리거 실행 포함)에 대한 최대 요청 수 입니다.Eventarc 트리거 실행이 이 최댓값을 초과하면 Eventarc 재시도 정책에 따라 이벤트가 재시도됩니다. |
6,000 |
Execution API 가져오기 단계 항목 요청 | 워크플로 실행에서 get 단계 항목에 대한 최대 요청 수(위치당 분당) |
6,000 |
Execution API 나열 단계 항목 요청 | 워크플로 실행에서 list 단계 항목에 대한 최대 요청 수(위치당 분당) |
1,200 |
Execution API 내보내기 데이터 요청 | 워크플로 실행에서 export data 에 대한 최대 요청 수(위치당 분당) |
10 |
콜백 엔드포인트에 대한 HTTP 요청 | 프로젝트에 있는 모든 워크플로의 실행 리소스에서 수행된 최대 SendHttpCallback API 요청 수(위치당 분당) |
1,500 |
Execution API 나열 콜백 요청 | 워크플로 실행에서 list 콜백에 대한 최대 요청 수(위치당 분당) |
300 |
할당량 상향 요청
할당량을 늘리거나 줄이려면 Google Cloud 콘솔을 사용합니다. 자세한 내용은 할당량 상향 요청을 참조하세요.
단계 한도
Workflows는 워크플로별로 다음과 같은 단계 한도를 적용합니다. 다음 한도의 변경을 요청할 수 없습니다.
한도 | 설명 | 값 |
---|---|---|
단계별 할당 | 단일 단계에서 수행할 수 있는 최대 할당 수 | 50 |
스위치당 조건 | 단일 스위치 블록에서 평가할 수 있는 최대 조건 수 | 50 |
최대 호출 스택 깊이 | 호출 함수의 최대 수준 수. 예를 들어 하위 워크플로가 자체 또는 다른 하위 워크플로를 호출하는 경우 또는 다른 함수를 호출하는 표준 라이브러리 함수 호출입니다. | 20 |
최소 단계 수 | 한 워크플로의 최소 단계 수 | 1 |
최대 단계 수 | 워크플로 단일 실행에서 수행할 수 있는 최대 단계 수 | 100,000 |
병렬 단계 한도
병렬 단계를 사용할 때 Workflows에 다음 한도가 적용됩니다. 다음 한도의 변경을 요청할 수 없습니다.
한도 | 설명 | 값 |
---|---|---|
단계당 브랜치 | 병렬 단계 내에서 지원되는 최대 브랜치 수 | 10 |
병렬 깊이 | 병렬 단계가 중첩될 수 있는 최대 깊이 | 2 |
동시 브랜치 및 반복 | 하나 이상의 실행 중인 스레드가 완료될 때까지 대기하기 위해 자동으로 큐에 추가될 때까지 단일 워크플로 실행 내에서 동시에 실행될 수 있는 최대 브랜치 및 반복 횟수입니다. 총 스레드 수 한도는 없습니다. 그러나 다른 모든 한도가 적용됩니다. |
20 |
병렬 단계 내에서 포착되지 않은 예외 | 워크플로 실행 중 발생할 수 있는 미처리 예외의 최대 개수(합계) | 100 |
리소스 한도
Workflows에 적용되는 사용량 한도는 다음과 같습니다. 다음 한도의 변경을 요청할 수 없습니다.
한도 | 설명 | 값 |
---|---|---|
소스 코드 크기 | 워크플로를 정의하는 YAML 또는 JSON 파일의 최대 크기 | 128KB |
응답 크기 | HTTP 응답의 최대 크기(변수로 저장된 경우 변수의 메모리 한도가 적용됨) | 2MB |
표현식 길이 | 단일 표현식의 최대 문자 수 | 400자 |
데이터 크기 | 변수, 인수, 이벤트의 최대 누적 크기: | 512KB |
|
||
|
||
|
||
UTF-8 인코딩을 사용한 바이트의 최대 문자열 길이 | 256KB | |
환경 변수 | 사용자 정의 환경 변수 정의 문자열(KEY=value )의 최대 크기입니다. 최대 20개의 변수를 정의할 수 있습니다. |
4KiB |
실행 지속 시간 | 워크플로 실행의 최대 기간(시작 시간에서 종료 시간까지)입니다. 이 한도를 초과하는 모든 워크플로는 타임아웃 오류로 종료됩니다. | 1년 |
실행 보관 | 워크플로 실행 완료 후 실행 기록 및 결과의 최대 보관 기간 | 90일 |
중복 삭제 기간 | 이벤트로 워크플로 실행을 트리거할 때 처리가 단 한 번만 이루어지도록 보장하는 중복 삭제 기간 | 24시간 |