Lambda와 통합되는 API Gateway 엔드포인트의 문제를 해결하려면 어떻게 해야 합니까?

2분 분량
0

Amazon API Gateway 엔드포인트를 AWS Lambda와 통합하려고 하는데 문제가 발생했습니다.

간략한 설명

다음과 같은 이유로 Lambda와 통합되는 API Gateway 엔드포인트에 문제가 발생할 수 있습니다.

  • API Gateway에 Lambda 함수 권한이 없습니다.
  • 스로틀링이 발생합니다.
  • HTTP 상태 코드 매핑이 잘못되었거나 누락되었습니다.
  • Lambda 서비스 예외가 관리되지 않습니다.

해결 방법

참고: 다음 해결 방법에서는 REST API Gateway를 사용하여 문제를 해결합니다.

시작하기 전에 Amazon CloudWatch Logs를 활성화하여 API Gateway 오류 문제를 해결하십시오. **Log level(로그 수준)**에서 INFO를 선택하여 모든 요청에 대한 실행 로그를 생성합니다.

API Gateway에 Lambda 함수 권한이 없음

Lambda 함수에 대한 잘못된 권한 오류는 API Gateway에 Lambda 함수를 호출할 권한이 없을 때 발생합니다. 이 문제를 해결하려면 API Gateway REST API에서 발생한 “Lambda 함수에 대한 잘못된 권한” 오류를 해결하려면 어떻게 해야 합니까?를 참조하십시오.

참고: 다른 서비스를 사용하여 AWS CloudFormation과 같은 API Gateway 리소스를 배포하는 경우 AWS::Lambda::Permission 리소스에 대한 권한을 부여하십시오.

스로틀링 발생

많은 수의 요청으로 인해 백엔드 서비스에서 스로틀링이 발생하면 API Gateway API가 내부 서버 오류를 반환할 수 있습니다. 지수 백오프 및 재시도 메커니즘을 활성화한 다음, 요청을 다시 시도하십시오. 문제가 지속되면 API Gateway 할당량을 확인하십시오. 서비스 할당량을 초과하는 경우 할당량 증가를 요청하십시오.

또한 Lambda 함수 스로틀링 문제로 인해 속도 제한 초과429 TooManyRequestsException 오류가 발생할 수 있습니다. 자세한 내용은 "속도 제한 초과" 및 429 "TooManyRequestsException" 오류가 발생하는 Lambda 함수 스로틀링 문제를 해결하려면 어떻게 해야 합니까?를 참조하십시오.

함수가 스로틀링을 일으키지 않도록 Lambda 함수의 동시성에 대한 할당량 증가를 요청하십시오.

상태 코드 매핑이 잘못되었거나 누락됨

HTTP 상태 코드 매핑이 잘못되었거나 누락된 경우 다음과 유사한 500 오류 메시지가 표시될 수 있습니다.

"Execution failed due to configuration error: Output mapping refers to an invalid method response: 2xx/4xx/5xx".

이 오류를 해결하려면 올바른 상태 코드를 반환하도록 API 작업의 통합 요청 및 응답을 구성하십시오.

Lambda 서비스 예외가 관리되지 않음

Lambda 함수 시간 제한과 같은 Lambda 서비스 예외를 관리하지 않는 경우 Lambda.Unknown 오류가 발생합니다. Lambda 함수 시간 초과를 방지하려면 Lambda 함수 코드를 멱등성으로 만드십시오.

자세한 내용은 Amazon API Gateway 및 AWS Lambda의 오류 처리 패턴을 참조하십시오.

관련 정보

API Gateway REST API의 5xx 오류를 해결하려면 어떻게 해야 합니까?