Lambda 지속성 함수 구성
지속성 실행 설정은 Lambda 함수가 실행되는 기간과 서비스에서 실행 기록을 유지하는 기간을 제어합니다. 함수의 지속성 실행을 활성화하도록 이러한 설정을 구성합니다.
지속성 실행 활성화
실행 제한 시간 및 기록 보존을 설정하도록 함수를 생성할 때 DurableConfig 객체를 구성합니다. 함수를 생성할 때만 지속성 실행을 활성화할 수 있습니다. 기존 함수에서는 활성화할 수 없습니다.
구성 파라미터:
ExecutionTimeout- Lambda가 실행을 중지하기 전에 지속성 실행이 실행될 수 있는 최대 시간(초)입니다. 이 제한 시간은 개별 함수 간접 호출이 아니라 전체 지속성 실행에 적용됩니다. 유효 범위: 1~31,622,400.RetentionPeriodInDays- 지속성 실행이 완료된 후 실행 기록을 유지하는 기간(일)입니다. 이 기간이 지나면GetDurableExecutionHistoryAPI를 통해 실행 기록을 더 이상 사용할 수 없습니다. 유효 범위: 1~90.
전체 API 참조는 Lambda API 참조의 DurableConfig를 참조하세요.
구성 모범 사례
프로덕션용으로 지속성 함수 구성 시 다음 모범 사례를 따릅니다.
-
적절한 실행 제한 시간 설정 - 워크플로의 최대 예상 기간에 따라
ExecutionTimeout을 구성합니다. 제한 시간이 불필요하게 길면 비용 및 리소스 할당에 영향을 미치므로 너무 길게 설정하지 마세요. -
보존과 스토리지 비용의 균형 유지 - 디버깅 및 감사 요구 사항에 따라
RetentionPeriodInDays를 설정합니다. 보존 기간이 길수록 스토리지 비용이 증가합니다. -
상태 크기 모니터링 - 상태 객체가 크면 스토리지 비용이 증가하고 성능에 영향을 미칠 수 있습니다. 상태 크기를 최소화하고 대용량 데이터에는 외부 스토리지를 사용하세요.
-
적절한 로깅 구성 - 장기 실행 워크플로 문제를 해결하기 위해 세부 로깅을 활성화하되, 로그 볼륨과 비용에 대한 영향을 고려합니다.
프로덕션 구성 예제:
{ "ExecutionTimeout": 86400, "RetentionPeriodInDays": 7 }
이 예제에서는 24시간(86,400초) 실행 제한 시간(보존 기간은 7일)을 설정하여 대부분의 프로덕션 워크로드에 대한 스토리지 비용과 디버깅 가시성의 균형을 맞춥니다.