◇ 공부 기록용으로 작성하였으니 틀린점, 피드백 주시면 감사하겠습니다 ◇
Lambda 함수를 작성하면 자동으로 Lambda의 특정 항목을 모니터링하여 CloudWatch에 Metrics(로그)로서 기록된다.
여기서 특정 항목이란 어떤걸까?
특정 항목
- Request (요청)
- Request당 Latency
- 에러가 된 Request
- 함수 코드 내 로그 출력: console.log(Node.js), print(Python), System.out.println(Java)
예시
REPORT RequestId: <request-id> Duration: <duration> ms Billed Duration: <billed-duration> ms Memory Size: <memory-size> MB Max Memory Used: <max-memory-used> MB
예시) CloudWatch 로그
START RequestId: 12345678-1234-1234-1234-123456789012 Version: $LATEST
2024-05-31T12:00:00.000Z 12345678-1234-1234-1234-123456789012 INFO Lambda 함수가 시작되었습니다.
2024-05-31T12:00:00.500Z 12345678-1234-1234-1234-123456789012 INFO 함수 결과: { message: '성공', key: 'exampleValue' }
2024-05-31T12:00:00.600Z 12345678-1234-1234-1234-123456789012 INFO Lambda 함수가 종료되었습니다.
END RequestId: 12345678-1234-1234-1234-123456789012
REPORT RequestId: 12345678-1234-1234-1234-123456789012 Duration: 600.00 ms Billed Duration: 700 ms Memory Size: 128 MB Max Memory Used: 48 MB
예시) CloudWatch 로그 (오류 발생 시)
START RequestId: 87654321-4321-4321-4321-210987654321 Version: $LATEST
2024-05-31T12:00:01.000Z 87654321-4321-4321-4321-210987654321 INFO Lambda 함수가 시작되었습니다.
2024-05-31T12:00:01.200Z 87654321-4321-4321-4321-210987654321 ERROR 오류 발생: Error: event에 key가 없습니다.
at someFunction (/var/task/index.js:14:11)
at Runtime.exports.handler (/var/task/index.js:4:19)
at Runtime.handleOnceNonStreaming (file:///var/runtime/index.mjs:1141:29)
2024-05-31T12:00:01.300Z 87654321-4321-4321-4321-210987654321 INFO Lambda 함수가 종료되었습니다.
END RequestId: 87654321-4321-4321-4321-210987654321
REPORT RequestId: 87654321-4321-4321-4321-210987654321 Duration: 300.00 ms Billed Duration: 400 ms Memory Size: 128 MB Max Memory Used: 50 MB
Lambda 로그를 Cloudwatch에 기록할때 AWS 리소스끼리 통신해야 하기때문에 IAM Role이 필요하다
참고자료) https://docs.aws.amazon.com/ko_kr/lambda/latest/dg/monitoring-metrics.html
Lambda 함수 지표 작업 - AWS Lambda
지표의 타임스탬프는 함수가 호출된 시기를 반영합니다. 호출 기간에 따라 지표를 내보내기까지 몇 분이 걸릴 수 있습니다. 예를 들어, 함수에 10분의 제한 시간이 있는 경우 정확한 지표를 위해
docs.aws.amazon.com
https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html
Lambda execution role - AWS Lambda
The lambda:SourceFunctionARN condition key doesn't support Lambda function versions or function aliases. If you use the ARN for a particular function version or alias, your function won't have permission to take the action you specify. Be sure to use the u
docs.aws.amazon.com
'클라우드(AWS) > Lambda' 카테고리의 다른 글
[AWS] Lambda의 버전 관리를 위한 "Alias" 쉽게 정리 (feat. API Gateway) (0) | 2024.10.25 |
---|---|
[AWS] Lambda를 VPC에 배치하기 (VPC Access: Lambda가 프라이빗 서브넷에 접근하는 법) (0) | 2024.06.10 |
[AWS] AWS Lambda 쉽게 개념 및 특징 정리 (Serverless, Concurrency) (0) | 2023.10.06 |