Amazon API Gateway를 사용하는 API에 요청을 보낼 때 "429 Too Many Requests" 또는 "Limited Exceeded" 오류가 표시됩니다.
간략한 설명
할당량의 스로틀링 제한을 초과하면 "429 Too Many Requests" 또는 "Limited Exceeded" 오류 응답을 받게 됩니다. API Gateway에는 리전별로 계정 수준 할당량이 있습니다. 스로틀링 관련 설정에 대한 자세한 내용은 API Gateway에서 스로틀링 제한 설정이 적용되는 방식을 참조하십시오.
해결 방법
먼저 지침에 따라 Amazon CloudWatch Logs를 활성화하여 API 게이트웨이 문제를 해결했는지 확인합니다. 오류가 있는 API 요청에 대해서만 이벤트 로그를 생성하려면 ERROR를 선택해야 합니다. 그런 다음 CloudWatch 콘솔을 사용하여 로깅된 API 요청과 응답을 확인합니다.
"429 Too Many Requests" 오류
사용량 계획의 API 스테이지에 설정한 클라이언트별 또는 메서드별 스로틀링 제한에서 속도 또는 버스트 제한을 확인합니다. 속도 또는 버스트 제한이 초과되면 CloudWatch 이벤트는 초과된 스로틀 제한을 로깅합니다. 다음과 비슷한 오류가 나타납니다.
(f277a0b4-2bcd-41b3-8e43-4de770663ffb) API Key
**********************************
F0yrv6 exceeded throttle limit for API
Stage rohkz08x02/dev: Key throttle limit exceeded for Usage Plan ID nnpegc, RestApi rohkz08x02, Stage dev, Resource f646q2, HttpMethod GET. Limit: 5.00 Burst: 10
이 오류를 해결하려면 지터링된 지수 백오프가 있는 표준 재시도 모드를 사용한 다음 API 요청을 다시 제출합니다. 자세한 내용은 재시도 동작을 참조하십시오.
"Limit Exceeded" 오류
이 오류가 발생하면 API Gateway 사용량 계획의 할당량 한도를 초과한 것입니다. CloudWatch를 실행하면 초과된 할당량 제한이 로깅됩니다. 다음과 비슷한 오류가 나타납니다.
(7b819c41-e0a0-433a-883e-bc461fd70fd6) API Key
**********************************
F0yrv6 exceeded quota limit for API
Stage rohkz08x02/dev: Key quota exhausted for Usage Plan ID nnpegc. Q
Limit: 500 Period: DAY
이 오류를 해결하려면 할당량을 연장하십시오.
관련 정보
"Rate exceeded" 및 429 "TooManyRequestsException" 오류가 발생하는 Lambda 함수 스로틀링 문제를 해결하려면 어떻게 해야 합니까?
CloudWatch 로그에서 API 게이트웨이 REST API 오류를 찾으려면 어떻게 해야 합니까?