내용으로 건너뛰기

CloudFront에서 Lambda@Edge 함수로 인해 발생하는 502 및 503 오류를 해결하려면 어떻게 해야 합니까?

2분 분량
0

AWS Lambda@Edge 함수를 Amazon CloudFront 배포와 연결할 때 발생하는 502 및 503 오류를 해결하고 싶습니다.

해결 방법

Lambda@Edge 함수가 502 오류를 반환함

‘502’ 오류는 Lambda@Edge 함수가 잘못된 형식의 응답을 반환하거나 Lambda@Edge 함수에 유효하지 않은 콘텐츠가 포함된 경우 발생합니다. 응답의 객체 구조는 Lambda@Edge 이벤트 구조와 일치해야 합니다.

‘502’ 오류를 해결하려면 다음 작업을 수행하십시오.

  • Lambda@Edge 함수가 유효한 JSON 객체를 반환하는지 확인합니다.
  • 응답에 이벤트 유형에 따라 모든 필수 필드가 포함되어 있는지 확인합니다.
  • 응답의 객체가 유효하고 예상 구조를 따르는지 확인합니다.
  • 엣지 함수가 허용되지 않는 HTTP 헤더를 추가했는지 확인합니다.
  • 읽기 전용 헤더를 제거합니다.
  • Lambda@Edge 함수가 오리진 요청 이벤트의 경우 요청 본문 크기인 1MB를 초과하지 않고, 최종 사용자 요청 이벤트의 경우 40KB를 초과하지 않는지 확인합니다.
  • 응답 필드에 유효하지 않은 문자나 값이 있는지 확인합니다.

자세한 내용은 Lambda@Edge 함수 테스트 및 디버깅Lambda@Edge의 제한 사항을 참조하십시오.

Lambda@Edge 함수가 503 오류를 반환함

‘503’ 오류는 함수 코드에 처리되지 않은 예외나 오류가 있을 때 발생합니다.

이 문제를 해결하려면 Lambda@Edge 함수에 로깅 명령문(예: console.log()))을 추가하여 Amazon CloudWatch Logs에 기록하십시오. CloudFront가 함수를 실행하는 AWS 리전에서 CloudWatch 로그를 검토합니다.

자세한 내용은 AWS에서 콘텐츠 전송 디버깅을 위한 4단계Lambda에서 실행 문제 해결을 참조하십시오.

Lambda@Edge 할당량을 초과하면 Lambda에서 함수 실행을 차단합니다. Lambda@Edge CloudWatch 지표에서 각 AWS 리전의 동시 실행 초과, 함수 초과와 같은 문제가 있는지 확인하십시오.

AWS 공식업데이트됨 3달 전