지속성 함수 모니터링
CloudWatch 지표, CloudWatch Logs 및 추적을 사용하여 지속성 함수를 모니터링할 수 있습니다. 지속성 함수는 장기간 실행되고 여러 개의 함수 간접 호출에 걸칠 수 있으므로 이를 모니터링하려면 체크포인트, 상태 전환 및 재생 동작을 비롯한 고유한 실행 패턴을 이해해야 합니다.
CloudWatch 지표
Lambda는 추가 비용 없이 CloudWatch에 지표를 자동으로 게시합니다. 지속성 함수는 표준 Lambda 지표 이외의 추가 지표를 제공하여 장기 실행 워크플로, 상태 관리 및 리소스 사용률을 모니터링하는 데 도움이 됩니다.
지속성 실행 지표
Lambda는 지속성 실행에 대해 다음 지표를 내보냅니다.
| 지표 | 설명 |
|---|---|
ApproximateRunningDurableExecutions |
RUNNING 상태의 지속성 실행 수 |
ApproximateRunningDurableExecutionsUtilization |
현재 사용 중인 계정의 실행 중인 지속성 실행 할당량의 최대 비율 |
DurableExecutionDuration |
지속성 실행이 RUNNING 상태로 유지되는 밀리초 단위의 시계 |
DurableExecutionStarted |
시작된 지속성 실행의 수 |
DurableExecutionStopped |
StopDurableExecution API를 사용하여 중지된 지속성 실행의 수 |
DurableExecutionSucceeded |
성공적으로 완료된 지속성 실행의 수 |
DurableExecutionFailed |
완료되었지만 실패가 발생한 지속성 실행의 수 |
DurableExecutionTimedOut |
구성된 실행 제한 시간을 초과한 지속성 실행의 수 |
DurableExecutionOperations |
지속성 있는 실행 내에서 수행한 누적 작업 수(최대: 3,000) |
DurableExecutionStorageWrittenBytes |
지속성 실행으로 인한 지속 누적 데이터의 양(최대: 100MB) |
CloudWatch 지표
Lambda는 지속성 함수에 대한 표준 간접 호출, 성능 및 동시성 지표를 내보냅니다. 지속성 실행은 체크포인트 및 재생을 따라 진행되는 가운데 여러 개의 함수 간접 호출에 걸칠 수 있으므로 이러한 지표는 표준 함수와 작동 방식이 다릅니다.
간접 호출: 재생을 포함하여 각 함수 간접 호출을 계산합니다. 지속성 단일 실행으로 여러 개의 간접 호출 데이터 포인트가 생성될 수 있습니다.
기간: 각 함수 간접 호출을 개별적으로 측정합니다. 단일 지속성 실행에 걸리는 총 시간에
DurableExecutionDuration을 사용합니다.오류: 함수 간접 호출 실패를 추적합니다. 실행 수준 실패에
DurableExecutionFailed를 사용합니다.
표준 Lambda 지표의 전체 목록은 Lambda 함수에 대한 지표 유형을 참조하세요.
CloudWatch 경보 생성
지표가 임계값을 초과할 때 알림을 보내는 CloudWatch 경보를 생성합니다. 다음은 일반적인 경보입니다.
ApproximateRunningDurableExecutionsUtilization- 할당량의 80% 초과DurableExecutionFailed- 임계값 이상으로 증가DurableExecutionTimedOut- 실행 제한 시간 초과DurableExecutionStorageWrittenBytes- 스토리지 제한에 근접
자세한 내용은 CloudWatch 경보 사용을 참조하세요.
EventBridge 이벤트
Lambda는 EventBridge에 지속성 실행 상태 변경 이벤트를 게시합니다. 이러한 이벤트를 사용하여 지속성 함수에서 워크플로를 트리거하거나, 알림을 보내거나, 실행 수명 주기 변경을 추적할 수 있습니다.
지속성 실행 상태 변경 이벤트
Lambda는 지속성 실행 상태가 변경될 때마다 EventBridge에 이벤트를 내보냅니다. 이러한 로그 파일의 특성은 다음과 같습니다.
소스:
aws.lambda세부 정보 유형:
Durable Execution Status Change
상태 변경 이벤트는 다음 실행 상태에 대해 게시됩니다.
RUNNING- 실행 시작SUCCEEDED- 성공적인 실행 완료STOPPED- StopDurableExecution API를 사용하여 실행 중지FAILED- 실행이 실패하고 오류 발생TIMED_OUT- 실행이 구성된 제한 시간 초과
다음 예제에서는 지속성 실행 상태 변경 이벤트를 보여줍니다.
{ "version": "0", "id": "d019b03c-a8a3-9d58-85de-241e96206538", "detail-type": "Durable Execution Status Change", "source": "aws.lambda", "account": "123456789012", "time": "2025-11-20T13:08:22Z", "region": "us-east-1", "resources": [], "detail": { "durableExecutionArn": "arn:aws:lambda:us-east-1:123456789012:function:my-function:$LATEST/durable-execution/090c4189-b18b-4296-9d0c-cfd01dc3a122/9f7d84c9-ea3d-3ffc-b3e5-5ec51c34ffc9", "durableExecutionName": "order-123", "functionArn": "arn:aws:lambda:us-east-1:123456789012:function:my-function:2", "status": "RUNNING", "startTimestamp": "2025-11-20T13:08:22.345Z" } }
터미널 상태(SUCCEEDED, STOPPED, FAILED, TIMED_OUT)의 경우 이벤트에는 실행이 완료된 시간을 나타내는 endTimestamp 필드가 포함됩니다.
EventBridge 규칙 생성
지속성 실행 상태 변경 이벤트를 Amazon Simple Notification Service, Amazon Simple Queue Service 또는 기타 Lambda 함수와 같은 대상으로 라우팅하는 규칙을 생성합니다.
다음 예제에서는 모든 지속성 실행 상태 변경과 일치하는 규칙을 생성합니다.
{ "source": ["aws.lambda"], "detail-type": ["Durable Execution Status Change"] }
다음 예제에서는 실패한 실행과만 일치하는 규칙을 생성합니다.
{ "source": ["aws.lambda"], "detail-type": ["Durable Execution Status Change"], "detail": { "status": ["FAILED"] } }
다음 예제에서는 특정 함수의 상태 변경과 일치하는 규칙을 생성합니다.
{ "source": ["aws.lambda"], "detail-type": ["Durable Execution Status Change"], "detail": { "functionArn": [{ "prefix": "arn:aws:lambda:us-east-1:123456789012:function:my-function" }] } }
규칙 생성에 대한 자세한 내용은 EventBridge 사용 설명서의 Amazon EventBridge 자습서를 참조하세요.
AWS X-Ray 추적
지속성 함수에서 X-Ray 추적을 활성화할 수 있습니다. Lambda는 X-Ray 트레이스 헤더를 지속성 실행에 전달하고, 이를 통해 워크플로 전체에서 요청을 추적할 수 있습니다.
Lambda 콘솔을 사용하는 추적인 X-Ray를 활성화하려면 함수를 선택하고, 구성, 모니터링 및 작업 도구를 선택하고, X-Ray에서 활성 추적을 켭니다.
AWS CLI를 사용하여 X-Ray 추적을 활성화합니다.
aws lambda update-function-configuration \ --function-name my-durable-function \ --tracing-config Mode=Active
AWS SAM을 사용하여 AWS X-Ray 추적을 활성화합니다.
Resources: MyDurableFunction: Type: AWS::Serverless::Function Properties: Tracing: Active DurableConfig: ExecutionTimeout: 3600
X-Ray에 대한 자세한 내용은 AWS X-Ray 개발자 안내서를 참조하세요.