Lambda 함수의 시간이 초과되는지 확인하려면 어떻게 해야 합니까?

2분 분량
0

AWS Lambda 함수에서 간헐적으로 오류가 발생하고 있으며, 함수의 Amazon CloudWatch 지표를 검토할 때 이유를 잘 모르겠습니다. Lambda 함수의 오류율 증가의 원인이 시간 초과 문제일 수 있습니까? 그렇다면 Lambda 함수가 시간 초과되는지 확인하려면 어떻게 해야 합니까?

간략한 설명

Lambda 함수의 CloudWatch 로그 그룹을 검토할 때 Task timed out 구문을 검색합니다. 그런 다음 관련된 시간 초과 호출의 요청 ID를 사용하여 각 호출 시간 초과에 대한 전체 로그를 검색합니다.

식별된 시간 초과 오류 문제를 해결하려면 Lambda 함수 호출 시간 초과 오류 문제를 해결하려면 어떻게 해야 합니까?를 참조하십시오.

참고: Lambda 함수 호출 시간 초과가 발생하는 경우 오류 메시지가 아닌 실패한 호출의 CloudWatch 로그에 작업 시간 초과 메시지가 표시됩니다. 함수의 CloudWatch 로그에서 오류 메시지만 검색하는 경우 코드 관련 런타임 오류만 반환되고 호출 시간 초과 오류는 반환되지 않습니다. 자세한 내용은 Amazon CloudWatch를 사용하여 AWS Lambda 모니터링을 참조하십시오.

해결 방법

사전 요구 사항

아직 설정하지 않은 경우, CloudWatch 로깅 권한을 Lambda 함수에 부여합니다. 자세한 내용은 Lambda 기능에 대한 AWS 관리형 정책을 참조하십시오 .

함수의 CloudWatch 로그 그룹에서 “Task timed out” 문구를 검색하여 시간 초과된 호출의 요청 ID를 검색합니다.

참고: CloudWatch Logs Insights 쿼리는 쿼리된 데이터 양에 따라 요금이 발생합니다. 자세한 내용은 Amazon CloudWatch 요금을 참조하세요.

1.    Lambda 콘솔에서 함수 페이지를 엽니다.

2.    함수를 선택합니다.

3.    [모니터링(Monitor)]을 선택합니다.

4.    [CloudWatch에서 로그 보기(View logs in CloudWatch)]를 선택합니다. 함수의 [로그 그룹 세부 정보(Log group details)] 페이지가 CloudWatch 콘솔에서 열립니다.

5.    [Log Insights에서 보기(View in Logs Insights)]를 선택합니다.

6.    [Logs Insights] 쿼리 텍스트 상자에 다음 쿼리를 입력하고 **쿼리 실행(Run query)**을 선택합니다.

fields @timestamp, @requestId, @message, @logStream
| filter @message like "Task timed out"
| sort @timestamp desc
| limit 100

응답에서 시간 초과된 호출에 대한 요청 ID 목록이 반환됩니다.

자세한 내용은 CloudWatch Logs Insights를 사용한 로그 데이터 분석을 참조하세요.

참고: 로그 그룹이 큰 경우 Insights 쿼리에 datetime 함수를 추가하여 검색 범위를 제한하는 것이 좋습니다. 자세한 내용은 CloudWatch Logs Insights 쿼리 구문을 참조하세요.

시간 초과된 호출의 요청 ID를 사용하여 각 호출 시간 초과에 대한 전체 로그를 검색합니다.

사용 중인 프로그래밍 언어에 대한 표준 로깅 기능을 사용하여 로그를 출력합니다. 언어별 지침은 AWS Lambda용 Amazon CloudWatch Logs에 액세스AWS CLI 사용 섹션을 참조하세요.


AWS 공식
AWS 공식업데이트됨 2년 전