AWS Lambda 함수에서 “런타임 종료” 오류가 반환되었습니다.
간략한 설명
Lambda 런타임 오류는 다음과 유사한 상태 코드를 반환합니다.
{
"errorType": "Runtime.ExitError",
"errorMessage": "RequestId: 1234aa1b-cd50-6c78-90cd-ce1234ce9950 Error: Runtime exited with error: exit status 129"
}
해결 방법
다음 모범 사례에 따라 Lambda 함수 코드를 검토하고 근본 원인을 식별한 다음, 런타임 오류를 해결하세요.
- 함수 코드에서 process.exit(0), exit(), quit(), os.Exit(), Environment.Exit() 등과 같은 구문을 명시적으로 호출하는 종료 코드가 있는지 확인합니다. 함수 코드에 이러한 종료 코드가 포함되어 있는 경우 해당 종료 코드를 제거하거나 유효한 반환 문으로 바꾸세요.
- Lambda 함수에 대한 Amazon CloudWatch Logs를 검토하고 함수 메모리를 확인합니다. Lambda는 구성된 메모리 양에 비례하여 CPU 성능을 할당합니다. 메모리 양을 늘려야 할 수도 있습니다. Lambda 함수에 할당되는 메모리 양을 128MB에서 10,240MB 사이로 구성할 수 있습니다. 코드를 최적화하여 소모되는 리소스의 양을 줄일 수도 있습니다. 자세한 내용은 메모리 및 컴퓨팅 성능을 참조하세요.
- 함수가 백엔드 데이터베이스에 연결하는 경우 연결이 너무 많이 발생할 수 있습니다. 불필요한 연결을 피하려면 함수 핸들러 외부에서 데이터베이스 연결을 초기화하십시오. 후속 Lambda 함수 호출 요청은 이러한 데이터베이스 연결을 재사용할 수 있습니다. 자세한 내용은 AWS Lambda 함수 사용 모범 사례를 참고하세요.
- Lambda 함수를 호출할 때 유휴 연결을 재사용하려고 하면 연결 오류가 발생합니다. 지속적인 연결을 유지하려면 런타임과 관련된 연결 유지 지시문을 사용하세요. 자세한 내용은 Node.js에서 연결 유지를 통한 연결 재사용을 참고하세요.
- 파일 설명자 및 스레드 제한 1,024로 인해 Lambda 함수에 “메모리 부족” 오류가 발생하는지 확인하세요. 함수에 Lambda Insights의 향상된 모니터링을 켜세요. 특수 쿼리 구문을 사용하여 메모리 사용량 지표에 대한 로그 데이터를 검색하고 분석할 수 있습니다. 예를 들어 fd_use 지표를 모니터링할 수 있습니다. 지표는 로그 그룹 이름 /aws/lambda-insights에 저장됩니다. 자세한 내용은 Lambda Insights에서 수집한 지표를 참고하세요.
관련 정보
Lambda 함수가 시간 초과되었는지 확인하려면 어떻게 해야 하나요?