AWS Batch 작업이 실패하고 “요청이 너무 많아 오류 발생” 에러가 나타납니다.
간략한 설명
AWS Batch는 계정의 AWS 리전을 기반으로 AWS 계정의 모든 API 요청을 조절합니다. 이 작업은 일관된 성능을 유지하고 모든 고객에게 공정한 서비스를 제공합니다.
AWS Batch API 할당량은 일반적으로 DescribeJobs와 SubmitJob API 호출을 비롯한 모든 API에 적용됩니다.
참고: SubmitJob 작업을 포함하여 AWS Batch API 직접 호출에 대한 각 계정의 초당 최대 트랜잭션 수(TPS)는 50개입니다. 이는 고정된 한도입니다.
AWS Batch API 할당량 한도에 도달하면 AWS Batch에서 다음 오류 메시지를 반환합니다.
“요청이 너무 많아 오류가 발생했습니다(서비스: AWSBatch; 상태 코드: 429; 오류 코드: TooManyRequestsException)."
요청이 많아 오류가 발생하는 원인에는 일반적으로 다음 두 가지가 있습니다.
- AWS 명령줄 인터페이스(CLI)나 AWS SDK를 통해 프로그래밍 방식으로 여러 작업을 동시에 제출합니다.
- AWS Lambda를 사용하여 여러 작업을 제출합니다.
**참고:**API 할당량은 AWS 엔드포인트에만 적용됩니다. 이 할당량은 내 계정에 적용되지 않습니다.
AWS에서는 Amazon API에 대한 모든 호출이 허용되는 최대 API 요청 비율을 초과하지 않도록 합니다. 최대 API 요청 속도는 지역에 따라 다를 수 있습니다.
해결 방법
재시도하거나 지터가 포함된 지수 백오프 알고리즘을 사용한 후 작업을 다시 제출하십시오.
자세한 내용은 지수 백오프 및 지터를 참조하세요.
AWS Batch 어레이 작업을 사용하여 SubmitJob API 호출 한 번으로 여러 작업을 제출할 수 있습니다.
자세한 내용은 어레이 작업 및 SubmitJob을 참조하세요.
참고: AWS Batch 어레이 작업을 사용하면 한 번의 API 직접 호출로 작업 사본을 최대 10,000개까지 제출할 수 있습니다.